マインクラフトでPythonプログラミングの練習をしていると、ついまちがってブロックを置いてしまったり、不要になったブロックを片付けたくなることがありますよね。
そんなとき、一つひとつ手で壊すのは大変です。
この記事では、Pythonを使ってブロックを自動で片付け、まわりを元の状態にもどすプログラムを作る方法を紹介します。
自分の周りを整地したい時にも使えますよ!
マインクラフトとPythonの連携について
マインクラフトをPythonで操作するには、特定の環境を整える必要があります。
くわしいセットアップ方法は、前回の記事で説明していますので、まだ準備ができていない方はそちらをチェックしてみてください。
きれいな状態にもどすプログラム
今回作るプログラムは、指定した範囲のブロックをきれいに片付けてくれるものです。
足元のブロックをすべて草ブロックに変え、その上の空間を空気ブロックで埋めることで、スーパーフラットの地形にもどします。
このプログラムを使えば、建築の準備や失敗したブロックを消したり、整地することができます。
完成したソースコード
完成したプログラムは以下の通りです。
from mcpi import minecraft
mc = minecraft.Minecraft.create()
# プレイヤーの座標を取得
x, y, z = mc.player.getPos()
# 草ブロック
mc.setBlocks(x - 100, -1, z - 100, x + 100, -1, z + 100, 2)
# 空気ブロック
mc.setBlocks(x - 100, 0, z - 100, x + 100, 200, z + 100, 0)
このプログラムでは、プレイヤーの座標を中心にして、100ブロック範囲内の地面に草ブロックをしきつめて、その上のブロックはすべて空気ブロックで上書きします。
プログラムの説明
プレイヤーの座標を取得
プレイヤーが現在いる座標(x, y, z)を取得します。この座標を基準にブロックを配置します。
草ブロックを配置
プレイヤーの足元から広範囲に草ブロック(ID: 2)をしきつめます。
範囲は、プレイヤーを中心にx方向とz方向に100ブロックずつ広がり、y座標は地面(-1)に設定されています。
空気ブロックで整地
プレイヤーの周りにあるブロックをすべて空気ブロック(ID: 0)に置きかえます。
これでプレイヤーの周りがすっきりと片付きます。
実行してみよう
プログラムを「mcpipy」フォルダに保存します。今回はファイル名を「clear」にしました。
Minecraftのワールドに入り、チャット欄に以下のコマンドを入力して実行しましょう。
実行した結果、目の前の建物が消えました!
注意点やポイント
このプログラムを使う際に気をつけたいポイントをいくつか紹介します。
スーパーフラットで使おう
このプログラムは、スーパーフラットで使用することを前提としています。
スーパーフラット以外の地形で使用すると、地形が大きく変わってしまう可能性があります。
範囲内のブロックはすべて消える
指定した範囲にあるブロックはすべて上書きされるため、大切な建物や構造物がある場合は注意が必要です。
まとめ
今回のプログラムを使えば、マインクラフトでの整地やブロックの片付けが一瞬でできちゃいます。
手作業での片付けがいらなくなって、作業効率が大幅にアップすることまちがいなしです!
次回は、座標を使って自分の位置を確認したり、ブロックを設置する方法を紹介します。