ラベル Minetest の投稿を表示しています。 すべての投稿を表示
ラベル Minetest の投稿を表示しています。 すべての投稿を表示

2021年2月4日木曜日

Minetestに宇宙服を追加するspacesuit modをインストールする

Minetestにspacesuitをインストールすると宇宙服が追加されます。宇宙服を着ると水中でも息が長く持つようになります。

〇spacesuitのスクリーンショット

〇spacesuitのスクリーンショット(GUI)

インストール方法

※前提条件: あらかじめunified_inventory, 3D armor modpackをインストールしておきます。

1. 以下のコマンドを実行して、spacesuitをインストールします。
mkdir -p ~/.minetest/mods

rm -f master.zip

wget https://github.com/mt-mods/spacesuit/archive/master.zip

unzip master.zip

mv spacesuit-master/ ~/.minetest/mods/spacesuit

2.Minetestを起動して、ワールドの設定画面でunified_inventory, 3D armor modpack, spacesuitを有効化します。

関連情報

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

・spacesuitのgithubリポジトリ
https://github.com/mt-mods/spacesuit

2021年2月3日水曜日

Minetestに植物の種類を追加するplantlife_modpackをインストールする

Minetestにplantlife_modpackをインストールすると花や草木の種類を増やす事ができます。

〇plantlife_modpackのスクリーンショット

インストール方法

1. 以下のコマンドを実行して、plantlife_modpackをインストールします。
mkdir -p ~/.minetest/mods

wget https://gitlab.com/VanessaE/plantlife_modpack/-/archive/master/plantlife_modpack-master.zip

unzip plantlife_modpack-master.zip

mv plantlife_modpack-master/ ~/.minetest/mods/plantlife_modpack

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

関連情報

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

・plantlife_modpackのgitlabリポジトリ
https://gitlab.com/VanessaE/plantlife_modpack

2021年2月2日火曜日

Minetestでteleport権限を自分に付与して、任意の場所にテレポートする

Minetestでは権限により様々なコマンドを実行する事ができます。

teleport権限を自分に付与して、任意の場所にテレポートする手順

1. tキーを押して、チャットウインドウを表示させます。

2. teleport権限の付与
以下のコマンドを入力して、自分自身にteleport権限を付与します。
/grantme teleport

3. テレポート
/teleport x,y,zで任意の場所にテレポートできます。自分の座標を確認して、移動したい場所の座標を入力します。
例:
/teleport -256,200,-256

関連情報

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

2021年1月31日日曜日

Minetestに雲に関するアイテムを追加するCloud Items modをインストールする

MinetestにCloud Itemsをインストールすると、通常とは異なる壊すことのできる雲や、車・雲のブロックなど雲に関するアイテムがが追加されます。

〇雲のスクリーンショット

〇車のスクリーンショット

インストール方法

1. 以下のmodをインストールしておきます。
worldedit, vehicle_mash, lib_mount

2. 以下のコマンドを実行して、cloud_itemsをインストールします。
mkdir -p ~/.minetest/mods

rm -f master.zip

wget https://github.com/minetest-mods/cloud_items/archive/master.zip

unzip master.zip

mv cloud_items-master/ ~/.minetest/mods/cloud_items

3.Minetestを起動して、ワールドの設定画面でcloud_itemsとworldedit, vehicle_mash, lib_mountのmodを有効化します。

関連情報

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

・cloud_itemsのgithubリポジトリ
https://github.com/minetest-mods/cloud_items

2021年1月30日土曜日

Ubuntu20.04上のMinetestにWorldEdit modをインストールする

WorldEdit modでチャットコマンドを使用して、ノードの配置などができます。

WorldEdit modパックのインストール

1. 以下のコマンドを実行します。
sudo apt-get install minetest-mod-worldedit

2. ワールドの設定画面でworldedit Modパックを有効化します。

WorldEditでブロックを配置します。

1. tキーでチャットウインドウを表示して、//p setを入力します。

2. 左クリックでパンチすると、枠に囲まれた数字の1が表示されます。

3. 別の場所で左クリックでパンチすると、枠に囲まれた数字の2が表示されます。

4. チャットウインドウで//set ノードの名前(例: //set cobble)を実行すると、マークした1と2の領域にブロックが配置されます。

関連情報

・Minetestに関する他の記事はこちらを参照してください。

