2020年11月6日金曜日

Ubuntu20.04でPycraft mod for MinetestとPythonを使用して円錐を作成する

Pycraft mod for MinetestとPythonを使用して円錐を作成するには、以下のコードを実行します。

〇Pycraft mod for Minetestで作成した円錐

作成方法

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 math

# 半径
radius = 10
# 高さ
height = 30

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
print(pos)
# 方向を取得
direction = mc.player.getDirection()
cx = pos.x + direction.x * (radius+1)
cz = pos.z + direction.z * (radius+1)
# 中心点
print(cx, cz)
# 円錐を作成
for dy in range(height):
    cr = int(radius*(height-dy)/height)
    for dx in range(cr*2):
        for dz in range(cr*2):
            if math.sqrt((dx-cr)**2+(dz-cr)**2) <= cr:
                mc.setBlock( cx-cr+dx, pos.y-1+dy, cz-cr+dz, block.STONE )

関連情報

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

0 件のコメント:

コメントを投稿