Block-, Item- und Entity-IDs: Namespaces, Blockzustände und die Ausnahmen
Eine ID ist nicht immer das, was der Gegenstand heißt, und eine Block-ID ist nicht dasselbe wie ihre Item-ID. Die Namensregeln, die Umbenennungen, die alte Befehle brechen, und wo die Zustände hineinpassen.
Jeder Befehl, der mit „Unknown item" oder „Unknown block" fehlschlägt, ist 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 dir, minecraft: wegzulassen — /give @s diamond_sword funktioniert — und JSON-Dateien ebenso: ein bloßes diamond_sword in einer Loot-Tabelle oder einem Rezept wird zu minecraft:diamond_sword aufgelöst. Schreibe den Namespace trotzdem überall hin; das hält deine eigenen IDs eindeutig und einen Tippfehler in einem Namespace leicht zu erkennen.
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 eingetopfte Varianten sind separate Blöcke |
| — | minecraft:water, minecraft:fire haben kein Item (air existiert als Item nur als leerer Stapel) |
/setblock nimmt die Block-ID. /give nimmt die Item-ID. Die falsche zu verwenden, ist die häufigste Ursache für „diese ID existiert nicht", wenn die Sache offensichtlich doch existiert.
Blockzustände stehen in eckigen Klammern
/setblock ~ ~ ~ oak_stairs[facing=east,half=top,waterlogged=true]
Zustände sind Eigenschaften des Blocks, nicht des Items — die Ausrichtung eines einfachen Treppen-Items wird beim Platzieren entschieden. Die Ausnahme ist ein Item, das eine block_state-Komponente trägt, deren Eigenschaften nach dem Platzieren angewendet werden. Nicht angegebene Eigenschaften nehmen ihre Standardwerte an.
waterlogged erwischt die Leute: Es existiert bei Treppen, Stufen, Zäunen und Dutzenden mehr, und einen Block ohne es zu setzen, entfernt das Wasser, das dort war.
Umbenennungen, die alte Befehle brechen
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 Verwandte |
grass ist die schmerzhafte, weil grass_block noch existiert und etwas anderes ist. Alte Befehle, die grass für die Pflanze verwenden, schlagen jetzt als unbekannter Block fehl.
Entity-IDs
Größtenteils vorhersehbar, mit Ausnahmen: minecraft:snow_golem nicht snowman, minecraft:mooshroom nicht mushroom_cow, und jedes Projektil ist seine eigene Entity — minecraft:arrow, minecraft:spectral_arrow, minecraft:trident.
Entities, die technisch gesehen Block-Entities sind — Truhen, Trichter, Schilder — erscheinen nicht in der Entity-Liste und können nicht /summont 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
Überall, wo ein Befehl oder JSON ein Tag akzeptiert, übersteht dessen Verwendung, dass Mojang neue Holzarten hinzufügt. Alle dreizehn Planken-IDs fest zu kodieren, tut das nicht.
Durchsuche jede Block-, Item- und Entity-ID, mit Blockzuständen und den Tags, zu denen jede gehört, im Block, Item & Entity ID Browser.