・WorldEdit modのgithubリポジトリ
https://github.com/Uberi/Minetest-WorldEdit

2021年1月29日金曜日

Minetestにタペストリーを追加するTapestries Modをインストールする

MinetestにTapestries Modをインストールするとタペストリーが追加されます。

〇Tapestries Modのスクリーンショット

インストール方法

1. 以下のコマンドを実行して、Tapestries Modをインストールします。
mkdir -p ~/.minetest/mods

wget https://github.com/minetest-mods/castle_tapestries/archive/master.zip

unzip master.zip

mv castle_tapestries-master/ ~/.minetest/mods/castle_tapestries

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

関連情報

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

・Tapestries Modのgithubリポジトリ
https://github.com/minetest-mods/castle_tapestries

2021年1月23日土曜日

Minetestに紙を追加するts_paperをインストールする

Minetestにts_paperをインストールすると紙が追加されます。紙に文章を記録する事ができ、サインすると変更する事が出来なくなります。

〇ts_paperを入れたあとのスクリーンショット

〇紙の編集画面

〇インストール方法
1. 以下のコマンドを実行して、ts_paperをインストールします。
mkdir -p ~/.minetest/mods

wget https://github.com/minetest-mods/ts_paper/archive/master.zip

unzip master.zip

mv ts_paper-master/ ~/.minetest/mods/ts_paper

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

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

・ts_paperyのgithubリポジトリ
https://github.com/minetest-mods/ts_paper

2021年1月22日金曜日

Minetestに黒い液体・紫の液体を追加するmodを作成する

Minetestではmodによりブロックを追加する事ができます。

〇作成したmodで追加した黒い液体・紫の液体

作成手順

1. mod用フォルダの作成
mkdir ~/.minetest/mods/liquids
mkdir ~/.minetest/mods/liquids/textures

2. 以下の画像ファイルをtexturesに配置

gray_liquid.png

purple_liquid.png

3. テキストエディタなどで、以下の内容をinit.luaとして保存
creativeモードなどに切り替え、gray liquid source/purple liquid sourceがインベントリに追加されるのを確認します。
minetest.register_node("liquids:gray_liquid_source", {
    tiles = {
        {
            name = "gray_liquid.png",
            backface_culling = false,
            animation = {
                type = "vertical_frames",
                aspect_w = 16,
                aspect_h = 16,
                length = 2.0,
            },
        },
        {
            name = "gray_liquid.png",
            backface_culling = true,
            animation = {
                type = "vertical_frames",
                aspect_w = 16,
                aspect_h = 16,
                length = 2.0,
            },
        },
    },
    description = "gray liquid source",
    drawtype = "liquid",
    waving=3,
    alpha = 200,
        paramtype = "light",
        walkable = false,
        pointable = false,
        diggable = false,
        buildable_to = true,
        is_ground_content = false,
        drop = "",
        drowning = 1,
        liquidtype = "source",
    liquid_alternative_flowing = "liquids:gray_liquid_flowing",
        liquid_alternative_source = "liquids:gray_liquid_source",
        liquid_viscosity = 1,
        post_effect_color = {a = 203, r = 10, g = 10, b = 10},
        groups = {water = 3, liquid = 3,
                cools_lava = 1},
})

minetest.register_node("liquids:gray_liquid_flowing", {
    tiles = {
        "gray_liquid.png"
    },
            special_tiles = {
                {
                        name = "gray_liquid.png",
                        backface_culling = false,
                        animation = {
                                type = "vertical_frames",
                                aspect_w = 16,
                                aspect_h = 16,
                                length = 0.8,
                        },
                },
                {
                        name = "gray_liquid.png",
                        backface_culling = true,
                        animation = {
                                type = "vertical_frames",
                                aspect_w = 16,
                                aspect_h = 16,
                                length = 0.8,
                        },
                },
        },
    description = "gray liquid flowing",
    drawtype = "flowingliquid",
    waving=3,
    paramtype = "light",
    paramtype2 = "flowingliquid",
    alpha = 200,
        walkable = false,
        pointable = false,
        diggable = false,
        buildable_to = true,
        is_ground_content = false,
        drop = "",
        drowning = 1,
        liquidtype = "flowing",
    liquid_alternative_flowing = "liquids:gray_liquid_flowing",
        liquid_alternative_source = "liquids:gray_liquid_source",
        liquid_viscosity = 1,
        post_effect_color = {a = 203, r = 10, g = 10, b = 10},
        groups = {water = 3, liquid = 3,  not_in_creative_inventory = 1,
                cools_lava = 1},
})


