好きなブロックを指定した場所に自動で設置する方法 マインクラフト&Python

いろんな種類のブロックをPythonコードで設置してみた。マインクラフト マインクラフト
マインクラフト
Pocket

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

今回はマイクラプログラミングの基本ともいえる、ブロックを設置するPythonプログラミングについての解説をしてゆきましょう。
ポイントは2つ。

  1. 好きなブロックを1個設置する。
  2. たくさんのブロックを一気に設置する。

setBlock でブロックを1個設置する

まず最初に、ブロックを1個設置するプログラムの一部を紹介すると

という書き方があります。
mc.setBlock のあとに続くカッコの中身は、
x = 東西の座標を指定する数値
y = 高さの座標を指定する数値
z = 南北の座標を指定する数値
1 = ブロックの種類を指定する値
で、「1」と書かれたブロックは灰色のコンクリートのような石を意味します。

実際のプログラミング例を見てゆきましょう。
ご自身の環境で動かしてみたい場合は、以下の場所に保存してください。
ファイルパス(Macの場合)
/Users/ユーザ名/Library/Application Support/minecraft/mcpipy/block.py

このプログラムを実行する方法は、チャットメッセージの投稿部分に
/py block
と入力し、エンターキーを押せば実行されます。ファイルの拡張子「.py」の記入はいりません。

実行の結果、以下のようなブロックが生成されます。

指定したブロックを1個ずつ積み上げた例。マインクラフト&Python

setBlocks で複数のブロックを設置する

次に、複数のブロックを1回の命令で設置するプログラムは以下のように書きます。

という書き方です。
これは高さ5ブロックぶんの壁を作るプログラムで、mc.setBlocks (Block の複数形である Blocks)のあとに続くカッコの中身は、
x = 東西の座標を指定する数値(起点)
y = 高さの座標を指定する数値(起点)
z = 南北の座標を指定する数値(起点)
to_x = 東西の座標を指定する数値(終点)
to_y = 高さの座標を指定する数値(終点)
to_z = 南北の座標を指定する数値(終点)
12 = ブロックの種類を指定する値(今回は砂ブロック)
であり、x, y, z で指定する起点(はじまりの場所)から to_x, to_y, to_z で指定する終点(終わりの場所)の範囲内を、指定するブロックで埋め尽くすという意味になっています。

mc.setBlock は1個のブロックしか設置できませんでしたが、
mc.setBlocks を使うことで、板や壁、高くて太い柱などを1回のプログラムで作ることが可能です。

実際のプログラミング例を見てゆきましょう。
ご自身の環境で動かしてみたい場合は、以下の場所に保存してください。
ファイルパス(Macの場合)
/Users/ユーザ名/Library/Application Support/minecraft/mcpipy/blocks.py

このプログラムを実行する方法は、チャットメッセージの投稿部分に
/py blocks
と入力し、エンターキーを押せば実行されます。ファイルの拡張子「.py」の記入はいりません。

実行の結果、以下のような砂の壁ができあがります。

砂の壁をPythonプログラムで設置。マインクラフト

設置できるブロックの種類はいっぱいある

その他のブロックの種類をちょっとだけ紹介すると、
1 = 石
2 = 土と平坦な草
3 = 土(泥)
4 = 玉石
5 = 材木
6 = 苗木
7 = 岩盤
があります。
その他、みんなが好きそうなブロックとして
10 = 溶岩
46 = TNT(爆薬)
も用意されているほか、数百種類のブロックを指定することが可能です。

いろんな種類のブロックをPythonコードで設置してみた。マインクラフト


どんなブロックの種類が用意されているのかについては、別の機会に紹介したいと思います。
いろいろな場所にブロックを設置して、ちょっとした家を作ってみましょう。

Pocket

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