2020年11月8日日曜日

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

# 階段方向
dz = -1

# 階段の幅
stair_width = 5
# 階段の段数
num_of_stairs = 100
# 階段のブロック
stair_block = block.BRICK_BLOCK

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
# 位置を表示
print(pos)
# 階段数だけ繰り返す
for ds in range(num_of_stairs):
    for dh in range(ds):
        for dw in range(stair_width):
            mc.setBlock( pos.x-stair_width/2+dw, pos.y+dh, pos.z+ds*dz, stair_block)

関連情報

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

2020年11月7日土曜日

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

# 石化幅
xs = 40
# 石化高さ
ys = 40
# 石化奥行き
zs = 40
# 石化のブロック
stone_block = block.STONE

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
# 位置を表示
print(pos)
# X軸の繰り返し
for dx in range(xs):
    # Y軸の繰り返し
    for dy in range(ys):
        # Z軸の繰り返し
        for dz in range(zs):
            # 空気以外は石化
            if mc.getBlock(pos.x+dx-xs/2, pos.y+dy-ys/2, pos.z+dz-zs/2) != block.AIR:
                mc.setBlock( pos.x+dx-xs/2, pos.y+dy-ys/2, pos.z+dz-zs/2, stone_block)

関連情報

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

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に関する情報はこちらを参照してください。

2020年11月5日木曜日

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

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
# 方向のベクトルを取得
direction = mc.player.getDirection()
# プレイヤー向き先の位置を取得
pos += direction
# 金のブロックを配置
mc.setBlock(pos.x, pos.y, pos.z, block.GOLD_BLOCK)

関連情報

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

2020年11月4日水曜日

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

# プールの幅
pool_xs = 10
# プールの深さ
pool_ys = 2
# プールの奥行き
pool_zs = 50

# ローカルサーバーに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()
print(pos)
# プールの床を作成
for dx in range(pool_xs+2):
    for dz in range(pool_zs+2):
      mc.setBlock( pos.x+dx, pos.y-pool_ys, pos.z+dz, block.STONE )

# プールの側面と水を作成
for dx in range(pool_xs+2):
    for dz in range(pool_zs+2):
        for dy in range(pool_ys):
            if dx == 0 or dz == 0 or dx == pool_xs+1 or dz == pool_zs+1:
                mc.setBlock( pos.x+dx, pos.y-pool_ys+dy+1, pos.z+dz, block.STONE )
            else:
                mc.setBlock( pos.x+dx, pos.y-pool_ys+dy+1, pos.z+dz, block.WATER_STATIONARY )

関連情報

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

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に関する情報はこちらを参照してください。

2020年11月2日月曜日

Ubuntu 20.04/Raspberry Pi(Raspbian Buster)にMinetestをインストールする

MinetestはMinecraftに似た箱庭ゲームです

〇Minetestの画面

インストール方法

sudo apt-get -y install minetest

デフォルトだとフォントが正しく表示されない部分があるので、一度、minetestを起動後、終了してから、以下のコマンドを実行します。
echo 'fallback_font_path=/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc' >> ~/.minetest/minetest.conf