minetest.register_node("liquids:purple_liquid_source", {
    tiles = {
        {
            name = "purple_liquid.png",
            backface_culling = false,
            animation = {
                type = "vertical_frames",
                aspect_w = 16,
                aspect_h = 16,
                length = 2.0,
            },
        },
        {
            name = "purple_liquid.png",
            backface_culling = true,
            animation = {
                type = "vertical_frames",
                aspect_w = 16,
                aspect_h = 16,
                length = 2.0,
            },
        },
    },
    description = "purple liquid source",
    drawtype = "liquid",
    waving=3,
    alpha = 200,
        paramtype = "light",
        walkable = false,
        pointable = false,
        diggable = false,
        buildable_to = true,
        is_ground_content = false,
        drop = "",
        drowning = 1,
        liquidtype = "source",
    liquid_alternative_flowing = "liquids:purple_liquid_flowing",
        liquid_alternative_source = "liquids:purple_liquid_source",
        liquid_viscosity = 1,
        post_effect_color = {a = 203, r = 50, g = 10, b = 40},
        groups = {water = 3, liquid = 3,
                cools_lava = 1},
})

minetest.register_node("liquids:purple_liquid_flowing", {
    tiles = {
        "purple_liquid.png"
    },
            special_tiles = {
                {
                        name = "purple_liquid.png",
                        backface_culling = false,
                        animation = {
                                type = "vertical_frames",
                                aspect_w = 16,
                                aspect_h = 16,
                                length = 0.8,
                        },
                },
                {
                        name = "purple_liquid.png",
                        backface_culling = true,
                        animation = {
                                type = "vertical_frames",
                                aspect_w = 16,
                                aspect_h = 16,
                                length = 0.8,
                        },
                },
        },
    description = "purple liquid flowing",
    drawtype = "flowingliquid",
    waving=3,
    paramtype = "light",
    paramtype2 = "flowingliquid",
    alpha = 200,
        walkable = false,
        pointable = false,
        diggable = false,
        buildable_to = true,
        is_ground_content = false,
        drop = "",
        drowning = 1,
        liquidtype = "flowing",
    liquid_alternative_flowing = "liquids:purple_liquid_flowing",
        liquid_alternative_source = "liquids:purple_liquid_source",
        liquid_viscosity = 1,
        post_effect_color = {a = 203, r = 50, g = 10, b = 40},
        groups = {water = 3, liquid = 3,  not_in_creative_inventory = 1,
                cools_lava = 1},
})

4. ワールドの世界画面でliquids modを有効化して、ゲーム開始

関連情報

・Minetestに関する他の記事はこちらを参照してください。

2021年1月21日木曜日

Ubuntu20.04上のMinetestにLucky Block modを追加する

Lucky Block modで、はてなマークのブロックが追加されます。Lucky Blockを壊すとランダムになにかが出現します。

〇Lucky Blockの外観

Lucky Block modのインストール

以下のコマンドを実行します。
sudo apt-get -y install minetest-mod-lucky-block

関連情報

Lucky Block mod for Minetestのリポジトリ
https://notabug.org/TenPlus1/lucky_block

2021年1月19日火曜日

Ubuntu 20.04上のMinetestに無限に格納できるチェストを追加すInfinite Chest modをインストールする

Infinite Chestで無限に格納できるチェストを追加する事ができます。

〇Infinite Chestの外観

〇Infinite Chestの初回利用時
スロットの名称を入力して「Go」をクリックします。

〇Infinite Chestのスロットを開いたところ

インストール方法

以下のコマンドを実行します。
sudo apt-get -y install minetest-mod-infinite-chest
インストール後、ワールドの設定画面でinfinite_chestを有効化します。

関連情報

・Infinite Chestのgithubリポジトリ
https://github.com/cornernote/minetest-infinite_chest

・Ubuntu 20.04にminetestをインストールする方法は以下を参照してください。
Ubuntu 20.04/Raspberry Pi(Raspbian Buster)にMinetestをインストールする

・Minetestに関する他の記事はこちらを参照してください。

2021年1月17日日曜日

Ubuntu20.04でPycraft mod for MinetestとPythonを使用して2階建ての家を作成する

