ブロック設置
目標 : 自分の頭上に DIAMOND_OREブロックを置く!
ながれとしては、
1 自分の座標を取得する
2 自分の座標の上にブロックを設置する
練習 自分の座標を取得し、チャットエリアに表示する
注意点として、F3を押して表示される x,y,x とは、異なります。
特に、y が、F3の場合と大きく異なり、
F3 : yは岩盤が0かな?
API: yは水面が0かな?
import mcpi.minecraft as minecraft mc = minecraft.Minecraft.create() playerPos = mc.player.getPos() mc.postToChat("Pos : " + str(playerPos))
出力
Pos : Vec3(941.7811125650827,-49.0,449.30000001192093)
注釈
.create(address = "localhost", port = 4711)
本番
import mcpi.minecraft as minecraft import mcpi.block as block mc = minecraft.Minecraft.create() playerPos = mc.player.getPos() mc.setBlock(playerPos.x, playerPos.y+2, playerPos.z, block.DIAMOND_ORE)
サンプルに含まれている、helloworld.py
ほぼそのままです。
playerPos.y+2 とすることで、自分の足元(下半身)から、2ブロック分上(自分の頭上)に、 ブロックを出現させています。
コマンド実行
方法1 チャットエリアから
/ を押してチャットモードに入り、
/py sample
方法2 Windowのコマンドラインから
コマンドプロンプトを出し(cmdなど)、スクリプト保存フォルダから、
PS C:\Users\***\AppData\Roaming\.minecraft\forge.1.9\mcpipy> python.exe .\sample.py
上記サンプルでは、forge.1.9というデータフォルダを作成し、そこに mcpipy を作成しています。
改良1 ブロックを変える
サンプルを改良してみましょう
設置するブロックを変更する
mc.setBlock(playerPos.x, playerPos.y+2, playerPos.z, block.DIAMOND_ORE)
の、block.DIAMOND_ORE
を書き換えれば、いかにも別のブロックを設置できるようになりそうですが、
まさにその通りです。
例えば、
mc.setBlock(playerPos.x, playerPos.y+2, playerPos.z, block.DIAMOND_BLOCK)
として実行すると、
ダイヤモンドブロックが設置されました!
どのようなブロックが利用可能なのかは、APIを見てください。
<Stuff about="code" />: Minecraft API
改良2 複数のブロックを設置する
次に、頭上に1つではなく、2つ設置しましょう。 2つ上と、3つ上にしましょう。
import mcpi.minecraft as minecraft import mcpi.block as block mc = minecraft.Minecraft.create() playerPos = mc.player.getPos() mc.setBlock(playerPos.x, playerPos.y+2, playerPos.z, block.DIAMOND_BLOCK) mc.setBlock(playerPos.x, playerPos.y+3, playerPos.z, block.DIAMOND_BLOCK)
Minecraft API
<Stuff about="code" />: Minecraft API
移動系
import time import mcpi.minecraft as minecraft mc = minecraft.Minecraft.create() mc.postToChat("Hello World!") playerPos = mc.player.getPos() mc.postToChat("Pos : " + str(playerPos)) time.sleep(1) mc.player.setPos(0.0,20.0,0.0)
移動先で、足元に何もなければ、落下します。 移動先にブロックがあると、埋まります。
Forge + Raspberry Jam Mod + Python3
インストールと設定
2016-05-24 現在 マインクラフトの最新バージョン 1.9.4
Raspberry Jam Mod
Raspberry Jam Modの最新バージョン 1.9.4対応
Releases · arpruss/raspberryjammod · GitHub
This is the same as 0.66 basically, but repacked to also work with Forge for 1.9.4.
Forge
Forgeの最新バージョン 1.9.4 対応 Minecraft Forge
プロファイルを作成する データディレクトリをバージョンごとに分ける
"Use version" で、 release 1.9-forge・・・ を選択する。
mod フォルダに、RaspberryJamMod.jar
を入れる。
python3-scripts.zip(Python2 なら、python2-scripts.zip なのかな?) を展開し、データフォルダ直下mcpipy
フォルダに入れる。
動作テスト
ゲームを起動し、動作テストする。 ゲームモードは、クリエイティブが、無難。
/gamemode 1
動作テスト1
マインクラフトのチャットコマンドからスクリプトを実行する。
/py nt7s_sphere
結果
動作テスト2
Windowsのコマンドラインから、Pythonスクリプトを実行して、マインクラフトを操作する。
スクリプトは、mcpipy
フォルダに入れる。
hw.py
import mcpi.minecraft as minecraft mc = minecraft.Minecraft.create() mc.postToChat("Hello World!")
PS C:\Users\***\AppData\Roaming\.minecraft\forge.1.9\mcpipy> python.exe .\hw.py
結果