Block-, Item- und Entitäts-IDs: Namespaces, Blockzustände und die Abweichungen
Eine ID ist nicht immer der Name des Items, und eine Block-ID ist nicht dasselbe wie ihre Item-ID. Die Benennungsregeln, Umbenennungen, die alte Befehle ungültig machen, und wo Zustände ins Spiel kommen.
Jeder Befehl, der mit „Unbekanntes Item“ oder „Unbekannter Block“ fehlschlägt, hat ein ID-Problem, und die Regeln sind subtiler als „Kleinbuchstaben mit Unterstrichen“.
Der Namespace ist in Daten nicht optional
minecraft:diamond_sword
my_pack:custom_sword
Befehle erlauben es, minecraft: wegzulassen – /give @s diamond_sword funktioniert. JSON-Dateien tun das nicht. Eine Loot-Tabelle oder ein Rezept mit einem bloßen diamond_sword schlägt fehl, manchmal stillschweigend. Schreiben Sie den Namespace überall hin, und das Problem verschwindet.
Block-ID und Item-ID sind verschiedene Dinge
Manche Blöcke haben kein Item, manche Items platzieren einen anderen Block:
| Item | Platzierter Block |
|---|---|
minecraft:wheat_seeds | minecraft:wheat |
minecraft:redstone | minecraft:redstone_wire |
minecraft:string | minecraft:tripwire |
minecraft:flower_pot | minecraft:flower_pot, aber getopfte Varianten sind separate Blöcke |
| — | minecraft:water, minecraft:fire, minecraft:air haben kein Item |
/setblock nimmt die Block-ID. /give nimmt die Item-ID. Die Verwendung der falschen ID ist die häufigste Ursache für „diese ID existiert nicht“, obwohl das Ding offensichtlich existiert.
Blockzustände leben in eckigen Klammern
/setblock ~ ~ ~ oak_stairs[facing=east,half=top,waterlogged=true]
Zustände sind Eigenschaften des Blocks, nicht des Items – man kann keine Treppe geben, die vorrotiert ist, da die Rotation bei der Platzierung entschieden wird. Nicht spezifizierte Eigenschaften nehmen ihre Standardwerte an.
waterlogged überrascht viele: Es existiert auf Treppen, Stufen, Zäunen und Dutzenden mehr, und das Setzen eines Blocks ohne es entfernt das Wasser (Water), das dort war.
Umbenennungen, die alte Befehle ungültig machen
Eine Handvoll IDs hat sich geändert, und die alten sind jetzt einfach unbekannt:
| Alt | Aktuell |
|---|---|
grass | short_grass |
grass_path | dirt_path |
scute | turtle_scute |
sign | oak_sign und Freunde |
grass ist die schmerzhafte, weil grass_block immer noch existiert und etwas anderes ist. Alte Befehle, die grass für die Pflanze verwenden, zielen jetzt stillschweigend auf nichts.
Entitäts-IDs
Meistens vorhersehbar, mit Ausnahmen: minecraft:snow_golem nicht snowman, minecraft:mooshroom nicht mushroom_cow, und jedes Projektil ist eine eigene Entität – minecraft:arrow, minecraft:spectral_arrow, minecraft:trident.
Entitäten, die technisch Block-Entitäten sind – Truhen, Trichter, Schilder – erscheinen nicht in der Entitätsliste und können nicht /summoned werden. Sie werden als Blöcke platziert und mit /data bearbeitet.
Tags schlagen Listen
#minecraft:planks #minecraft:logs #minecraft:wool
#minecraft:doors #minecraft:beds #minecraft:swords
Wo immer ein Befehl oder JSON einen Tag akzeptiert, überlebt dessen Verwendung, wenn Mojang neue Holzarten hinzufügt. Das Hardcodieren aller acht Bretter-IDs tut dies nicht.
Suchen Sie jede Block-, Item- und Entitäts-ID, mit Blockzuständen und den Tags, zu denen sie gehören, im Block-, Item- & Entitäts-ID-Browser.