Sortie du resource pack FreeMinecraftModels
FreeMinecraftModels écrit actuellement son pack généré dans output, et non outputs.
Chemins de sortie par défaut
Le plugin reconstruit ce dossier au démarrage et lors de /fmm reload :
plugins/FreeMinecraftModels/output/FreeMinecraftModels
Il compresse ensuite ce dossier dans :
plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip
Ce chemin zip est celui que ResourcePackManager attend lorsqu'il s'intègre avec FreeMinecraftModels.
Ce qui est généré
Le dossier généré inclut toujours :
pack.mcmetapack.pngassets/minecraft/atlases/blocks.jsonassets/freeminecraftmodels/...sortie des modèles et textures
Pour Minecraft 1.21.4+, FreeMinecraftModels génère des fichiers de définition de modèles d'objets sous :
assets/freeminecraftmodels/items
Pour les serveurs plus anciens, il revient au chemin hérité du modèle de remplacement de l'armure de cheval en cuir.
Sortie du Display Model (1.21.4+)
Lorsqu'un modèle possède un fichier .json de display model adjacent (voir Notes de création de modèles), FMM copie ce JSON (avec les références de texture réécrites pour correspondre aux textures extraites) dans :
assets/freeminecraftmodels/models/display/{modelId}.json
Il génère également une définition d'objet correspondante à :
assets/freeminecraftmodels/items/display/{modelId}.json
Le DisplayModelRegistry suit quels modèles ont des JSON de display à l'exécution pour que ItemMeta.setItemModel() puisse être appelé sur les ItemStacks afin de leur donner l'apparence correcte en main et dans l'inventaire.
Sortie conditionnelle d'objets arc et arbalète
Lorsque FMM détecte un ensemble de modèles d'état d'arc ou d'arbalète (voir Notes de création de modèles), il génère un unique JSON de définition d'objet pour le modèle _idle qui bascule conditionnellement entre tous les états au niveau du resource pack. Aucun travail de paquets côté serveur n'est nécessaire -- le client gère les transitions d'état nativement.
Sortie arc
Pour les arcs, la définition d'objet générée utilise minecraft:condition sur using_item avec un minecraft:range_dispatch sur use_duration (échelle 0.05) :
| Condition | Modèle utilisé |
|---|---|
| N'utilise pas l'objet | _idle |
| En utilisation, par défaut (vient de commencer) | _draw_start |
En utilisation, seuil 0.65 | _draw_half |
En utilisation, seuil 0.9 | _draw_full |
Sortie arbalète
Pour les arbalètes, la définition d'objet générée utilise minecraft:select sur charge_type. Lorsque chargée (flèche ou fusée), elle affiche le modèle _charged. Le repli non chargé utilise minecraft:range_dispatch sur crossbow/pull :
| Condition | Modèle utilisé |
|---|---|
| Pas en utilisation, pas chargée | _idle |
| En utilisation, par défaut (vient de commencer) | _draw_start |
En utilisation, seuil 0.58 | _draw_half |
En utilisation, seuil 1.0 | _draw_full |
| Chargée (flèche ou fusée) | _charged |
Emplacement de sortie
La définition conditionnelle d'objet générée est écrite aux côtés des autres définitions d'objets à :
assets/freeminecraftmodels/items/display/{baseModelId}_idle.json
Seul le modèle _idle obtient un fichier de définition d'objet. Les modèles de tir et de charge sont référencés à l'intérieur comme entrées conditionnelles.
Comportement au rechargement
Lorsque FreeMinecraftModels se recharge, il :
- relance l'étape d'importation du contenu
- reconstruit le dossier
output/FreeMinecraftModels - régénère
output/FreeMinecraftModels.zip - exécute
resourcepackmanager reloadsi ResourcePackManager est installé
C'est pourquoi les configurations modernes FMM + ResourcePackManager n'ont plus besoin de l'ancien flux de travail de copie manuelle du zip.