My daughter has been playing Minecraft enthusiastically for more than a year now. Of course, my first thought as a programmer Mom was that this was my chance to rope her into programming. “Game mods!” I thought to myself, were the way so many people who started programming young got into it. She and I have played around with Scratch, so here was my opportunity to take things to the next level.
Googling around for “Minecraft mod tutorials” yielded a whole lot of low quality, complicated tutorials. After looking into it for a while, I determined that this is because the whole approach to Minecraft modding is complex: it involves decompiling the Minecraft Java source, modifying, and rebuilding the game. Not quite the way I’d go about teaching kids to code. But, alas, since Minecraft was so motivating for my daughter, I figured, given my Java expertise, we’d push ahead anyway.
So after some failed attempts and a lot of frustration, we settled on using the Minecraft Forge system. Minecraft Forge is a tool that both allows you to load mods and provides an API for creating your own. Next, I wanted some very simple tutorials that would get us setup – start to mod – in a straightforward, non-frustrating manner. The best I found were Wuppy’s Mods and Modding. His videos were very clear. Then, when we hit roadblocks, the solutions were in his text tutorials. My daughter did most everything. There was one point where there were some missing dependencies, though, and I ended up taking the computer away from her. I asked her to take a break while I did some trial and error troubleshooting. That goes against my beliefs in letting the student drive everything when working on a project like this, but, in this case, it was worth it to avoid some frustration that would have likely derailed our fun dev session.
Having been a Java developer certainly helped me overcome some problems.
1. I had to set the Java heap size while running the gradlew command
export JAVA_OPTS="-Xms256m -Xmx512m"
2. I needed some concept of dependencies and build tools
3. Advanced troubleshooting skills also came in handy
After that was solved, it was smooth sailing from there. My daughter created her own mod class and added some Minecraft recipes (I was no help here; she intricately knew the ins and outs for how this all worked… something about “crafting”) We walked through each line of code and talked about what each part did. Then we built, ran, and voila, she was turning dirt into butter.