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)
python
m.setBlocks(0, 80, 0, 15, 80, 15, block.STONE.id)
python
m.setBlocks(0, 80, 0, 512, 80, 512, block.STONE.id)
python
for x in range(30):
for z in range(30):
m.setBlock(x, 81, z, block.WOOL.id, x * z % 16)