Anleitungen / Bauen & Ressourcen
Benutzerdefinierte Modelldaten: Ein Gegenstand, viele Modelle – ohne etwas zu ersetzen
Das Gegenstandsmodell-System hat das alte CustomModelData-Prädikat abgelöst. Hier ist der Ordneraufbau, das JSON, das Werte auf Modelle abbildet, und warum deine Textur als lila Würfel erscheint.
Benutzerdefinierte Gegenstandsmodelle ermöglichen es einem Server, einen „Zauberstab" auszugeben, der eigentlich eine Karottenrute mit einem anderen Modell ist. Der Mechanismus hat sich geändert, und die meisten Tutorials beschreiben noch den alten.
Was sich geändert hat
Alte Methode — ein predicate-Block innerhalb der Modelldatei des Basisgegenstands, gesteuert über custom_model_data als Zahl:
{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }
Aktuelle Methode — eine items/-Definition, die ein Modell auswählt:
assets/minecraft/items/carrot_on_a_stick.json
{
"model": {
"type": "minecraft:range_dispatch",
"property": "minecraft:custom_model_data",
"fallback": { "type": "minecraft:model", "model": "minecraft:item/carrot_on_a_stick" },
"entries": [
{ "threshold": 1, "model": { "type": "minecraft:model", "model": "minecraft:item/wand" } }
]
}
}
Das fallback ist das, was eine normale Karottenrute weiterhin darstellt. Ohne es wird jede unveränderte Karottenrute in der Welt als lila-schwarzer Fehlermodell-Würfel gerendert.
Der Ordneraufbau
pack.mcmeta
assets/minecraft/
├── items/carrot_on_a_stick.json the dispatch
├── models/item/wand.json the model
└── textures/item/wand.png the texture
models/item/wand.json in seiner einfachsten Form:
{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }
Beachte, dass der Texturpfad kein textures/-Präfix und kein .png enthält — das ist die mit Abstand häufigste Ursache für einen lila-schwarzen Würfel.
Den Gegenstand vergeben
/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]
Die Komponente nimmt jetzt ein Objekt mit typisierten Listen entgegen, keine bloße Ganzzahl. custom_model_data=1 ist die alte Syntax, und der Befehl lehnt sie jetzt als fehlerhaft ab.
Warum er als lila Würfel erscheint
Nach Wahrscheinlichkeit geordnet:
- Texturpfad falsch — enthält
textures/oder.png, oder die Datei liegt nicht dort, wo der Pfad angibt. - Groß-/Kleinschreibung des Dateinamens — das Spiel unterscheidet Groß- und Kleinschreibung, auch wenn dein Betriebssystem das nicht tut.
- Veraltete
pack.mcmeta— 26.x verlangtmin_formatundmax_format; eine aktuelle Formatnummer in einer bloßenpack_formatlässt das Paket als inkompatibel erscheinen. - Falsch gezippt —
pack.mcmetamuss im Stammverzeichnis der Zip-Datei liegen, nicht in einem Ordner innerhalb der Zip-Datei.
Weitere Selektoren
range_dispatch anhand einer Zahl ist nur eine Möglichkeit. Du kannst auch nach minecraft:display_context (anderes Modell in der Hand als in einem Rahmen), minecraft:using_item oder minecraft:selected unterscheiden — so zeigt ein Bogen einen gespannten Zustand.
Baue das Dispatch-JSON, die Modelldatei und den Give-Befehl gemeinsam in den Custom Model & Item Component Tools.