〇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
# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
print(pos)
# 木を作成する関数
def conifer(x, y, z, leaves_height, leaves_width, trunk_height):
# 葉の部分
for dy in range(leaves_height):
width = 1+int((leaves_height-dy)/leaves_width)*2
for dx in range(width):
for dz in range(width):
mc.setBlock(x+dx-int(width/2), y+dy+trunk_height, z+dz-int(width/2), block.LEAVES)
# 幹の部分
for dy in range(trunk_height+1):
mc.setBlock( x, y+dy, z, block.WOOD)
load_width = 7
load_size = 10
offset_size = 11
# 並木
for offset in range(load_size):
conifer(pos.x-7, pos.y, pos.z+offset * offset_size, 15, 5, 3)
conifer(pos.x+7, pos.y, pos.z+offset * offset_size, 15, 5, 3)
# 道路
for dz in range(load_size*offset_size):
for dx in range(load_size):
mc.setBlock( pos.x+dx-int(load_width/2)-1, pos.y-1, pos.z+dz, block.DIRT)
0 件のコメント:
コメントを投稿