2020年11月26日木曜日

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

# 小屋の幅
hut_xs = 6
# 小屋の高さ
hut_ys = 5
# 小屋の奥行き
hut_zs = 5

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
print(pos)
pos.z += 5
# 床
for dx in range(hut_xs+2):
    for dz in range(hut_zs+2):
      mc.setBlock( pos.x+dx, pos.y, pos.z+dz, block.WOOD_PLANKS)

# 壁
for dx in range(hut_xs+2):
    for dz in range(hut_zs+2):
        for dy in range(hut_ys):
            if dx == 0 or dz == 0 or dx == hut_xs+1 or dz == hut_zs+1:
                mc.setBlock( pos.x+dx, pos.y+dy+1, pos.z+dz, block.WOOD_PLANKS )
            else:
                mc.setBlock( pos.x+dx, pos.y+dy+1, pos.z+dz, block.AIR )

# ドアの穴
for dx in range(2):
    for dy in range(hut_ys-1):
        mc.setBlock( pos.x+dx+3, pos.y+dy+1, pos.z, block.AIR )

# 屋根
for dy in range(4):
    for dx in range(hut_xs+2-dy*2):
        for dz in range(hut_zs+2):
            mc.setBlock( pos.x+dx+dy, pos.y+dy+hut_ys, pos.z+dz, block.WOOD_PLANKS)

# 小屋の窓
mc.setBlock( pos.x, pos.y+3, pos.z+int(hut_zs/2)+1, block.GLASS )
mc.setBlock( pos.x+hut_xs+1, pos.y+3, pos.z+int(hut_zs/2)+1, block.GLASS )

関連情報

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

0 件のコメント:

コメントを投稿