Pycraft mod for MinetestとPythonを使用して2階建ての家を作成するには、以下の手順を実行します。

〇Pycraft mod for MinetestとPythonで作成した2階建ての家

作成方法

1. Pycraft mod for Minetestのインストール
Pycraft mod for Minetestをインストールしていない場合は、以下の記事を参考にしてインストールしてください。
Ubuntu20.04でPycraft mod for MinetestとPythonを使用して指定されたブロックの床を作成する

2. プログラミング
以下のコードで、2階建ての家を作成します。Thonnyの場合は、以下のコードを保存後、緑色の再生ボタンをクリックして実行してください。
import mcpi.minecraft as minecraft
import mcpi.block as block

# 家の幅(内径)
house_xs = 6
# 家の高さ1F(内径)
house_ys = 5
# 家の奥行き(内径)
house_zs = 10

def two_storied_house(px, py, pz):

    # 床1F
    for dx in range(house_xs+2):
        for dz in range(house_zs+2):
          mc.setBlock( px+dx, py, pz+dz, block.BRICK_BLOCK)

    # 壁1F
    for dx in range(house_xs+2):
        for dz in range(house_zs+2):
            for dy in range(house_ys):
                if dx == 0 or dz == 0 or dx == house_xs+1 or dz == house_zs+1:
                    mc.setBlock( px+dx, py+dy+1, pz+dz, block.BRICK_BLOCK )
                else:
                    mc.setBlock( px+dx, py+dy+1, pz+dz, block.AIR )

    # 床2F
    for dx in range(house_xs+2):
        for dz in range(house_zs+2):
          mc.setBlock( px+dx, py+house_ys, pz+dz, block.BRICK_BLOCK)

    # 壁2F
    for dx in range(house_xs+2):
        for dz in range(house_zs+2):
            for dy in range(house_ys):
                if dx == 0 or dz == 0 or dx == house_xs+1 or dz == house_zs+1:
                    mc.setBlock( px+dx, py+dy+1+house_ys, pz+dz, block.BRICK_BLOCK )
                else:
                    mc.setBlock( px+dx, py+dy+1+house_ys, pz+dz, block.AIR )

    # ドアの穴
    for dx in range(2):
        for dy in range(house_ys-1):
            mc.setBlock( px+dx+2, py+dy+1, pz, block.AIR )

    # 1F窓
    mc.setBlock( px, py+2, pz+3, block.GLASS )
    mc.setBlock( px, py+3, pz+3, block.GLASS )
    mc.setBlock( px, py+2, pz+4, block.GLASS )
    mc.setBlock( px, py+3, pz+4, block.GLASS )
    mc.setBlock( px, py+2, pz+5, block.GLASS )
    mc.setBlock( px, py+3, pz+5, block.GLASS )

    # 1F窓2
    mc.setBlock( px+house_xs+1, py+2, pz+3, block.GLASS )
    mc.setBlock( px+house_xs+1, py+3, pz+3, block.GLASS )
    mc.setBlock( px+house_xs+1, py+2, pz+4, block.GLASS )
    mc.setBlock( px+house_xs+1, py+3, pz+4, block.GLASS )
    mc.setBlock( px+house_xs+1, py+2, pz+5, block.GLASS )
    mc.setBlock( px+house_xs+1, py+3, pz+5, block.GLASS )

    # 階段
    mc.setBlock( px+house_xs, py+1, pz+6, block.STAIRS_WOOD.id,2 )
    mc.setBlock( px+house_xs, py+2, pz+7, block.STAIRS_WOOD.id,2 )
    mc.setBlock( px+house_xs, py+3, pz+8, block.STAIRS_WOOD.id,2 )
    mc.setBlock( px+house_xs, py+4, pz+9, block.STAIRS_WOOD.id,2 )
    mc.setBlock( px+house_xs, py+5, pz+10, block.STAIRS_WOOD.id,2 )
    mc.setBlock( px+house_xs, py+5, pz+9, block.AIR )
    mc.setBlock( px+house_xs, py+5, pz+8, block.AIR )
    mc.setBlock( px+house_xs, py+5, pz+7, block.AIR )

    # 2F窓
    mc.setBlock( px, py+2+house_ys, pz+2, block.GLASS )
    mc.setBlock( px, py+3+house_ys, pz+2, block.GLASS )
    mc.setBlock( px, py+2+house_ys, pz+3, block.GLASS )
    mc.setBlock( px, py+3+house_ys, pz+3, block.GLASS )
    mc.setBlock( px, py+2+house_ys, pz+7, block.GLASS )
    mc.setBlock( px, py+3+house_ys, pz+7, block.GLASS )
    mc.setBlock( px, py+2+house_ys, pz+8, block.GLASS )
    mc.setBlock( px, py+3+house_ys, pz+8, block.GLASS )

    # 2F窓2
    mc.setBlock( px+house_xs+1, py+2+house_ys, pz+2, block.GLASS )
    mc.setBlock( px+house_xs+1, py+3+house_ys, pz+2, block.GLASS )
    mc.setBlock( px+house_xs+1, py+2+house_ys, pz+3, block.GLASS )
    mc.setBlock( px+house_xs+1, py+3+house_ys, pz+3, block.GLASS )
    mc.setBlock( px+house_xs+1, py+2+house_ys, pz+7, block.GLASS )
    mc.setBlock( px+house_xs+1, py+3+house_ys, pz+7, block.GLASS )
    mc.setBlock( px+house_xs+1, py+2+house_ys, pz+8, block.GLASS )
    mc.setBlock( px+house_xs+1, py+3+house_ys, pz+8, block.GLASS )

    # 屋根
    for dy in range(3):
        for dx in range(house_xs+2-dy*2):
            for dz in range(house_zs+2-dy*2):
                mc.setBlock( px+dx+dy, py+dy+house_ys*2, pz+dz+dy, block.REDSTONE_BLOCK)

    # 本棚
    mc.setBlock( px+1, py+1, pz+house_zs, block.BOOKSHELF)
    mc.setBlock( px+1, py+2, pz+house_zs, block.BOOKSHELF)

    # 明かり
    mc.setBlock( px+3, py+1, pz+house_zs, block.SEA_LANTERN)
    mc.setBlock( px+3, py+1+house_ys, pz+house_zs, block.SEA_LANTERN)

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

