MC Toolkit

Guides / Construction et ressources

Données de modèle personnalisées : donner plusieurs modèles à un objet sans rien remplacer

Le système d'item-model 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 s'affiche comme un cube violet.

Les modèles d'objet 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'ancien.

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 sous forme de 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 correspond à l'apparence d'une carotte sur un bâton ordinaire. Sans lui, chaque exemplaire non modifié dans le monde s'affiche comme le cube violet et noir de modèle manquant.

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 aucun préfixe textures/ et aucun .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 la commande la rejette maintenant comme malformée.

Pourquoi il s'affiche comme un cube violet

Par ordre de probabilité :

  1. Chemin de texture erroné — inclut textures/ ou .png, ou le fichier ne se trouve pas là où le chemin l'indique.
  2. Casse du nom de fichier — le jeu est sensible à la casse même là où votre OS ne l'est pas.
  3. pack.mcmeta obsolète — 26.x attend min_format et max_format ; un numéro de format actuel dans un pack_format nu fait apparaître le pack comme incompatible.
  4. Archive zip mal construite — pack.mcmeta doit se trouver à la racine du zip, et non dans un dossier à l'intérieur du zip.

Autres sélecteurs

range_dispatch sur un nombre n'est qu'une option parmi d'autres. Vous pouvez aussi répartir selon minecraft:display_context (modèle différent en main ou dans un cadre), minecraft:using_item, ou minecraft:selected — c'est ainsi qu'un arc affiche un état bandé.

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

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

Plus de guides

Tout voir →