Guides / Building & Resources

Données de modèle personnalisées : plusieurs modèles pour un même objet sans rien remplacer

Le système de modèles d'objets a remplacé l'ancien prédicat CustomModelData. Voici l'arborescence des dossiers, le JSON qui associe les valeurs aux modèles, et pourquoi votre texture apparaît comme un cube violet.

Les modèles d'objets personnalisés permettent à un serveur de distribuer une « baguette magique » qui est en réalité une Carotte sur un bâton avec un modèle différent. Le mécanisme a changé, et la plupart des tutoriels décrivent encore l'ancienne méthode.

Ce qui a changé

Ancienne méthode — un bloc predicate à l'intérieur du fichier de modèle de l'objet de base, indexé sur custom_model_data en tant que nombre :

{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }

Méthode actuelle — une définition items/ qui sélectionne un modèle :

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" } }
    ]
  }
}

Le fallback est l'apparence d'une Carotte sur un bâton ordinaire. Sans cela, chaque Carotte sur un bâton non modifiée dans le monde se transformerait en votre baguette.

L'arborescence des dossiers

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 dans sa forme la plus simple :

{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }

Notez que le chemin de la texture n'a pas de préfixe textures/ et pas de .png — c'est la cause la plus fréquente d'un cube violet et noir.

Donner l'objet

/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]

Le composant prend désormais un objet avec des listes typées, et non un simple entier. custom_model_data=1 est l'ancienne syntaxe et ne fait rien en silence.

Pourquoi il apparaît comme un cube violet

Par ordre de probabilité :

  1. Chemin de texture incorrect — inclut textures/ ou .png, ou le fichier n'est pas à l'emplacement indiqué par le chemin.
  2. Casse du nom de fichier — le jeu est sensible à la casse, même si votre système d'exploitation ne l'est pas.
  3. pack_format trop bas — le pack se charge mais le dossier items/ est ignoré. Faites correspondre le format à la version sur laquelle vous êtes.
  4. Compression incorrectepack.mcmeta doit être à la racine du fichier zip, et non à l'intérieur d'un dossier dans le fichier zip.

Autres sélecteurs

range_dispatch sur un nombre n'est qu'une option. Vous pouvez également dispatcher sur minecraft:display_context (modèle différent en main par rapport à un cadre), minecraft:using_item, ou minecraft:selected — c'est ainsi qu'un Arc montre un état tendu.

Construisez le JSON de dispatch, le fichier de modèle et la commande de don ensemble dans les Outils de modèle personnalisé et de composant d'objet.

Outils de modèle et de composants d'objet →

More guides

Browse all →

Vous cherchez d'autres outils Minecraft ?

Une collection de générateurs, visionneuses et convertisseurs qui tournent dans le navigateur — tous gratuits.