関連情報

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

2021年1月15日金曜日

Ubuntu 20.04上のMinetestに鉱物の種類を増やすMore Ores modをインストールする

More Ores modでミスリルやシルバーなどの鉱物の種類を増やす事ができます。

〇More Oresの画面

インストール方法

以下のコマンドを実行します。
sudo apt-get -y install minetest-mod-moreores
インストール後、ワールドの設定画面でmoreoresを有効化します。

関連情報

・More Oresのgithubリポジトリ
https://github.com/minetest-mods/moreores

・Ubuntu 20.04にminetestをインストールする方法は以下を参照してください。
Ubuntu 20.04/Raspberry Pi(Raspbian Buster)にMinetestをインストールする

・Minetestに関する他の記事はこちらを参照してください。

2021年1月13日水曜日

Ubuntu 20.04上のMinetestにノードの種類を増やすMore Blocks modをインストールする

More Blocks mode配置できるノードの種類を増やすことができます。

〇More Blocksの画面

インストール方法

以下のコマンドを実行します。
sudo apt-get -y install minetest-mod-moreblocks
インストール後、ワールドの設定画面でmoreblocksを有効化します。

関連情報

・More Blocksのgithubリポジトリ
https://github.com/minetest-mods/moreblocks

・Ubuntu 20.04にminetestをインストールする方法は以下を参照してください。
Ubuntu 20.04/Raspberry Pi(Raspbian Buster)にMinetestをインストールする

・Minetestに関する他の記事はこちらを参照してください。

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

2021年1月7日木曜日

Ubuntu 20.04上のMinetestにchracter creator modをインストールする

chracter creator modで自キャラクターの髪の毛の色や服装の色などを変更する事ができるようになります。F7キーで自キャラクター表示してからインベントリ経由(インベントリの下に顔のアイコンが追加されるのでクリックします)で、キャラクター作成画面を表示して設定を変更します。

〇character_creatorの画面

インストール方法

以下のコマンドを実行します。
sudo apt-get -y install minetest-mod-unified-inventory minetest-mod-player-3d-armor minetest-mod-character-creator
インストール後、ワールドの設定画面でunified_inventory, 3d_armor, character_creatorを有効化します。

関連情報

・character_creatorのgithubリポジトリ
https://github.com/minetest-mods/character_creator

・Ubuntu 20.04にminetestをインストールする方法は以下を参照してください。
Ubuntu 20.04/Raspberry Pi(Raspbian Buster)にMinetestをインストールする

