名前空間ID

ページ名:名前空間ID
Nether Star.png
この記事の名前は非公式のものです。 
正式な名称はまだ分かっていません。信頼できる情報源が確認された場合に、正式名称を追加してください。

名前空間ID(英:Namespaced ID)はMinecraft内でビルトイン/ユーザー定義のゲームオブジェクトを宣言/区別し、曖昧さや衝突を避けるためのものである。

目次

使用法

名前空間IDはブロックアイテムエンティティの種類レシピ関数進捗タグといった、バニラのMinecraftにおける様々なオブジェクトを参照する文字列である。

そのうちいくつかの例を示すと:

名前空間IDの正しい書式は namespace:name で、ここでは特定の文字しか使用できない。

使用できる文字

名前空間および名前に使用できる文字は以下のもののみである:

  • 0123456789 数字
  • abcdefghijklmnopqrstuvwxyz 英小文字
  • _ 下線
  • - ハイフン/マイナス
  • / スラッシュ
    • ディレクトリの区切りとしてのみ使用でき、名前空間そのものとしては使用できない。
  • . ピリオド
    • ファイル拡張子の区切りとしてのみ使用でき、名前空間そのものとしては使用できない。

lower_case_with_underscores のように英小文字を下線で区切ったものが推奨される。

文字列への変換

名前空間と名前を :(コロン)で繋いだものが名前空間IDを表す文字列となる。

例:

名前空間名前文字列表記
minecraftdiamondminecraft:diamond
foobar.bazfoo:bar.baz
minecraftwikicommands/minecraft_wikiminecraftwiki:commands/minecraft_wiki

タグの名前空間IDは、さらに名前空間の前に # を付ける。

例:

名前空間名前文字列表記
minecraftcoal#minecraft:coal
barbaz#bar:baz
minecraftwikilistener/revert_vandalism#minecraftwiki:listener/revert_vandalism

文字列からの変換

全ての名前空間IDが文字列として表記できるわけではなく、文字列に変換できない名前空間IDも存在する。

以下のような制限がある:

  • 文字列は最大1つの :(コロン)文字を含むことができる
  • タグであれば、先頭に # が付く
  • その他の文字は全て使用できる文字でなければならない
  • : を含む場合、: より前に /、. を含んではならない

