← Tous les articles

Objets RP uniques avec des IDs en chaîne : utiliser custom_model_data plus sûrement que de simples nombres

Une immense liste de valeurs CustomModelData numérotées fonctionne un temps, puis un jour plus personne ne se souvient si 2047 était un anneau relique, un badge de shérif, ou une vieille tasse de test. Les IDs en chaîne résolvent le problème d'organisation même quand le moteur de rendu a toujours besoin d'une référence de modèle.

Ouvrir le générateur de resource pack

Le problème des systèmes uniquement numériques

Les nombres sont parfaits pour le rendu, mais mauvais pour la mémoire. La documentation d'équipe devient un immense tableau de correspondances, de vieux IDs sont réutilisés par erreur, et déboguer une récompense de quête cassée devient plus lent que nécessaire.

Gardez une couche d'identité lisible

Même si le pipeline visuel du modèle pointe toujours vers un nombre, votre workflow serveur devrait aussi conserver un ID en chaîne comme rp.guard.badge_bronze ou quest.chapter3.letter_mayor. Cette chaîne peut vivre dans minecraft:custom_data pendant que l'apparence visible continue d'utiliser custom_model_data.

Un motif combiné sûr

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

Pourquoi cela s'adapte mieux à la croissance

QuestionNombre seulNombre + ID en chaîne
« Qu'est-ce que l'objet 2047 ? »Chercher dans un tableau, espérer qu'il est à jour.Lire rp.guard.badge_bronze directement depuis l'objet.
Deux membres réutilisent une valeur par accidentCollision visuelle silencieuse, découverte en jeu.Un ID en chaîne dupliqué se retrouve facilement par une recherche avant la sortie.
Un échange ou une quête doit vérifier l'objetComparaison sur le numéro de modèle, qui change aussi si l'art change.Comparaison sur la chaîne stable, indépendante de tout futur changement de texture.

Stratégie de nommage suggérée

C'est le même instinct que derrière un système de nommage complet pour les objets personnalisés en général — voyez comment nommer des objets Minecraft personnalisés sans doublons pour le motif plus large (catégorie + famille + variante) dans lequel un ID en chaîne comme celui-ci est censé s'insérer.

Où le nombre reste utile

Le hook numérique du modèle reste important pour le rendu et l'organisation du pack. L'astuce n'est pas de l'abandonner, mais d'arrêter de prétendre qu'un seul entier devrait aussi être votre unique identité d'objet compréhensible par un administrateur.

Workflow serveur recommandé

  1. Attribuez la valeur de modèle destinée à l'art.
  2. Attribuez l'ID en chaîne destiné à la logique.
  3. Utilisez l'ID en chaîne dans la documentation, les boutiques et les vérifications.
  4. Gardez le nombre principalement comme un détail de rendu du pack.

FAQ

custom_data ralentit-il le rendu ?

Non. custom_model_data pilote toujours la recherche de modèle exactement comme avant ; custom_data est une donnée supplémentaire inerte dont le client n'a pas besoin pour rendre quoi que ce soit, donc cela ne coûte rien visuellement.

Puis-je ajouter un ID en chaîne à des objets qui n'ont déjà qu'un nombre ?

Oui, rétroactivement c'est possible. Les objets existants continuent de fonctionner avec juste le nombre ; vous ne gagnez l'ID lisible que sur les objets que vous mettez à jour ou réémettez ensuite.

L'ID en chaîne doit-il être montré aux joueurs ?

Généralement non — gardez-le dans custom_data, qui n'est pas affiché dans l'infobulle par défaut. Le nom visible et le lore restent purement cosmétiques et peuvent changer librement sans toucher à l'identité cachée.

Que faire si deux objets différents partagent légitimement un numéro de modèle ?

C'est exactement le cas pour lequel un ID en chaîne existe. Le numéro de modèle peut être réutilisé pour des objets visuellement identiques ; l'ID en chaîne est ce qui indique à vos systèmes qu'ils ne sont pas le même objet.

Voir aussi

Pour le principe de nommage lui-même — catégorie, famille, variante — voyez comment nommer des objets Minecraft personnalisés sans doublons. Pour assembler la commande complète autour d'un tel objet, le catalogue d'objets personnalisés garde IDs, noms visibles et slots CustomModelData au même endroit.