← Alle Artikel

Einzigartige RP-Items mit String-IDs: custom_model_data sicherer nutzen als reine Zahlen

Eine riesige Liste durchnummerierter CustomModelData-Werte funktioniert eine Weile, und dann erinnert sich eines Tages niemand mehr, ob 2047 ein Relikt-Ring, ein Sheriff-Abzeichen oder ein alter Test-Becher war. String-IDs lösen das Organisationsproblem, selbst wenn der Renderer weiterhin eine Modell-Referenz braucht.

Resource-Pack-Generator öffnen

Das Problem rein numerischer Systeme

Zahlen sind gut für das Rendering, aber schlecht fürs Gedächtnis. Team-Dokumente werden zu riesigen Übersetzungstabellen, alte IDs werden versehentlich wiederverwendet, und das Debuggen einer kaputten Quest-Belohnung dauert länger als nötig.

Eine lesbare Identitätsebene behalten

Auch wenn die visuelle Modell-Pipeline weiterhin auf eine Zahl zeigt, sollte dein Server-Workflow zusätzlich eine String-ID wie rp.guard.badge_bronze oder quest.chapter3.letter_mayor führen. Dieser String kann in minecraft:custom_data leben, während die sichtbare Grafik weiterhin custom_model_data nutzt.

Ein sicheres kombiniertes Muster

components:{
  "minecraft:custom_model_data":2047,
  "minecraft:custom_data":{
    item_id:"rp.guard.badge_bronze",
    issue:"capital_watch"
  }
}

Warum das besser skaliert

FrageNur ZahlZahl + String-ID
„Was ist Item 2047?"Eine Tabelle durchsuchen und hoffen, dass sie aktuell ist.rp.guard.badge_bronze direkt aus dem Item ablesen.
Zwei Teammitglieder verwenden versehentlich denselben Wert erneutStille visuelle Kollision, die erst im Spiel entdeckt wird.Eine doppelte String-ID lässt sich vor dem Release leicht per Suche finden.
Ein Handel oder eine Quest muss das Item prüfenAbgleich über die Modellnummer, die sich auch bei einem Grafik-Update ändert.Abgleich über den stabilen String, unabhängig von jeder künftigen Textur-Änderung.

Empfohlene Namensstrategie

Das ist derselbe Grundgedanke wie hinter einem vollständigen Namenssystem für benutzerdefinierte Items im Allgemeinen — siehe wie man benutzerdefinierte Minecraft-Items ohne Duplikate benennt für das breitere Muster (Kategorie + Familie + Variante), in das sich eine String-ID wie diese einordnen soll.

Wo die Zahl weiterhin hingehört

Der numerische Modell-Hook bleibt wichtig für Rendering und Pack-Organisation. Der Trick ist nicht, ihn wegzuwerfen, sondern aufzuhören, so zu tun, als sollte eine einzelne Ganzzahl auch deine einzige admin-freundliche Item-Identität sein.

Empfohlener Server-Workflow

  1. Den kunstseitigen Modellwert zuweisen.
  2. Die logikseitige String-ID zuweisen.
  3. Die String-ID in Dokumentation, Shops und Prüfungen verwenden.
  4. Die Zahl hauptsächlich als Detail des Pack-Renderings behandeln.

FAQ

Verlangsamt custom_data das Rendering?

Nein. custom_model_data steuert die Modellsuche weiterhin genau wie zuvor; custom_data sind inerte Zusatzdaten, die der Client für kein Rendering braucht, kosten also visuell nichts.

Kann ich eine String-ID zu Items hinzufügen, die bisher nur eine Zahl haben?

Ja, das geht auch nachträglich. Bestehende Items funktionieren mit nur der Zahl weiter; die lesbare ID erhältst du nur bei Items, die du künftig aktualisierst oder neu ausgibst.

Sollte die String-ID den Spielern gezeigt werden?

In der Regel nicht — halte sie in custom_data, das standardmäßig nicht im Tooltip angezeigt wird. Der sichtbare Name und die Lore bleiben rein kosmetisch und können frei geändert werden, ohne die versteckte Identität zu berühren.

Was, wenn zwei verschiedene Items berechtigt dieselbe Modellnummer teilen?

Genau dafür ist eine String-ID gedacht. Die Modellnummer kann für optisch identische Items wiederverwendet werden; die String-ID sagt deinen Systemen, dass es sich nicht um dasselbe Objekt handelt.

Weiterlesen

Zum Namensprinzip selbst — Kategorie, Familie, Variante — siehe wie man benutzerdefinierte Minecraft-Items ohne Duplikate benennt. Um den vollständigen Give-Befehl um ein solches Item zu bauen, hält der Katalog für benutzerdefinierte Items IDs, sichtbare Namen und CustomModelData-Slots an einem Ort.