Skip to content
A Go library for the Minecraft Raspberry Pi edition API
Branch: master
Clone or download
Latest commit 2d4dfd7 Aug 6, 2019


Build Status GoDoc

This library enables you to use the Minecraft Pi Edition API from Go. Each connection uses a single socket and commands are sent over channels, making it safe to use the API from different goroutines.

中文版本README: 用go語言翻轉Minecraft - go-mcpi-api

Also see FrozenKP's version.


What is MCPI ?

MCPI is an API which can let you control Minecraft with code.

It's original edition was written with python; you can learn it here.

Can I using it with a normal edition Minecraft ?

Yes, you can. You can refer to this project.


var c mcpiapi.Connection
c.Open("", "player1")
defer c.Close()

go func() { c.Chat().Post("Hello, World!") }()
go func() { c.Chat().Post("Hello again!") }()

err = c.World().SetBlock(0, 0, 0, mcpiapi.GOLD_BLOCK, 0)
if err != nil {

Pocket Edition Information

Block types are 0-108. See the Minecraft Wiki for information on block values.

Block data is 0-15, and is used to specify extra characteristics like wool color.

Regarding the coordinate system, (0,0,0) is where the world was spawned and is sea level. (X,Z) represents the ground plane while Y points to the sky.

Be sure and read the Minecraft Pi Edition API speificication which is included in the installation at mcpi/api/spec/mcpi_protocol_spec.txt.

The library includes some utility functions for shapes - more may be added over time.

NOTE: Events have not been tested.


go get
You can’t perform that action at this time.