Minecraft is a hugely popular game that runs on PC, Xbox, PlayStation, and even smartphones. It's the best-selling PC game of all time and has become a worldwide sensation with obsessive players around the world, a large online community, and a vast array of merchandise. Many people enjoy building complicated structures and even creating their own interactive systems using only the mechanics of the game.
The free Raspberry Pi version of the game is the only one that comes with a programming interface, allowing players write code and manipulate the world around them. It's based on Minecraft Pocket Edition for Android, and a Python API is provided. It's bundled with Raspbian, the Pi's main supported distribution, and it's being used to teach programming skills to young people around the world.
You can explore the Minecraft world with your mouse and keyboard, place blocks and build things manually, but the fun really starts when you open up a Python window alongside Minecraft and start sending commands into the world.
Minecraft Python API
So, what can you do from the Python API?
Get your player's coordinates, and use these to teleport to another location in the worldwide.
Set a block at a particular set of coordinates (perhaps right in front of your player), or set multiple blocks in a cube or cuboid. There are 70 block types available, including stone, grass, dirt, water, lava, snow, ice, flower, melon, and TNT.
Use infinite loops to keep placing blocks behind your player as he walks or build a house and get it to follow you wherever you go.
Change the “camera” viewpoint, i.e. how you view the world.
Keep track of what has happened to a particular block, and use events to trigger other actions.
The TNT blocks can be activated by the player hitting one with a sword.
With this set of functionality available, it is possible to create amazing structures autonomously, create games and interactive applications. Combined, the functions can be used in interesting and imaginative ways.
Watch this amazing Minecraft Pi recreation of a scene from Star Wars:
And recreate it for yourself by downloading the code!
Learn how fractal trees are generated and write code to build your own.
Minecraft in Education
We've found this version of Minecraft to be a valuable learning tool that gives young people the chance to learn programming in a domain they can relate to, and one which motivates them to use code to solve problems.
Minecraft has been pre-installed in Raspbian for about a year now, so you may already have it.
If you have an older Raspbian image, just run:
sudo apt-get update<br /><br /> sudo apt-get install minecraft-pi
This article is part of Ben Nuttall's Raspberry Pi column, where he shares news and stories from the world of tiny computing.