I first got into Minecraft in the (Australian) Summer of late 2010, after being introduced to the game by a friend. I was 12 and heavily involved in The Powder Toy community. After spending over a year writing mods and contributions for The Powder Toy, a few community members and I decided to try something different and started a Minecraft server.

CraftBook

I've been very interested in electronics from a young age, so the game's Redstone system immediately caught my eye. In the wake of the death of the modding platform hMod, I found a small plugin written by sk89q called CraftBook. CraftBook instantly appealed to me. However, all of what I considered to be the most remarkable features listed on the wiki didn't yet exist for Bukkit.

My Java experience was quite limited at the time, mostly just making small-scale plugins for servers I ran. I also dabbled in writing proof of concept cheats to see how the game worked, as I am interested in security research. After about a year of running a server and making Bukkit plugins, I decided to volunteer to port a few features of CraftBook to Bukkit.

Joining the Team

On the 24th of April 2012, I joined #sk89q on irc.esper.net and greeted sk89q, wizjany, and Lymia. When I offered to assist, sk89q did something which surprised me... He gave me write access to the repository. A few years later, I asked why he just straight up gave me write access. He said that worst-case, he still had a backup and giving me write access was more likely to motivate me to continue the project. He was right. Due to the path CraftBook set me on, I don't believe a single person has influenced my professional life (and non-professional to an extent) more than sk89q.

Poor Design Skills

What followed were four weeks of me adding every random idea that I'd ever had for the plugin into it without any sense of order or design. Realistically this didn't end there, with me rewriting sections of code every time I learnt about a new pattern or system. Looking back on the mistakes I made here was a significant learning opportunity for me. I learnt the importance of design and structure for a product.

Expanding in the Community

During this time, having the CraftBook project under my name landed me a few jobs at some larger Minecraft servers. For these servers, I made custom plugins and helped start multiple large projects that shaped the way Minecraft as a community grew. I became a part of a few development teams as well, such as the VoxelBox Plugineering Team. However, my place on that team was relatively short-lived as I didn't have the time to commit, and the person who ran the group vanished. It was still an exciting experience, meeting many YouTubers who I'd looked up to at that point, as well as working in a structured team setting.

The Death of Bukkit

In September 2014, things took a weird turn with the death of the Bukkit project. sk89q and a few other community leaders scheduled a community meeting to occur in an IRC channel called #nextstep. In this meeting, we decided that we'd start a new server platform which ended up turning into SpongePowered, or Sponge for short.

Sponge

sk89q brought me onboard the Sponge project, which started what was in my eyes a much more professional position in the community. I was no longer working on these projects because I wanted to play with them; I worked on them as I wanted to benefit the community and keep my plugins alive. Working in a team this size also was a new experience for me, and I feel much improved my capabilities as a software engineer. I also got exposed to the IDE holy wars, which resulted in Grum successfully converting me to IntelliJ.

Sponge Team at MINECON in 2015

Sponge Team at MINECON in 2015

Sponge was also a much bigger project, and some large yet isolated members of the community were starting to catch wind of the projects I'd been an uncredited part of. At this point, I was contracted to write plugins and mods for the biggest Minecraft servers, some of the top 10 Minecraft YouTubers of all time, and even a famous musician.

I also had the opportunity to fly with the Sponge team to London and Los Angeles for Minecon 2015 and 2016, respectively. Events that have massively changed me as a person. I met so many people there, as well as finally meeting some I'd known for years face to face.

Sponge Team at MINECON in 2016

Sponge Team at MINECON in 2016

Conclusion

The way the Minecraft community has changed me has helped me become who I am today, solidly grounded in the tech community in my city, and landing me real jobs as a software engineer. While I'm now considerably less active in the community, it'll always be something that I'm thankful I got to be a part of. It's great knowing that almost every player who has played on a public Minecraft multiplayer server has been exposed to code that I've written. Together, the Minecraft community has shaped the lives of many people.

Thanks: sk89q, Mojang, the Sponge team, and everyone else who's been with me along the way.

Maddy Miller

This article was written by Maddy Miller, a software engineer at Clipchamp. In her spare time she works on writing articles, as well as developing the Minecraft mods WorldEdit, WorldGuard, and CraftBook.