Minecraftを走らせて世界を創り上げたら、Tabキーを押してあなたのマウスを解放します。アプリケーションメニューからPython 3を開き、ウィンドウを左右に移動させます。 コマンドを直接Pythonウィンドウに入力するか、ファイルを作成してコードを保存してもう一度実行することができます。
ファイルを作成する場合は、[ファイル]> [新規作成]、[ファイル]> [保存]の順に選択します。ホームフォルダまたは新しいプロジェクトフォルダに保存することをお勧めします。
まず、Minecraftライブラリをインポートし、ゲームへの接続を作成し、画面に「Hello world」というメッセージをポストしてテストします。
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
mc.postToChat("Hello world")
コマンドを直接Pythonウィンドウに入力する場合は、各行の後にEnter
キーを押してください。ファイルの場合はCtrl + S
で保存し、F5
で実行します。コードが実行されると、ゲームの画面にメッセージが表示されます。
現在地を見つけるには、次のように入力します。
pos = mc.player.getPos()
pos
にはあなたの場所が含まれています。座標セットの各部分にpos.x
、pos.y
、pos.z
でアクセスします。
別の方法として、座標を別々の変数にするには、Pythonのアンパック手法を使用するのが良い方法です。
x, y, z = mc.player.getPos()
x
, y
, z
には、それぞれの位置座標が含まれています。 x
, z
は歩行方向(前後左右)、 y
は上下方向です。
getPos()
はその時点のプレーヤーの位置を返します。位置を移動する場合は、関数を再度呼び出すか、格納された位置を使用する必要があります。
あなたの現在の場所を見つけるだけでなく、テレポートする特定の場所を指定することもできます。
x, y, z = mc.player.getPos()
mc.player.setPos(x, y+100, z)
これはあなたのアバターを空中の高さ100のところに運びます。これは、空の真ん中にテレポートして、あなたがこの世界を始めた場所に戻ることを意味しています。
別の場所にテレポートしてみてください!
mc.setBlock()
を使用して、与えられた座標セットに1つのブロックを置くことができます。
x, y, z = mc.player.getPos()
mc.setBlock(x+1, y, z, 1)
あなたの立っている所の前に石ブロックが現れます。それがあなたのすぐ前になければ、それはあなたの横にあるかもしれません。Minecraftウィンドウに戻り、あなたの目の前に灰色のブロックが現れるまで、マウスを使ってその場で回転して見てください。
set block
に渡される引数はx
、y
、z
、id
です。(x, y, z)
は世界の位置を指しています(プレイヤーがx+1
で立っている場所から1ブロック離れて指定されています)。id
は配置したいブロックのタイプを表します。1
は石です。
あなたが試すことができる他のブロック:
空気: 0
草: 2
土: 3
ブロックが見えたら、別のものに変更してみてください:
mc.setBlock(x+1, y, z, 2)
目の前で灰色の石ブロックの変化が見られるはずです!
名前を知っていれば、ブロックを設定するためにinbuiltブロック定数を使うことができます。しかし、最初に別のimport
行が必要になります。
from mcpi import block
今度はブロックを配置するために次のように書いてください。
mc.setBlock(x+3, y, z, block.STONE.id)
ブロックIDは簡単に推測することができます。すべてのCAPSを使用するだけですが、ここではその名前に慣れさせるためのいくつかの例を示します。
WOOD_PLANKS
WATER_STATIONARY
GOLD_ORE
GOLD_BLOCK
DIAMOND_BLOCK
NETHER_REACTOR_CORE
ブロックのIDを知っていれば、それを変数として設定すると便利です。名前または整数IDを使用できます。
dirt = 3
mc.setBlock(x, y, z, dirt)
または
dirt = block.DIRT.id
mc.setBlock(x, y, z, dirt)
追加のプロパティを持ついくつかのブロックがあります。例えば、色を指定できる追加の設定を持つWoolです。これを設定するには、setBlock
のオプションの第4パラメータを使用します。
wool = 35
mc.setBlock(x, y, z, wool, 1)
ここで、第4パラメータ1
は、羊毛の色はオレンジ色に変わります。4番目のパラメータがなければ、デフォルト(0
)に設定されます。これは白です。他にもいくつかの色があります。
2: Magenta
3: Light Blue
4: Yellow
さらにいくつかの数字を入力してブロックの変化を見てみましょう!
追加のパラメータを有する他のブロックは、木材(17
)であるオーク、トウヒ、白樺や、背の高い草(31
)である低木、草、シダ、さらに松明(50
)は東、西、北、南を指します。 もっと。 詳細については、API reference を参照してください。
setBlock
を使用して1つのブロックを設置するだけでなく、setBlocks
を使用して一度に多くの領域を埋めることができます。
stone = 1
x, y, z = mc.player.getPos()
mc.setBlocks(x+1, y+1, z+1, x+11, y+11, z+11, stone)
このプログラムは、10×10×10の立方体の中を石で埋めます。
setBlocks
関数でより大きな体積の直方体を作成できますが、生成に時間がかかることがあります!