image Minecraft: Pi editionはTCPでパケットを送って任意座標にブロック配置ができる

  • クライアント側はPythonライブラリmcpiがある
  • Bukkit系サーバにこのプロトコルを追加するプラグインがRaspberryJuice

mcpi: Python library for communicating with Minecraft: Pi edition and RaspberryJuice. https://github.com/martinohanlon/mcpi API REFERENCE https://www.stuffaboutcode.com/p/minecraft-api-reference.html

RaspberryJuice: A Bukkit plugin which implements the Minecraft Pi Socket API. https://github.com/zhuowei/RaspberryJuice

python

from mcpi import minecraft
m = minecraft.Minecraft.create(SERVER_IP_ADDRESS, 4711)
m.setBlock([X, Y, Z, ID])

デフォルトの設定ではスポーンポイントからの相対座標なので期待したところにブロックが作られなくて混乱した。 初回起動時に作られる設定ファイルを変更して再起動することが必要だった

python

from mcpi import block
m.setBlock(0, 80, 0, block.STONE.id)

image

python

m.setBlocks(0, 80, 0, 15, 80, 15, block.STONE.id)

image

python

m.setBlocks(0, 80, 0, 512, 80, 512, block.STONE.id)

image

python

for x in range(30):
	for z in range(30):
		m.setBlock(x, 81, z, block.WOOL.id, x * z % 16)

image