【ラズパイ 400】Pythonでプログラミング可能なマイクラを遊ぼう

【Raspberry Pi 400】Pythonでプログラミング可能なマインクラフトを遊んでみた

こんにちは! けい(Twitter)です。

今回は日本語版キーボード一体型のRaspberry Pi 400を使って、マイクラを遊んでいきたいと思います。

また、Pythonでのプログラミングも可能なのでそちらも少し紹介していきたいと思います。

Raspberry Pi 400の準備

開封からセットアップまで

Raspberry Pi 400を購入したら、ラズパイ本体にOSをインストールする必要があります。
そちらは前回の記事にまとめているので、参考にしてみてください。

ラズパイ専用Minecraft「Pi Edition」

マイクラには、ラズパイ専用に開発された「Pi Edition」というモデルが存在します。

Pi Editionとは

現在では開発が中止されていますが、下記の特徴があります。

  • クリエイティブモードのみ
  • ワールドの大きさが固定
  • 複数のプログラミング言語に対応
  • 初級プログラマーの教材用

Minecraft wiki参照

要するに、ラズパイで動作するプログラミング教育向けに開発されたマインクラフトです。

今回は、こちらの「Pi Edition」をラズパイ400で遊んでいきます。

普通のPCで動作する「Java版」のマイクラも一応ラズパイで動作させることが出来ますが、そちらは有料になるので今回は紹介しません。

マイクラのインストール

Raspberry Pi OSがインストールされていることを前提として進めていきます。

「設定」→「Recommended Software」の順にクリックします。

「Games」から「Minecraft」を選択し、「Apply」をクリックします。

これでインストールが始まります。

ラズパイでマイクラを遊んでみる

「ゲーム」にMinecraftが追加されているので、クリックして起動させます。

v0.1.1alphaというバージョンのMinecraft「Pi Edition」が起動します。

新しいワールドを作って遊んでみます。

クリエイティブモードのマイクラとして遊ぶことができます。

クラフトはできませんが、 無料で遊べてマイクラの世界を楽しむにはいいですね。

Pythonでマイクラの世界をハックする

マインクラフトをPythonで操作する方法についてはこちらのサイトを参考にしています。

tnt爆弾を自分のいる座標に設置する

それでは、Pythonでマイクラの世界をハックする方法についてご紹介していきます。

マイクラを開いたまま、「Thonny Python IDE」を開きます。

次のコードを適当な名前のPythonファイル「tnt.py」として保存し、実行します。

from mcpi import minecraft
import time

mc = minecraft.Minecraft.create()

x,y,z = mc.player.getPos()
tnt = 46
mc.setBlock(x,y,z,tnt,1)

実行すると、自分のいる座標にTNTが出現します。

範囲指定でブロックを設置する

続いて、座標の範囲を指定して複数のブロックを設置してみましょう。

先ほどはある座標1点を指定しましたが、今回は2点の座標を指定します。

from mcpi import minecraft
import time

mc = minecraft.Minecraft.create()

x,y,z = mc.player.getPos()
tnt = 46
mc.setBlocks(x,y,z,x+5,y+5,z+5,tnt,1)

(x,y,z)が1点目の座標で、(x+5,y+5,z+5)が2点目の座標です。
この2点を直方体の対角の頂点として、直方体のブロックを生成します。

5×5×5の合計125個のブロックを設置できました。

繰り返し文を使う

続いて、繰り返し文を使って「一定時間が経過すると現時点の座標にブロックを生成する」プログラムを作成していきましょう。

from mcpi import minecraft
import time

mc = minecraft.Minecraft.create()
tnt = 46

while True:
    x,y,z = mc.player.getPos()
    mc.setBlock(x,y,z,tnt,1)
    time.sleep(1)

while文は、無限に中身の処理を繰り返します。

whileの中で以下の処理を行っています。

  1. 現在地の座標(x,y,z)の取得
  2. (x,y,z)にブロックを設置
  3. 1秒間一時停止

実行すると、自分が通った道にブロックが生成されていることが確認できます。

最後に

今回はRaspberry Pi 400でマイクラを遊び、Pythonでマイクラを操作してみました。

無料版ということもあってできることは限られますが、Pythonの学習にはぴったりですね。

ラズパイをお持ちの方は、ぜひ一度マイクラをPythonで動かして遊んでみて下さい。
プログラムでゲームを動かすのは結構楽しいです。

動画でもまとめているのでぜひ。