With Scratch2MCPI, you can control Minecraft Pi Edition from Scratch on Raspberry Pi.
On the latest 2.0, it supports Minecraft Graphics Turtle.
Demo Movie on YouTube
- NOOBS 2.9.0 (2018-10-11)
- Raspberry Pi OS Bullseye (2021-12-8)
Install Minecraft Pi Edition if you don't have. You can either install from http://pi.minecraft.net/?p=68 or use the following installation script.(If you install Raspbian OS from the latest NOOBS, Minecraft Pi may be pre-installed. If the Minecraft Pi icon exists on the Desktop, skip this step.)
# curl http://scratch2mcpi.github.io/mcpi.sh | sh
Install Scratch2MCPI
# curl http://scratch2mcpi.github.io/install.sh | sh
- Start Minecraft, click "Start Game", then "Create New". Wait until the new world is generated.
- After the world is generated, double click Scratch2MCPI icon to start Scratch and Scratch2MCPI.
- On Scratch, click Green flag, and run the script. "hello minecraft" should be displayed on Minecraft chat window.
You can send the following commands by "broadcast" block of Scratch.
- hello_minecraft: Send "hello minecraft" message to chat section.
- setPos: Move the player to the position specified by Scratch variables: "mcpiX", "mcpiY", "mcpiZ".
- setBlock: Place the block at the position specified by Scratch variables: "mcpiX", "mcpiY", "mcpiZ". The block type and block data can be specified by Scratch variables: "blockTypeId" and "blockData".
- getPos: Get the current position of the player. The position values can be gotten by Scratch sensor values: "PlayerX", "PlayerY", "PlayerZ".
- getHeight: Get the y position of the highest block at the position specified by Scratch variables: "mcpiX" and "mcpiZ". The y postion can be gotten by Scratch sensor value "posY".
- pollBlockHits: Get the block event information of the last block hit by the player. The event info values can be gotten by Scratch sensor values: "blockEventX", "blockEventY", "blockEventZ", "blockEventFace", "blockEventEntityId".
- reset: [WARNING] Reset the world. This will delete clean up the world, so please be aware to use it.