ブロック、アイテム、エンティティのID:名前空間、ブロック状態、そして異なるもの
IDは必ずしもアイテム名と同じではなく、ブロックIDはアイテムIDと同じではありません。命名規則、古いコマンドを壊す名前変更、そして状態がどのように適合するかについて説明します。
「不明なアイテム」または「不明なブロック」で失敗するすべてのコマンドはIDの問題であり、そのルールは「アンダースコア付きの小文字」よりも微妙です。
データでは名前空間は必須
minecraft:diamond_sword
my_pack:custom_sword
コマンドではminecraft:を省略できます — /give @s diamond_swordは機能します。JSONファイルではそうではありません。裸のdiamond_swordを持つルートテーブルやレシピは、時にはサイレントに失敗します。どこでも名前空間を記述すれば、問題は解消されます。
ブロックIDとアイテムIDは異なるもの
一部のブロックにはアイテムがなく、一部のアイテムは異なるブロックを配置します。
| アイテム | 配置されるブロック |
|---|---|
minecraft:wheat_seeds | minecraft:wheat |
minecraft:redstone | minecraft:redstone_wire |
minecraft:string | minecraft:tripwire |
minecraft:flower_pot | minecraft:flower_pot (ただし、鉢植えのバリアントは別のブロックです) |
| — | minecraft:water、minecraft:fire、minecraft:airにはアイテムがありません |
/setblockはブロックIDを受け取ります。/giveはアイテムIDを受け取ります。間違ったものを使用することは、そのものが明らかに存在しているのに「そのIDは存在しません」というエラーの最も一般的な原因です。
ブロック状態は角括弧の中
/setblock ~ ~ ~ oak_stairs[facing=east,half=top,waterlogged=true]
状態はブロックのプロパティであり、アイテムのプロパティではありません — 事前に回転した階段を与えることはできません。回転は配置時に決定されるためです。指定されていないプロパティはデフォルト値を取ります。
waterloggedは人々を悩ませます。これは階段、スラブ、フェンスなど数十のブロックに存在し、これを設定せずにブロックを設置すると、そこにあった水が除去されます。
古いコマンドを壊す名前変更
いくつかのIDが変更され、古いIDは現在では単に不明です。
| 古いID | 現在のID |
|---|---|
grass | short_grass |
grass_path | dirt_path |
scute | turtle_scute |
sign | oak_signとその仲間たち |
grassは厄介なものです。なぜならgrass_blockはまだ存在し、別のものだからです。植物にgrassを使用する古いコマンドは、現在ではサイレントに何も対象としません。
エンティティID
ほとんど予測可能ですが、例外もあります。「minecraft:snow_golemではなくsnowman」、「minecraft:mooshroomではなくmushroom_cow」など、すべての投射物は独自のエンティティです — minecraft:arrow、minecraft:spectral_arrow、minecraft:trident。
技術的にはブロックエンティティであるエンティティ — チェスト、ホッパー、看板 — はエンティティリストには表示されず、/summonすることはできません。それらはブロックとして配置され、/dataで編集されます。
タグはリストに勝る
#minecraft:planks #minecraft:logs #minecraft:wool
#minecraft:doors #minecraft:beds #minecraft:swords
コマンドまたはJSONがタグを受け入れる場所では、タグを使用することでMojangが新しい木の種類を追加しても対応できます。8つの板のIDすべてをハードコーディングしても対応できません。
ブロック、アイテム、エンティティIDブラウザで、ブロック状態とそれぞれが属するタグを含む、すべてのブロック、アイテム、エンティティIDを検索してください。