2020年12月18日金曜日

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
import mcpi.vec3 as vec3

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
print(pos)

# 床の幅
floor_xs = 100
# 床の奥行き
floor_zs = 100
# 床のブロック
floor_block = block.BEDROCK
# 渦巻きのブロック
spiral_block = block.SEA_LANTERN

# 床を描画
for dx in range(floor_xs):
  for dz in range(floor_zs):
    mc.setBlock( pos.x+dx-floor_xs/2, pos.y-1, pos.z+dz-floor_zs/2, floor_block )

# 渦巻きを描画
drawpos = vec3.Vec3(pos.x, pos.y-1, pos.z)
length = 1
for loop in range(25):
    for south in range(length):
        mc.setBlock(drawpos.x, drawpos.y, drawpos.z, spiral_block )
        drawpos.z -= 1
    length += 1
    for west in range(length):
        mc.setBlock(drawpos.x, drawpos.y, drawpos.z, spiral_block )
        drawpos.x -= 1
    length += 1
    for north in range(length):
        mc.setBlock(drawpos.x, drawpos.y, drawpos.z, spiral_block )
        drawpos.z += 1
    length += 1
    for east in range(length):
        mc.setBlock(drawpos.x, drawpos.y, drawpos.z, spiral_block )
        drawpos.x += 1
    length += 1

関連情報

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

0 件のコメント:

コメントを投稿