2020年11月3日火曜日

Ubuntu20.04でPycraft mod for MinetestとPythonを使用して指定されたブロックの床を作成する

Pycraft mod for MinetestでPythonからMinetestのワールドを編集する事ができます。Pycraft mod for Minetestでプログラムで指定したブロックの床を作成することもできます。

 
〇Pycraft mod for Minetestで作成した金属の床


インストール方法

以下の手順を実行します。
1. Minetestをインストールします。
Minetestのインストール方法については、以下の記事を参照してください。
Ubuntu 20.04/Raspberry Pi(Raspbian Buster)にMinetestをインストールする

2. Pycraft mod for Minetestをインストールします。
sudo apt-get -y install minetest-mod-pycraft

~/.minetest/minetest.confに以下の2行を追加
secure.trusted_mods = pycraft
secure.enable_security = false

3. ワールドの設定
Minetestを起動して、ワールドの設定画面でpycraft modを有効化します。

4. (Optional)好みのIDEを必要に応じてインストールします。
ここでは、初心者向けのPython IDEのthonnyをインストールしています。
sudo apt-get -y install thonny

5. プログラミング
以下のコードで、自分の現在位置で立っている位置を中心として指定されたブロックの種類・幅・奥行の床を作成します。Thonnyの場合は、以下のコードを保存後、緑色の再生ボタンをクリックして実行してください。
/usr/lib/python3/dist-packages/mcpi/block.pyに様々なブロックの種類が定義されています。
import mcpi.minecraft as minecraft
import mcpi.block as block

# 床の幅
floor_xs = 100
# 床の奥行き
floor_zs = 100
# 床のブロック
floor_block = block.IRON_BLOCK

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
# 位置を表示
print(pos)
# X軸の繰り返し
for dx in range(floor_xs):
    # Z軸の繰り返し
    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)

関連情報

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

0 件のコメント:

コメントを投稿