11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

クソアプリAdvent Calendar 2022

Day 11

マイクラでボーリング調査【統合版Minecraft】

Last updated at Posted at 2022-12-11

すーみそー
sumiso_c0db8c だ

本記事は クソアプリ Advent Calendar 2022 11日目 の記事です
枠が空いていたので、初投稿ですが参加してみます

今回は統合版マイクラ対応
ボーリング調査AddOnを作成します

アプリではなくアドオンですが
機能なのでセーフ、たぶん

地質調査用コマンドをまとめた
functionを用意し
どんな地質でも正確にボーリング調査できることを目指します

ボーリング調査とは

地面に細長く穴を掘り、地質を調べることです

ボールを投げてピンを倒すゲームはボウリングと表記します

環境

本アドオンは統合版 Bedrock Editionで動作します
Java版には対応していません

  • windows11
  • 統合版Minecraft 1.19.50

帰ってきた経験値無限かまどに、アイテム無限増殖
リリースログには修正とあるが直ってないドーピング馬
ここ数回稀にみるバグりバージョンです
統合版マイクラにはバージョン指定する方法が無いので
執筆時最新のこのバージョンを使用します

ファイル構成

ファイル構成
/boring_survey ← 任意の名前
 ├ manifest.json
 ├ pack_icon.png
 └ functions/
   └ c0db8c ← 名前空間
         └ boring.mcfunction

functionsの下には任意のフォルダを作成できます
他のビヘイビアーパックとの重複を防ぐため
名前を付けておきます

ちなみに筆者の名前が16進数なだけであって
6桁の16進数を指定する必要はありません

それぞれのファイルを説明します

manifest.json

アドオンの設定ファイルです

公式ドキュメントはこちら
MinecraftはMicrosoftに買収されたのでMicrosoft Docsに公式ドキュメントがあります

manifest.json
{
    "format_version": 1,
    "header": {
        "description": "/function c0db8c/boring で実行点から地下64ブロックを3ブロック上にコピーします",
        "name": "ボーリング調査アドオン",
        "uuid": "57eead48-1b57-4516-ad70-a2842e76b55e",
        "version": [1, 0, 0]
    },
    "modules": [
        {
            "type": "data",
            "uuid": "87e557e2-3df2-4281-b742-8eadca94e2ce",
            "version": [1, 0, 0]
        }
    ],
    "metadata": {
        "authors": ["sumiso_c0db8c"],
        "url": "https://www.youtube.com/@sumiso_craft"
    }
}

headerの内容がゲーム内に表示されます
metadataはゲーム内で表示を確認できませんが
一応チャンネルの宣伝をしておきます

uuidは下記サイトなどを利用して生成します

pack_icon.png

ゲーム内に表示されるアイコン画像です
正方形ならサイズは不問です

今回は1200 x 1200 で作成しました

pack_icon.png

画力はないです
そして画像無くても問題ありません

boring.mcfunction

アドオンの本体です
マイクラで実行するコマンドをまとめて記述できます

テキストファイルを作成し
1行に1コマンドを記述
拡張子をmcfunctionに書き換えます

cloneコマンドを中心に
ボーリング調査用コマンドを組み立てていきます

各コマンドの説明をします

clone

指定範囲のブロックを指定箇所にコピーします

ボーリング調査本体
/clone <begin:x y z> <end:x y z> <destination: x y z>
/clone ~~-64~ ~~-1~ ~~4~

実行基準点の64ブロック下から、実行基準点の1ブロック下を
実行場所の3ブロック上にコピーします

~は実行基準点からの相対座標を示します

コピー元のx,y,zの最も値が小さい場所が
destinationで指定した座標にコピーされます

beginとendは逆にしても
結果は変わりません

beginの方を小さい座標にしておく方が
結果が予測しやすいです

このアドオンのクソポイント
cloneコマンド1つだけで
ボーリング調査が出来ます

アドオンは必要ないです

fill

しかし、cloneコマンド1つでは出来ないことがあります

例えば、ボーリング調査範囲に水ブロックが含まれていた場合です
マインクラフト物理学によると水は8ブロック流れます

水がボーリング調査範囲に含まれていた場合
周辺が水浸しになります