・Minetestに関する他の記事はこちらを参照してください。

2021年1月2日土曜日

Ubuntu 20.04で3D armor modpackをインストールする

3D armor modpackでヘルメットや防具・盾などを装備する事ができるようになります。

〇3D armor modpackの画面

〇3D armor modpackで装備した防具

インストール方法

以下のコマンドを実行します。
sudo apt-get -y install minetest-mod-player-3d-armor
インストール後、ワールドの設定画面で3d_armorを有効化します。

関連情報

・3D armor modpackのgithubリポジトリ https://github.com/stujones11/minetest-3d_armor

2020年12月31日木曜日

Ubuntu 20.04でunified inventory modをインストールする

unified inventory modでインベントリを拡張して、クラフティングガイドや24アイテムを格納できるバッグを4つ利用する事ができるようになります。

〇unified inventoryの画面

インストール方法

以下のコマンドを実行します。
sudo apt-get -y install minetest-mod-unified-inventory
インストール後、ワールドの設定画面で「unified_inventory」を有効化します。

関連情報

・Unified Inventoryのgithubリポジトリ
https://github.com/minetest-mods/unified_inventory

2020年12月29日火曜日

Minetestでチャットコンソールの色・透明度を設定する

Minetestではminetest.confに以下のパラメータを指定することで、色・透明度を設定する事ができます。
・console_color : チャットコンソールの色
例:console_color = (255,255,255)

・console_alpha : チャットコンソールのアルファ値
例:console_alpha = 50

〇minetestでconsole_color/console_alphaを変更した画面

設定手順

1. 実行しているMinetestがあれば、いったん終了します。

2. Linuxでは~/.minetest/minetest.confをエディタで開きconsole_color/console_alphaを設定します。

3. Minetestを再び起動します。

関連情報

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

2020年12月27日日曜日

Ubuntu20.04でPycraft mod for MinetestとPythonを使用してCPU負荷を棒グラフで表示する

Pycraft mod for MinetestとPythonを使用してCPU負荷を棒グラフで表示するには、以下の手順を実行します。負荷に応じてグラフの色と高さが変わっていきます。

〇Pycraft mod for MinetestとPythonで棒グラフ表示したCPU負荷

作成方法

1. Pycraft mod for Minetestのインストール
Pycraft mod for Minetestをインストールしていない場合は、以下の記事を参考にしてインストールしてください。
Ubuntu20.04でPycraft mod for MinetestとPythonを使用して指定されたブロックの床を作成する

2. プログラミング
以下のコードで、CPU負荷を棒グラフで表示します。Thonnyの場合は、以下のコードを保存後、緑色の再生ボタンをクリックして実行してください。終了するときはCtrl+Cを押してください。
import mcpi.minecraft as minecraft
import mcpi.block as block
import psutil
import time

meter = [
    block.WOOL_WHITE,
    block.WOOL_LIGHT_BLUE,
    block.WOOL_BLUE,
    block.WOOL_GREEN,
    block.WOOL_LIME,
    block.WOOL_YELLOW,
    block.WOOL_ORANGE, 
    block.WOOL_RED,
    block.WOOL_BROWN,
    block.WOOL_BLACK
]

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

pos.z += 5

try:
    while True:
        cpu = psutil.cpu_percent(interval=1)
        cpu_meter = int(cpu/10)
        for dm in range(len(meter)):
            if dm <= cpu_meter:
                mc.setBlock( pos.x, pos.y+dm, pos.z, meter[dm])
            else: 
                mc.setBlock( pos.x, pos.y+dm, pos.z, block.AIR)
        time.sleep(1)
except KeyboardInterrupt:
    # クリーンアップ
    for dm in range(len(meter)):
        mc.setBlock( pos.x, pos.y+dm, pos.z, block.AIR)

関連情報

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

2020年12月25日金曜日

Ubuntu20.04でPycraft mod for MinetestとPythonを使用してL型の家を作る

Pycraft mod for MinetestとPythonを使用してL型の家を作るには、以下の手順を実行します。

〇Pycraft mod for MinetestとPythonで作成したL型の家

作成方法

1. Pycraft mod for Minetestのインストール
Pycraft mod for Minetestをインストールしていない場合は、以下の記事を参考にしてインストールしてください。
Ubuntu20.04でPycraft mod for MinetestとPythonを使用して指定されたブロックの床を作成する

