Guides
VersionshinweiseGiveItemLoot

Java 1.20.4 NBT vs. 1.20.5+ Artikelkomponenten

8 Min. Lesezeit

Minecraft Java 1.20.5 hat viele Artikelfunktionen aus dem alten NBT in Artikelkomponenten verschoben. Diese Änderung wirkt sich auf Befehle zum Geben, Ersetzen von Gegenständen, Beutebelohnungen, benutzerdefinierte Namen, lore, enchantments, benutzerdefinierte Daten und viele Workflows für Ressourcenpakete aus. NBTForge sorgt dafür, dass die Versionsauswahl sichtbar bleibt, da es sich hierbei nicht nur um eine Formatierung handelt.

Starten Sie den Vergleich mit dem alten Ziel Java 1.20.4, damit die Annahmen des alten Elements NBT sichtbar bleiben.
Wechseln Sie denselben Belohnungsgegenstand zu einem modernen Java-Ziel und vergleichen Sie die generierte Komponentensyntax.
Verwenden Sie den loot-Workflow und die Project-Benennung, um alte und moderne Belohnungseinträge getrennt zu halten.

Ergebnis

Eine klare Entscheidungsregel dafür, wann das Legacy-Element NBT und wann moderne Elementkomponenten verwendet werden sollen.

Verwandtes Modul öffnenGive, Item, LootAuswahl der richtigen Java-Elementsyntax

Empfohlener Weg

  1. Wählen Sie die genaue Java-Version aus, bevor Sie den Elementstapel bearbeiten.
  2. Erstellen Sie das Element einmal und wechseln Sie dann zwischen 1.20.4 und 1.20.5+, nur um die Output absichtlich zu vergleichen.
  3. Behandeln Sie benutzerdefinierte Namen, lore, enchantments, Unbreakable, Rarity, Glint und benutzerdefinierte Daten als versionensensitive Felder.
  4. Verwenden Sie Project-Einträge, um bei der Unterstützung mehrerer Welten eine ältere und eine moderne Version nebeneinander zu behalten.
  5. Dokumentieren Sie die Zielversion neben den Befehlen, die Sie mit anderen Erstellern teilen.

Wenn das Legacy-Element NBT immer noch das richtige Ziel ist

Verwenden Sie das Legacy-Element NBT, wenn der Befehl in Java 1.20.4 oder älter ausgeführt werden muss. In dieser Weltfamilie befinden sich viele Elementdetails in der alten NBT-Struktur, und die Komponentenausgabe entspricht nicht der Zielsyntax.

Die Legacy-Output ist auch bei der Migration einer älteren Befehlsbibliothek nützlich. Import Verwenden Sie den alten Befehl, vergleichen Sie die analysierten Felder und führen Sie die Neugenerierung erst durch, nachdem Sie die neue Zielversion ausgewählt haben.

Wenn Einzelteilkomponenten das richtige Ziel sind

Verwenden Sie die Komponentenausgabe für Java 1.20.5 und höher. Die Komponentensyntax ist das moderne Format für viele Elementfunktionen, einschließlich Namen, lore, enchantments, benutzerdefinierter Daten und Anzeigeverhalten.

Wenn Sie neue Karteninhalte für aktuelle Java-Versionen erstellen, beginnen Sie mit der Komponentenausgabe und generieren Sie nur dann Legacy-Syntax, wenn Sie wissen, dass ein älterer Server sie benötigt.

  • Moderne Java-Elementbefehle sollten mit der ausgewählten aktuellen Version generiert werden.
  • loot- und Belohnungs-Workflows sollten dieselbe Version wie das Weltdatenpaket verwenden.
  • Mischen Sie keinen Legacy-Give-Befehl mit einem Elementmodifikator aus der Komponentenzeit, es sei denn, Sie migrieren absichtlich.

So vergleichen Sie sicher

Beim Wechseln der Versionen können sich Feldnamen, Verschachtelungen und manchmal auch die darstellbaren Felder ändern. Verwenden Sie nach einem Versionswechsel das Output-Diff-Panel, anstatt einen langen Befehl per Augenschein zu scannen.

Behalten Sie bei freigegebenen Vorlagen die Version im Artikeltitel, im Voreinstellungsnamen oder im Project-Eintragsnamen bei. Ein Befehl namens „Belohnungsschwert“ ist mehrdeutig; Ein Befehl namens „Belohnungsschwert Java 1.21“ ist viel einfacher zu unterstützen.

Versenden Sie das kopierte Artefakt

Verwenden Sie diese Anleitung, um das Artefakt zu erstellen, das ein Spieler oder Kartenersteller tatsächlich ausführen wird: einen kopierten Befehl, ein bestelltes Project-Paket oder eine Datenpaketressource. Die abschließende Überprüfung sollte für die kopierte Output erfolgen, nicht nur für den bearbeitbaren Builder-Status.

Wenn der Workflow versionensensitiv ist, kennzeichnen Sie die Zielversion neben dem Befehl. Wenn Selektoren, Scoreboards, Bossbars, Tags, Beutetabellen oder die Projektreihenfolge verwendet werden, testen Sie diese Abhängigkeiten in einer sauberen Welt, bevor Sie das Setup veröffentlichen.

  • Kopieren Sie von Output für einen Befehl und von Project für bestellte Pakete.
  • Halten Sie die Varianten Java, Bedrock und Snapshot getrennt.
  • Testen Sie zunächst destruktive Selektoren mit harmloser Output.
  • Aktualisieren Sie zugehörige Presets, wenn der Leitfaden zum kanonischen Workflow wird.

Verwandte Guides und Presets

FAQ

Ist die Output von Java 1.20.5 immer besser?

Es ist nur für Welten besser, auf denen 1.20.5 oder höher ausgeführt wird. Ältere Java-Welten benötigen eine Legacy-Syntax, daher hängt die korrekte Output von der Zielwelt ab.

Kann ich beide Formate behalten?

Ja. Speichern Sie separate Project-Einträge für die ältere und die moderne Version, beschriften Sie sie deutlich und aktualisieren Sie beide, wenn sich das zugrunde liegende Artikeldesign ändert.

Wann sollte dieser Leitfaden ein Project-Paket werden?

Verwenden Sie Project, wenn der Workflow mehr als einen Befehl benötigt, eine Einrichtungs- und Bereinigungsreihenfolge hat oder nach dem Testen erneut bearbeitet werden muss. Einmalige Befehle können in Output verbleiben.