地質にコンクリートパウダーが含まれていた場合
コンクリートに変化するため
正しい地質調査ができません

水がこぼれないように周囲をバリアブロックで囲います

水漏れ防止処理
/fill <from:x y z> <to:x y z> <tileName: Block>
/fill ~1~4~ ~1~67~ barrier
/fill ~-1~4~ ~-1~67~ barrier
/fill ~~4~1 ~~67~1 barrier
/fill ~~4~-1 ~~67~-1 barrier

fromとtoは逆になっても動作に影響はありません

また、ボーリング調査範囲に浮いた落下するブロックがある場合
具体的には、砂利、砂ブロックです
動作が予測できません

マインクラフト物理学によると
ブロックは空中に浮くことができます
この現象は大乱闘スマッシュブラザーズでも観測することができます

ただし、砂利と砂は落下するブロックです
ですが、地形生成時に設置された砂利と砂は浮いた状態で存在します

浮いた状態の砂利と砂は不安定であり
何らかの刺激、ブロックアップデートが入ると落下します

地形生成時の地質調査のために
ブロックの落下を防ぐ必要があります

そこで、ブロックが落下可能な空間
調査範囲に空気ブロックがあった場合
バリアブロックに置換する処理を行います

ブロック落下防止処理
/fill <from:x y z> <to:x y z> <tileName: Block> <tileData: int> replace [replaceTileName: Block] [replaceDataValue: int]
/fill ~~-65~ ~~-1~ barrier 0 replace air 0

調査範囲一番下が砂利と空気だった場合を想定し
範囲-1ブロック下までバリア保護を行っています

余談ですが

チャット画面に表示されるコマンドのヒントには

  • tileData: int
  • blockStates: block states

の2種類が表示されています

  • ブロックの色の情報
    コンクリートの色など
  • ブロックの方角
    フェンスゲートの設置する向き

だと思われますが
どっちがどっちか分かりません

指定するときは0以上の整数値で
見た目に違いがありません

有識者の方いましたらコメントください

また数値で色や方角を指定するため
人類に対して非常に不親切です

一方のJava版マイクラは文字列で指定できるので親切です

本記事は統合版アドオンの紹介です

setblock

ボーリング調査範囲の一番下が砂利だった場合も考えられます
落下防止のため
ボーリング調査結果の1ブロック下にもバリアブロックを1つ設置します

/setblock <position: x y z> <tileName: Block>
/setblock ~~3~ barrier

boring.mcfunction

最終的にboring.mcfunctionの中身は以下のように記述します
上から順に実行されます

boring.mcfunction
fill ~~-65~ ~~-1~ barrier 0 replace air 0

setblock ~~3~ barrier

fill ~1~4~ ~1~67~ barrier
fill ~-1~4~ ~-1~67~ barrier
fill ~~4~1 ~~67~1 barrier
fill ~~4~-1 ~~67~-1 barrier

clone ~~-64~ ~~-1~ ~~4~

パッケージ化

作成したファイルをzip化し拡張子を書き換えます

今一度ファイル構成を紹介します

ファイル構成
/boring_survey ← 任意の名前
 ├ manifest.json
 ├ pack_icon.png
 └ functions/
   └ c0db8c ← 名前空間
         └ boring.mcfunction

boring_surveyを選択してzipに圧縮し
拡張子を.mcpackに書き換えます

警告が表示されますがそのままOKを押します

フォルダのアイコンがマイクラの土ブロックになるので
ダブルクリックでマイクラにインストールできます

使用方法

  1. ワールドの設定で本ビヘイビアーパックを有効化します
  2. ボーリング調査したい場所に立ちます
  3. チャット欄に/function c0db8c/boringと入力します
    funぐらいまで入力すると予測が表示されますので
    tabで入力できます
  4. コマンドを実行します
  5. 頭上にボーリング調査結果ができます

Minecraft 2022_12_11 18_14_27.png

まとめ

マイクラでボーリング調査を行いました

最後に本アドオンのクソポイントを紹介します

使いどころが分からない

地下を透視したいならスペクテイターモードがあります
しかし、スペクテイターモードでは地下のブロックが透明化するため
ブロックは何が存在するか
調べるには使えるかもしれません

最後までご視聴、ありがとうございました

11
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?