2. プログラミング
以下のコードで、L型の家を作ります。Thonnyの場合は、以下のコードを保存後、緑色の再生ボタンをクリックして実行してください。
import mcpi.minecraft as minecraft
import mcpi.block as block

def l_shaped_house(px, py, pz):

    # 家の幅
    house_xs = 10
    # 家の高さ
    house_ys = 5
    # 家の奥行き
    house_zs = 5

    # 追加の部屋の幅
    room_xs = 5
    # 追加の部屋の奥行き
    room_zs = 5

    # 床
    for dx in range(house_xs+2):
        for dz in range(house_zs+2):
          mc.setBlock( px+dx, py, pz+dz+room_zs, block.BRICK_BLOCK)

    # 追加の部屋の床
    for dx in range(room_xs+2):
        for dz in range(room_zs+2):
          mc.setBlock( px+dx+(house_xs-room_xs), py, pz+dz, block.BRICK_BLOCK)

    # 壁
    for dx in range(house_xs+2):
        for dz in range(house_zs+2):
            for dy in range(house_ys):
                if dx == 0 or dz == 0 or dx == house_xs+1 or dz == house_zs+1:
                    mc.setBlock( px+dx, py+dy+1, pz+dz+room_zs, block.BRICK_BLOCK )
                else:
                    mc.setBlock( px+dx, py+dy+1, pz+dz+room_zs, block.AIR )

    # 追加の部屋の壁
    for dx in range(room_xs+2):
        for dz in range(room_zs+1):
            for dy in range(house_ys):
                if dx == 0 or dz == 0 or dx == room_xs+1 :
                    mc.setBlock( px+dx+(house_xs-room_xs), py+dy+1, pz+dz, block.BRICK_BLOCK )
                else:
                    mc.setBlock( px+dx+(house_xs-room_xs), py+dy+1, pz+dz, block.AIR )

    # ドアの穴
    for dx in range(2):
        for dy in range(house_ys-1):
            mc.setBlock( px+dx+2, py+dy+1, pz+room_zs, block.AIR )

    # 部屋への穴
    for dx in range(3):
        for dy in range(house_ys-1):
            mc.setBlock( px+dx+2+(house_xs-room_xs), py+dy+1, pz+room_zs, block.AIR )

    # 窓
    mc.setBlock( px+6, py+2, pz+house_zs+1+room_zs, block.GLASS )
    mc.setBlock( px+7, py+2, pz+house_zs+1+room_zs, block.GLASS )
    mc.setBlock( px+8, py+2, pz+house_zs+1+room_zs, block.GLASS )
    mc.setBlock( px+6, py+3, pz+house_zs+1+room_zs, block.GLASS )
    mc.setBlock( px+7, py+3, pz+house_zs+1+room_zs, block.GLASS )
    mc.setBlock( px+8, py+3, pz+house_zs+1+room_zs, block.GLASS )


    # 追加の部屋の窓
    mc.setBlock( px+(house_xs-room_xs)+2, py+2, pz, block.GLASS )
    mc.setBlock( px+(house_xs-room_xs)+3, py+2, pz, block.GLASS )
    mc.setBlock( px+(house_xs-room_xs)+2, py+3, pz, block.GLASS )
    mc.setBlock( px+(house_xs-room_xs)+3, py+3, pz, block.GLASS )


    # 屋根
    for dy in range(3):
        for dx in range(house_xs+2-dy*2):
            for dz in range(house_zs+2-dy*2):
                mc.setBlock( px+dx+dy, py+dy+house_ys, pz+dz+dy+room_zs, block.REDSTONE_BLOCK)

    # 追加の部屋の屋根
    for dy in range(3):
        for dx in range(room_xs+2-dy*2):
            for dz in range(room_zs+house_zs+2-dy*2):
                mc.setBlock( px+dx+dy+(house_xs-room_xs), py+dy+house_ys, pz+dz+dy, block.REDSTONE_BLOCK)

    # 明かり
    mc.setBlock( px+10, py+1, pz+house_zs+room_zs, block.SEA_LANTERN)

    # 本棚
    mc.setBlock( px+10, py+1, pz+house_zs-2+room_zs, block.BOOKSHELF)
    mc.setBlock( px+10, py+2, pz+house_zs-2+room_zs, block.BOOKSHELF)

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

関連情報

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