What it does
Acapella is a Fabric Minecraft mod that give access to a command "/beatMinecraft". When run, our AI takes over and (in theory) beats the game with no human interaction.
How we built it
This bot is based on the pathfinding algorithms in another mod called "Baritone". We adopted it as a dependency and used the Fabric mod API for Minecraft to build the rest of our mod. (Maven and Gradle).
In terms of how it beats Minecraft, we implemented a state machine with a stack. The grand task of defeating the Enderdragon pushes states onto the stack that first must be reached in order to accomplish the greater goal. The tasks themselves were created painstakingly by our team.
Challenges we ran into
Overall, Fabric, Baritone, and Minecraft itself had very poor documentation. While the functions were listed, why and how they all worked had to be sussed out manually and with lots of trial and error. Most of the time, other resources were out of date.
On a more mysterious note, all 3 of us also encountered a strange occurrence where the java language server would gobble up more and more memory until it ran our computers out. This would happen infrequently throughout the day and with no apparent cause. In one case, it persisted for many hours through restarts and recompilations. We still have no idea why this happened, but it was a looming specter we joked about.
Accomplishments that we're proud of
In the end, we were able to automate 90% of the tasks involved in beating a game of Minecraft. We imported schematic files to automate building structures necessary for winning and developed many robust systems in our stack machine design for making new states and interfacing with Minecraft itself. We had basically no experience modding Minecraft before this, so to be able to make such a sophisticated system in a day was pretty cool for us.
What we learned
Let me tell you, based on the amount of resources we found online, not a lot of people have the specific knowledge about how Fabric, Baritone, or Minecraft's own code works, and after slogging through so much of it, we all have the expertise required to build more Minecraft mods in the future.
What's next for Acapella
We're definitely considering finishing the final tasks we didn't get to automating, but also, our design is appliable to other Minecraft bots as well. With a different set of states and actions, our architecture can be retuned to do basically anything in Minecraft.
Log in or sign up for Devpost to join the conversation.