I wanted to make a tool for Minecraft utilizing Git(Hub)s powerful existing ecosystem.
At first I tried having all of the logic controlled from within Minecraft but I quickly found that the scope of this task was far too big. Because of this I made the decision to instead rely on tools such as Github Desktop and Github's web interface. By doing so I saved myself a significant amount of time and risk, and as both Github Desktop and the web interface are very well designed I don't feel like the project suffers from not having these features directly embedded.
Other than the aforementioned issues the project went oddly smoothly. I'm very happy with how the 'commit replay' function works and I'm somewhat surprised by how well the overall project works. I can thank JGit for much of this, it wasn't perfect for my needs but I was able to manipulate it into functioning (The most glaring example of this being how I used it to read the commit history). Eventually I'd like to have an in-game interface for dealing with merge conflicts, one that allows a visual method for selecting changes from conflicting branches.
If used correctly I think that GitCraft could be utilized as a strong tool for sharing and collaborating on builds. By Minecraft's very nature the possibilities for this could be infinite: The example I have been thinking over is a large structure held in a public GitHub repo which any number of users could edit in a massive collaborative effort.

Log in or sign up for Devpost to join the conversation.