: を含む場合、: より前(タグの # は除く)の部分が名前空間、: より後が名前となる。

: を含まない場合、minecraft が名前空間(タグの # は除く)、文字列全体が名前となる。

名前空間IDの書き方としては常に : を含む書式で書くことが推奨される。

その理由を以下に示す:

  • minecraft 以外の名前空間を表わす唯一の方法だから
  • 混乱を避けるため:名前空間を省略して書くと、名前空間未指定のものと minecraft 名前空間のものとが混同されてしまう
  • minecraft:villager を誤って minecraft/villager(これは minecraft:minecraft/villager と解釈される)と書いてしまった時などに気付きやすくなる
  • /give、/summon、/setblock といったコマンドの引数であればゲーム側が自動的に名前空間IDに変換できるが、NBTによるターゲットセレクターについては(保存されているNBTと厳密に一致するかどうかチェックする必要があるので)ゲーム側での自動変換が不可能なため。

常に : を含む書式で書くことがなぜ良いかを示す例を以下に挙げる。

文字列結果解釈された名前空間解釈された名前ゲーム側での解釈
bar:codeオブジェクトbarcodebar:code
minecraft:zombieオブジェクトminecraftzombieminecraft:zombie
#my_datapack:player-updatersタグmy_datapackplayer-updaters#my_datapack:player-updaters
#minecraft:loadタグminecraftload#minecraft:load
diamondオブジェクトminecraftdiamondminecraft:diamond
#tickタグminecrafttick#minecraft:tick
foo/bar:coal解釈失敗/ は使用できない
minecraft/villagerオブジェクトminecraftminecraft/villagerminecraft:minecraft/villager
mypack_recipeオブジェクトminecraftmypack_recipeminecraft:mypack_recipe
mymap:schrödingers_var解釈失敗ö は使用できない
#my_pack:Capital解釈失敗C は使用できない

リソースパック/データパック内でのコンテンツの配置

リソースパックおよびデータパックで提供されるオブジェクトの実体はファイルであり、名前空間IDによってオブジェクトに対応するファイルを特定することが可能になる。

オブジェクトの種類やそれが属するパックの種類によってその場所は異なるが、従うべきパターンはある。一般に、場所はpack_type/namespace/object_type/name.suffix のようになる。ここで、すべての /(スラッシュ)記号(object_type や name の一部でも構わない)は、オペレーティングシステム毎のディレクトリ区切り文字に置き換えられる。

オブジェクトの種類と pack_type、object_type、suffix との対応表

オブジェクトの種類パックの種類pack_typeobject_typesuffix
ブロック状態リソースパックassetsblockstatesjson
モデルリソースパックassetsmodelsjson
パーティクルリソースパックassetsparticlesjson
テクスチャリソースパックassetstexturespng
進捗データパックdataadvancementsjson
関数データパックdatafunctionsmcfunction
ルートテーブルデータパックdataloot_tablesjson
レシピデータパックdatarecipesjson
構造物データパックdatastructuresnbt
ブロックのタグデータパックdatatags/blocksjson
エンティティの種類のタグデータパックdatatags/entity_typesjson
アイテムのタグデータパックdatatags/itemsjson
流体のタグデータパックdatatags/fluidsjson
関数のタグデータパックdatatags/functionsjson

注: リソースパックにはGUIテクスチャのように名前空間ID付きのオブジェクトにする必要のない要素もある。

配置したいコンテンツの種類が分かれば対応する pack_type、object_type、suffix も分かる。それに従い最終的なファイルの配置先を決めればよい。

名前空間IDコンテンツの種類pack_typeobject_typesuffix最終的な配置先
my_texture_pack:diamondsテクスチャassetstexturespngassets/my_texture_pack/textures/diamonds.png
abc:run_game関数datafunctionsmcfunctiondata/abc/functions/run_game.mcfunction
block/torch
(=minecraft:block/torch)
モデルassetsmodelsjsonassets/minecraft/models/block/torch.json
load
(=minecraft:load)
関数のタグdatatags/functionsjsondata/minecraft/tags/functions/load.json
rocket_pack:industry/start_of_story進捗dataadvancementsjsondata/rocket_pack/advancements/industry/start_of_story.json

名前空間

これは新しい概念ではないのですが、「名前空間」とは何かということは改めて説明が必要でしょう。ゲーム内のほとんどのものは名前空間を持っているので、我々が something を追加し、Mod(またはmapとかそれに類するもの)が something を追加する場合、それらは両方とも異なる something になります。例えばルートテーブルなど、何か名前を付けるときはいつでも、対応する名前空間も提供することになります。名前空間を指定しないと、デフォルトで minecraft になります。これは、something と minecraft:something が同じものであることを意味します。

Dinnerboneによるnamespace[1]

名前空間はコンテンツの領域であり、潜在的なコンテンツの競合や、同じ名前のオブジェクトの意図しない上書きを防ぐためのものである。

例えば、2つのデータパックが2つのミニゲームをMinecraftに追加する — いずれも start という名前の関数を持つ — とき、名前空間が無いと、これら2つの関数はクラッシュし、ミニゲームも壊れてしまうだろう。それぞれ異なる名前空間 minigame_one と minigame_two を指定していれば、これらの関数はそれぞれ minigame_one:start および minigame_two:start となり、競合は起こらない。

名前空間のカスタム

名前空間は、他のプロジェクトやコンテンツ(例えばデータパックリソースパックMod、データパック/リソースパックを含むマップなど)とは異なるものである必要がある。

衝突を防ぐために、名前空間はできるだけ重複しないようなものにしておく必要がある。

  • alphabet soupを避ける[訳註 1]。例えば、"nuclear craft"というプロジェクトの名前空間を nc と略したものにしない。これでは曖昧になってしまう。
  • 曖昧すぎる言葉は避ける。battle_royale だと調査が困難だが、player_name_battle_royale とすれば困難さを減らせるであろう。

どちらの場合でも、これらの不適切に選択された名前空間によりプロジェクトが使われづらくなり、コンテンツが増えたときのデバッグが困難になる。

  1. なんでもかんでも略語にしない

minecraft 名前空間

Minecraftは minecraft 名前空間を予約している。名前空間を指定しなかった場合、minecraft を指定したものとして扱われる。minecraft 名前空間は、Minecraftの既存データを上書き/変更する必要がある場合(例えば、#minecraft:load 関数タグ関数を追加したい場合)にのみ使用されるべきである。

歴史

Java Edition
??minecraft の接頭辞とともに名前空間IDを追加した。
1.7.2?コマンドで数値IDに加えて名前IDも受け入れるようになった。
1.1116w32a名前空間IDに使用できる文字の制限が加わった。
名前空間IDに英大文字が使えなくなった。
1.1317w47a平坦化により、名前IDのみを受け入れるようになった。
数値IDは削除された。
Bedrock Edition
1.12.0beta 1.12.0.2Add-onによるアイテムの追加をサポートするため、minecraft の接頭辞とともに名前空間IDを追加した。

関連項目

脚注

  1. "Minecraft Snapshot 17w43a" – Minecraft.net

外部リンク

  • "Minecraft Snapshot 17w43a" – Minecraft.netで説明されている名前空間
Minecraft: Java Edition
デモ版
開発
技術的情報
マルチプレイ
ゲームのカスタマイズ


特に記載のない限り、コミュニティのコンテンツはCC BY-NC-SAライセンスの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

左メニュー

左メニューサンプル左メニューはヘッダーメニューの【編集】>【左メニューを編集する】をクリックすると編集できます。ご自由に編集してください。掲示板雑談・質問・相談掲示板更新履歴最近のコメントカウン...

黒色の染料

黒色の染料Black Dye.png希少度色一般的再生可スタック可(64)黒色の染料(英:Black Dye)は、イカスミからできる一次染料である。目次1 取引2 クラフトから3 用途3.1 製作材料...

黒板

黒板Chalkboard Slate.pngChalkboard_Board.png再生不可スタック可(16)回収道具なし爆発耐性?硬度?発光しない透過する可燃性なし溶岩からの引火?黒板 (英:Cha...

黒曜石の柱

黒曜石の柱Obsidian_Pillar.pngバイオームジ・エンド構成ブロック黒曜石岩盤鉄格子エンドクリスタル炎既存チャンクでの生成はい(エンダードラゴンがリスポーンした際に)エンドの柱(英:End...

黒曜石の土台

黒曜石の土台Obsidian platform.pngバイオームジ・エンド構成ブロック黒曜石既存チャンクでの生成可、ディメンションに再び入る際に再設置。黒曜石の土台 (英:Obsidian Platf...

黒曜石のボート/ED

エンティティデータすべてのエンティティに共通するタグ obsidian: 1 または 0(true / false)。true の場合は、ボートが黒曜石のボートになる。V1.18.10現在は存在して...

黒曜石のボート

その他の用法については「黒曜石 (曖昧さ回避)」をご覧ください。そのほかの種類のボートについては「ボート (曖昧さ回避)」をご覧ください。Dark Oak Sapling JE2 BE2.pngこの記...

黒曜石 (曖昧さ回避)

黒曜石(英:Obsidian)は以下のいずれかを指す。目次1 ブロック2 アイテム3 構造物4 Minecraft Dungeons5 関連項目 ブロック黒曜石泣く黒曜石輝く黒曜石‌[Bedrock ...

黒曜石

その他の用法については「黒曜石 (曖昧さ回避)」をご覧ください。黒曜石Obsidian_JE3_BE2.png再生可スタック可(64)回収道具爆発耐性1,200硬度50発光しない透過しない可燃性なし溶...

黄色の染料

黄色の染料Dandelion Yellow.png希少度色一般的耐久度11 (データ)再生はいスタックはい (64)黄色の染料(英:Dandelion Yellow)は1次染料の1つであり、黄色の花ま...

黄緑色の染料

黄緑色の染料Lime Dye.png希少度色一般的再生可スタック可(64)黄緑色の染料(英:Lime Dye)とは2次染料の1つであり、緑色の染料1つと骨粉1つを作製枠で組み合わせて作製される。目次1...

鳥(英:Bird)は、小さな羽、意味がないクチバシ、翼を持つ飛行と滑空をするMinecraftのMobである。ニワトリオウムMinecraft EarthStormy ChickenCluckshro...

この記事では、Mobやアイテムについて説明しています。要素については「釣り」をご覧ください。魚(英:Fish)は水生生物であり、海洋の種類に関係なくどこにでも存在する。Mobの1グループであり、以下に...

高速装填

高速装填最大レベルIII一次アイテム二次アイテム該当なし出現比10名前空間IDquick_charge数値ID35高速装填、クイックチャージ‌[Bedrock Edition限定](英:Quick C...

高度

Clock JE3.gifこの記事は内容の更新を必要とします。 この記事を更新して、最近のアップデートや新たな情報を反映してください。詳細:「高度と天然資源」および「ネザー」の節のグラフ画像Y座標と層...

骨粉

骨粉Bone Meal.png希少度色一般的耐久度15 (データ)再生はいスタックはい (64)骨粉(英:Bone Meal)は多くの植物の肥料や、染料の作製素材として用いられる素材である。目次1 入...

骨ブロック/DV

データ値説明0上/下向きの骨ブロック1未使用2未使用3未使用4東/西向きの骨ブロック5未使用6未使用7未使用8北/南向きの骨ブロック特に記載のない限り、コミュニティのコンテンツはCC BY-NC-SA...

骨ブロック/BS

Java Edition:名前デフォルト値取り得る値説明axisyx東西を向いた状態y上下を向いた状態z南北を向いた状態Bedrock Edition:名前デフォルト値取り得る値説明pillar_ax...

骨ブロック

骨ブロックBone_Block_%28UD%29_JE2_BE2.pngBone_Block_%28NS%29_JE2_BE2.png再生可スタック可(64)回収道具爆発耐性2硬度2発光しない透過しな...