Mobs custom (MythicMobs, ModelEngine)

Une collection (groups.yml > mobs) ou une carte (cards.yml > entity) peut viser :

CléMob reconnu
COWmob vanilla
mythic:SkeletonKingmob MythicMobs de ce type (nom exact, sensible à la casse, comme dans /mm mobs list)
modelengine:dragontoute entité qui porte ce modèle ModelEngine, quel que soit le plugin qui l'a posé

Exemple (un modèle commenté est fourni à la fin de groups.yml et cards.yml) :

# groups.yml
  boss:
    pack_id: boss_pack
    package_drop_chance: 50
    mobs: [mythic:SkeletonKing, modelengine:dragon]
# cards.yml
  boss_skeleton_king: { number: 1, name: "Roi Squelette", group: boss, entity: "mythic:SkeletonKing", rarity: EPIC }
  boss_dragon:        { number: 2, name: "Dragon ancestral", group: boss, entity: "modelengine:dragon", rarity: LEGENDARY }

Règles :

  • Un mob MythicMobs ou ModelEngine utilise ses collections. S'il n'est dans aucune, il ne compte pas comme son mob vanilla de base : un boss MythicMobs de type ZOMBIE ne donne pas le paquet Monstres ni la carte Zombie. custom_mobs.vanilla_fallback: true rétablit ce comportement.
  • Un mob MythicMobs qui porte un modèle ModelEngine est reconnu par ses deux clés.
  • Le texte de la carte vient de cards.yml et sa texture d'ItemsAdder, comme pour les cartes vanilla.
  • Validation au démarrage : un nom MythicMobs inconnu donne un avertissement explicite. ModelEngine charge ses modèles après le démarrage : les modèles introuvables sont listés dans la console une fois ce chargement terminé. Si le plugin n'est pas installé, les cartes concernées sont masquées et le reste fonctionne normalement.
  • custom_mobs.mythicmobs / custom_mobs.modelengine (config.yml) désactivent chaque intégration (redémarrage nécessaire).
  • Les deux API sont appelées par réflexion, uniquement dans fr.tcg.mob.MythicMobsHook et fr.tcg.mob.ModelEngineHook. Le jar n'en dépend pas et démarre sans eux.

Versions : MythicMobs 5.12 / 5.13 (testé en jeu en 1.21.11, au démarrage en 26.2), ModelEngine R4 (API vérifiée sur R4.2.0, non testé en jeu).