2021年1月10日日曜日

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

WH = block.CARPET_WHITE
OR = block.CARPET_ORANGE
RD = block.CARPET_RED
pattern = [
    [  WH,  WH,  WH,  WH,  WH,  WH,  WH,  WH],
    [  WH,  OR,  OR,  OR,  OR,  OR,  OR,  OR],
    [  WH,  OR,  OR,  OR,  RD,  OR,  OR,  OR],
    [  WH,  OR,  OR,  OR,  RD,  OR,  OR,  OR],
    [  WH,  OR,  RD,  RD,  RD,  RD,  RD,  OR],
    [  WH,  OR,  OR,  OR,  RD,  OR,  OR,  OR],
    [  WH,  OR,  OR,  OR,  RD,  OR,  OR,  OR],
    [  WH,  OR,  OR,  OR,  OR,  OR,  OR,  OR],
]

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

pattern_zs = len(pattern)
pattern_xs = len(pattern[0])

# x,z繰り返し回数x
loop_cnt = 10

# パターンを描画
for dx in range(pattern_xs*loop_cnt):
  for dz in range(pattern_zs*loop_cnt):
    mc.setBlock( pos.x+dx-pattern_xs*loop_cnt/2, pos.y-1, pos.z+dz-pattern_zs*loop_cnt/2, pattern[dz%pattern_zs][dx%pattern_xs])

関連情報

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

0 件のコメント:

コメントを投稿