The game Minecraft has been extremely successful in the last five years, with over 106 million copies sold, making it the second best-selling video game up to date. Its educational capabilities have been exploited in a variety of ways already across the world. In this project, we try to improve the ways that programming can be taught to young learners, by employing a modification (mod) of the game.

The possibility to employ Python to alter a Minecraft world in real time has been around for a number of years, provided by the game’s creators. However, we believe that the usual text editor & console duo is daunting for young learners or people with limited programming experience. To overcome these difficulties, this mod attempts to gamify the programming experience, where players can write Python scripts which get ported inside the game as Python script objects, which can be held, dropped, and used with the click of a mouse. This resembles the way that any other weapon, tool or block is used within the game. Any number of different Python scripts can be put in the player’s inventory, and they can be all used together in an interactive way.

Detailed installation and user guides can be found in the project’s website. We recommend the book Adventures in Minecraft by David Whale and Martin O’Hanlon to learn more about Python programming and Minecraft.

From a technical perspective, PythonTool is made with Java using the Forge modding framework. It supports several recent versions of Minecraft and the mod’s .jar files are built automatically using CircleCI upon Github commits, and uploaded to the downloads section of the official website.

License: MIT DOI

PythonTool-Mod by Alvaro Perez-Diaz and Hans Fangohr is available under an MIT license. DOI 10.5281/zenodo.801627.