2020年11月9日月曜日

Ubuntu20.04でPycraft mod for MinetestとPythonを使用して近くの木と葉っぱを削除する

Pycraft mod for MinetestとPythonを使用して近くの木と葉っぱを削除するには、以下の手順を実行します。

〇Pycraft mod for MinetestとPythonで近くの木と葉っぱを削除する前の状態

〇近くの木と葉っぱを削除した後の状態
リンゴは削除されずに残ります。

作成方法

1. Pycraft mod for Minetestのインストール
Pycraft mod for Minetestをインストールしていない場合は、以下の記事を参考にしてインストールしてください。
Ubuntu20.04でPycraft mod for MinetestとPythonを使用して指定されたブロックの床を作成する
2. プログラミング
以下のコードで、近くの木と葉っぱを削除します。Thonnyの場合は、以下のコードを保存後、緑色の再生ボタンをクリックして実行してください。
import mcpi.minecraft as minecraft
import mcpi.block as block

# 木を削除する範囲X
xs = 40
# 木を削除する範囲Y
ys = 40
# 木を削除する範囲Z
zs = 40

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
# 位置を表示
print(pos)
# X軸の繰り返し
for dx in range(xs):
    # Y軸の繰り返し
    for dy in range(ys):
        # Z軸の繰り返し
        for dz in range(zs):
            # 木と葉を空気に置換して削除する
            current_block = mc.getBlock(pos.x+dx-xs/2, pos.y+dy-ys/2, pos.z+dz-zs/2)
            if current_block == block.WOOD or current_block == block.LEAVES:
                mc.setBlock( pos.x+dx-xs/2, pos.y+dy-ys/2, pos.z+dz-zs/2, block.AIR)
print("finished.")

関連情報

・Minetestに関する情報はこちらを参照してください。

0 件のコメント:

コメントを投稿