Python
minecraft
RaspberryPi
python3

Minecraft Pi 基本操作からチートまで

はじめに

 Raspberry Piで無料でプレイできるマイクラ、「Minecraft Pi Edition」。基本操作からサバイバルモードの導入、Pythonによるプログラミングまで書いていく。

Minecraft Pi Editionとは?

 Raspberry Pi用に無料公開されているマイクラ。

サバイバルモードの導入

 Pi Editionにはサバイバルモードがない。サバイバル民には衝撃発言かもしれないが、「無料」という凄さと引き換えにアイテム数はたったの103、クラフトモードなし、レッドストーンもなし、Mobは何一つない。バージョン名は、「v0.1.1 alpha」。
 しかし世の中には「泣かぬなら作ってみようホトトギス」みたいなヒトがいる。Pi Editionでサバイバルモードが使えるようになるパッチがあるのだ。
 というわけで、ありがたく導入させていただく(方法はこちらを参考にさせていただいた)。
 まず、バイナリ差分プログラムbsdiffをインストール。

$ sudo apt-get install bsdiff

 移動して、

$ cd /opt/minecraft-pi

 パッチファイルをダウンロード。

$ sudo wget https://www.dropbox.com/s/iutdy9yrtg3cgic/survival.bsdiff

 で、適用。

sudo bspatch minecraft-pi mcpipatched survival.bsdiff

 最後に実行権限を付与して終わり。

sudo chmod +x mcpipatched

 これで

sudo ./mcpipatched

 を打てば実行できる。

基本操作

PC版と変わらない。一応記載しておく。

    
W   前進
A 右進
S 後退
D 左進
E インベントリ
shift スニーク
space 浮遊・着陸 

Pythonでのプログラミング

 Minecraft Piでは、ScratchやPythonなどによるプログラミングができる。今回はPythonを使用する。環境は以下の通り。

 PC:Raspberry Pi 3 Model B+
 OS:Raspbian GNU/Linux 9.4 (stretch)
 Minecraft Pi Edition v.0.1.1 alpha
 Python3.5.3

 Minecraft Piを起動してワールドを開いたら、以下のコマンドでPythonを起動する。

$ python3

 以下のプログラムを入力する。

>>> from mcpi import minecraft
>>> mc = minecraft.Minecraft.create()

 メッセージを表示するには、postToChat()を使う。

>>> mc.postToChat("Hello world!")
# =>Minecraft Piの画面にHello world!と表示される。

任意の座標に移動するには、player.setPos()を使う。

>>> mc.player.setPos(0, 1000, 0) #=>x=0, y=1000, z=0まで移動する。

 また、今の座標を取得するplayer.getPos()と合わせて以下のように使うこともできる。

>>> x, y, z = mc.player.getPos() #=>プレイヤーがいる座標を、xとyとzに代入する。
>>> mc.player.setPos(x, y+100, z) #=>その場で高度100まで上昇する。

 一つのブロックを置くには、mc.setBlock()を使う。

>>> x, y, z = mc.player.getPos()
>>> mc.setBlock(x+1, y, z, 1)

 4番目の引数はブロックのIDを表し、こちらのサイトで確認できる。
 

終わりに

 ・マイクラは楽しい。
 ・ラズパイはすごい。
 以上です。