空き地を作って建築しやすい場所を準備 マインクラフト&Python

空中に空き地を作るPythonプログラムを実行した結果 マインクラフト+Python
マインクラフト+Python

マインクラフトでPythonプログラムを動かすための「Raspberry Jam Mod」を使った、プログラミングサンプルの紹介と解説をしています。
Pythonのバージョンは 3.7.1

今回はマイクラプログラミングで空き地をつくる方法を解説してゆきます。
空き地の準備は建築の前作業として必要ですからね。
そしてマイクラの地形には、山や谷などのデコボコした場所が多くありますが、整地作業は面倒なのでPythonプログラミングで自動でやってしまう事が今回の目的です。

空気でブロックを消すという考え方

マインクラフトは様々なブロックが準備されていますが、実は「空気」というブロックも用意されているのです。
ブロックを消すということは、元々あったブロックを「空気」ブロックに置き換えるということ。

以前にブロックを設置するプログラムを解説しましたが、そのプログラムと全く同じ方法で「空気」ブロックを設置すれば、地形にあるブロックを消して平らな場所を作成することができます。

サンプルのPythonプログラムはこちら

x = 東西の座標を指定する数値
y = 高さの座標を指定する数値
z = 南北の座標を指定する数値
でしたよね。
カッコ内の最後にある「0」と設定している値が、「空気」のブロック番号がです。

単純に空き地を作るPythonプログラム

今回は setBlocks を使って、プレーヤのまわりにある複数のブロックを空気ブロックに置き換えて平らな場所を作成してみましょう。
実際のプログラミング例はこちら。
ご自身の環境で動かしてみたい場合は、以下の場所に保存してください。
ファイルパス(Macの場合)
/Users/ユーザ名/Library/Application Support/minecraft/mcpipy/flat.py

これでプレーヤの東側に10マス ☓ 10マスの空き地ができました。

空き地をつくるPythonプログラムを実行した結果

しかし、たまたま空き地を作った場所に洞窟があって、平たい場所にポッカリと穴が空いてしまうことも考えられますよね。
なのでプレーヤの足元に石の土台を作ってあげたほうが良さそうです。

空き地と土台を作り、真ん中にテレポートするPythonプログラム

「空き地作り」と「土台作り」の2つの事を同時におこなうプログラミング例はこちら。
ご自身の環境で動かしてみたい場合は、以下の場所に保存してください。
ファイルパス(Macの場合)
/Users/ユーザ名/Library/Application Support/minecraft/mcpipy/flat2.py

最初に紹介したプログラム「flat.py」と変わった点は、36行めから44行めにある「土台づくり」と「真ん中にテレポート」という部分です。
これでもし洞窟やマグマを掘り当てたとしても、石で整地しますので何ら問題はありません。
実行の結果は以下の画像でご確認ください。

空き地をつくって土台をつくるPythonプログラムを実行した結果

もう少し使いやすく改造してみましょう。

自分を中心に空き地と土台をつくるPythonプログラム

自分がいま立っている足元を中心として、まわりを空き地にするプログラミングです。
ご自身の環境で動かしてみたい場合は、以下の場所に保存してください。
ファイルパス(Macの場合)
/Users/ユーザ名/Library/Application Support/minecraft/mcpipy/flat3.py

上記プログラムでは、いったん
x,y,z = mc.player.getPos()
で自分の位置情報を取得してきていますが、25行めから27行めにあるように
x = x – (num/2)
z = z – (num/2)
で東西位置の座標・南北位置の座標を、自分が中心となるよう調整しています。
その後、調整した座標にしたがって空き地を作った結果、自分が中心となる場所ができたわけです。
数値をちょっと工夫するだけで、とても使い勝手が良くなりましたね。

自分を中心に空き地をつくるPythonプログラムを実行した結果

土台を自動で作ってくれるプログラムですので、空中に空き地を作る事だって可能なのです。

空中に空き地を作るPythonプログラムを実行した結果

このPythonプログラムを使えば空中庭園も簡単に実現しますね(笑)


タイトルとURLをコピーしました