Aller au contenu principal

Modèles personnalisés

EliteMobs prend en charge les Modèles personnalisés via Model Engine et FreeMineCraftModels.

Avant-propos

Du point de vue d'EliteMobs, le système de Modèles personnalisés est très simple, car la seule chose que les administrateurs doivent faire est d'ajouter une ligne au fichier de configuration d'un PNJ ou d'un Boss Personnalisé lui indiquant quel Modèle personnalisé utiliser. Cependant, il est nécessaire de suivre les bonnes étapes avec Model Engine et Minecraft afin de rendre ce système pleinement fonctionnel, et celles-ci ne sont pas aussi faciles à appréhender.

Ce guide entrera dans les détails en ce qui concerne l'interfaçage avec Model Engine et Minecraft. Il ne vous dira pas comment utiliser Blockbench pour créer des boss personnalisés, ni n'entrera dans les détails sur le fonctionnement de Model Engine. Il existe déjà de nombreux guides expliquant comment faire cela ailleurs, et si vous voulez en savoir plus sur ces systèmes, vous serez mieux servi en consultant directement leur documentation.

FreeMineCraft Models

Si vous voulez apprendre comment utiliser FMM pour faire fonctionner vos modèles, vous pouvez consulter cette page wiki pour en savoir plus.

Prise en Charge de Bedrock (Geyser)

La capacité des joueurs Bedrock (se connectant via Geyser/Floodgate) à voir les modèles personnalisés dépend entièrement de votre plugin de modèles (ModelEngine ou FreeMinecraftModels) et de la configuration de votre resource pack, et non d'EliteMobs. EliteMobs détecte bien les clients Bedrock, mais il utilise cette information pour des choses comme le rendu des menus et le positionnement des nametags — il ne génère ni ne sert un modèle distinct compatible Bedrock. Référez-vous à la documentation de votre plugin de modèles pour la prise en charge des modèles Bedrock/Geyser.

Intégration de LibsDisguises

EliteMobs prend également en charge LibsDisguises comme alternative aux modèles personnalisés. Lorsque les modèles personnalisés ne sont pas configurés, EliteMobs peut utiliser LibsDisguises pour changer l'apparence des entités. Cette intégration gère automatiquement la synchronisation de la visibilité des noms.

Pour utiliser LibsDisguises au lieu des modèles personnalisés, configurez les paramètres de déguisement de votre boss/PNJ sans spécifier de champ customModel.

Modèles d'Objets Scriptés (FMM)

Les objets personnalisés d'EliteMobs peuvent utiliser le système d'objets scriptés de FreeMinecraftModels pour un comportement avancé de modèle + script Lua. Cela va au-delà des modèles personnalisés statiques — les objets scriptés peuvent réagir à l'équipement, à l'attaque, au clic droit et à de nombreux autres événements d'objet (FMM expose 22 hooks de script d'objet au total) via des scripts Lua.

Pour utiliser cela, définissez le champ scriptedItem dans la configuration de votre objet personnalisé sur l'ID d'objet FMM. EliteMobs gère le nom, le lore, les enchantements et le niveau ; FMM fournit le modèle 3D et le comportement du script.

# Example EliteMobs custom item config
material: IRON_SWORD
name: "&cFlame Blade"
enchantments:
- "FIRE_ASPECT,2"
scalability: scalable
scriptedItem: flame_blade

Consultez le guide FMM Lua Getting Started pour écrire des scripts d'objet, et le guide de l'API FMM pour les détails d'intégration destinés aux développeurs.

Exigences minimales

EliteMobs, Model Engine R3.0.0* ou ultérieur OU FreeMinecraftModels, Blockbench**, et un Resource Pack Minecraft.

* Ce plugin peut avoir d'autres dépendances. Consultez la documentation de leur côté.
** Nécessaire pour créer et modifier des Modèles personnalisés. Pas nécessaire si vous cherchez simplement à installer du contenu sans le modifier.

Priorité des Plugins

Si à la fois ModelEngine et FreeMinecraftModels sont installés, EliteMobs utilisera FreeMinecraftModels par défaut. Un seul plugin de modèles personnalisés sera actif à la fois.

Définir manuellement un Modèle personnalisé

Note : Ce guide suppose que vous disposez déjà d'un Modèle personnalisé valide. Ceux-ci se présentent au format de fichier Blockbench (.bbmodel).

EliteMobs est capable d'utiliser des Modèles personnalisés pour les PNJ et les Boss Personnalisés. Le processus pour le faire est le même pour les deux, et se déroule comme suit :

Étape 1. Configurer la config EliteMobs

Allez dans le fichier de configuration du Boss Personnalisé ou du PNJ que vous voulez modifier et ajoutez la ligne suivante :

customModel: modelname

Remplacez modelname par le nom de votre modèle. Le nom est le nom du fichier de Modèle personnalisé que vous utilisez. Par exemple, le fichier de Modèle personnalisé du Test Boss est showcase_boss.bbmodel. Ainsi, l'option de configuration devrait être

customModel: showcase_boss

Et c'est tout pour EliteMobs ! Maintenant, ça devient un peu plus délicat.

Étape 2. Générer les données de Model Engine

Note : En cas de doute ou de problème, référez-vous au wiki de Model Engine ici.

  1. Placez votre fichier Blockbench de Modèle personnalisé (.bbmodel) dans le répertoire (yourServer)/plugins/ModelEngine/blueprints .
  2. Exécutez la commande /meg reload . Si tout a fonctionné correctement, vous devriez recevoir un message disant [Model Engine] X models loaded , où x est le nombre de modèles que vous avez enregistrés.

Étape 3. Distribuer le Resource Pack

C'est possiblement la partie la plus délicate si vous cherchez à faire en sorte que votre serveur gère les téléchargements. Essayez de vérifier si le système fonctionne lorsque vous avez le resource pack sur votre client avant de chercher à le distribuer automatiquement !

  1. Allez dans le répertoire (yourServer)/plugins/ModelEngine/resource pack et créez un resource pack à partir de ces données ou ajoutez le dossier assets qui s'y trouve aux assets de votre resource pack
    1. Si vous créez un nouveau resource pack, vous pouvez mettre les fichiers de resource pack dans un fichier zippé, et ce sera un resource pack valide que vous pourrez distribuer. Plus d'infos.
    2. Si vous avez déjà un resource pack, assurez-vous de ne pas écraser accidentellement des modèles existants. Plus d'infos.
  2. Distribuez votre resource pack à vos joueurs. Seuls les joueurs qui ont le resource pack pourront voir les Modèles personnalisés, et cela aura l'air très étrange et cassé pour tous les autres. Si vous comptez en faire un usage intensif, vous pourriez vouloir forcer l'utilisation du resource pack.
    1. (Facultatif) Pour permettre aux joueurs de télécharger un resource pack à la connexion, vous devrez héberger le fichier quelque part en ligne et changer le champ resource-pack= de server.properties pour qu'il pointe vers cette adresse.*
    2. (Facultatif) Si vous modifiez les resource packs, vous voudrez utiliser l'option resource-pack-sha1= afin que le serveur puisse vérifier si le resource pack du joueur doit être mis à jour. Pour générer cette valeur, téléversez votre resource pack sur http://onlinemd5.com/ et assurez-vous de choisir l'option SHA1. Vous devrez faire cela à chaque fois que vous mettez à jour votre Resource Pack, sinon vos utilisateurs ne recevront pas la mise à jour.*
    3. (Facultatif) Pour forcer les joueurs à utiliser les resource packs, utilisez l'option require-resource-pack=true dans server.properties.*

Si vous avez modifié server.properties, vous devrez redémarrer !

* Note : Il existe beaucoup de guides en ligne qui peuvent vous aider à faire fonctionner cela si ces instructions ne vous aident pas.

Fusionner les resource packs

Si vous avez besoin de fusionner vos resource packs, vous pouvez le faire manuellement. Mais nous recommandons d'utiliser un outil en ligne tel que merge.elmakers pour fusionner vos resource packs.

Étape 4. Espérez que ça marche

En supposant que tout a été fait correctement, vous devriez maintenant pouvoir voir le Modèle personnalisé sur votre boss ou PNJ. Vous pouvez les faire apparaître grâce aux commandes :

  • Boss Personnalisé : /em spawn boss filename.yml
  • PNJ : /em place npc filename.yml

Vous pouvez ensuite les supprimer grâce à la commande /em remove.

Créer et adapter des Modèles personnalisés pour EliteMobs

EliteMobs est capable d'utiliser tout modèle considéré comme valide par Model Engine, ce qui signifie qu'il n'y a pas grand-chose qui ne puisse être fait avec.

Cependant, en ce qui concerne les animations, l'utilisation de noms spécifiques pour les animations est requise pour garantir que les boss puissent utiliser les animations.

Ces noms d'animation sont ceux définis dans Blockbench dans l'onglet des animations. Vous pouvez les renommer à tout moment, ce qui signifie que vous pouvez adapter n'importe quel modèle existant pour qu'il fonctionne avec EliteMobs.

Animations

Veuillez noter que cette section est encore en cours d'expansion, car ce système est encore très récent. Plus de contenu y sera ajouté au fur et à mesure que les demandes de fonctionnalités arrivent.

idle

idle est le nom de l'animation pour les entités qui ne sont pas en combat et qui ne bougent pas. EliteMobs initialise le modèle avec l'état idle mais ne remplace pas le système d'animation idle intégré de ModelEngine. Le modèle utilisera automatiquement cette animation grâce au comportement par défaut de ModelEngine/FMM.

walk

walk est le nom de l'animation pour les entités qui se déplacent. EliteMobs initialise le modèle avec l'état walk mais ne remplace pas le système d'animation walk intégré de ModelEngine. Le modèle utilisera automatiquement cette animation grâce au comportement par défaut de ModelEngine/FMM.

attack

Il existe trois types d'animations d'attaque :

attack

attack est le nom d'animation générique correct pour lorsqu'un boss attaque.

attack_melee

attack_melee est le nom d'animation correct pour les attaques effectuées lorsqu'un Boss Personnalisé attaque une entité à l'aide d'une attaque de mêlée vanilla de Minecraft. Remplace attack . Veuillez noter que l'animation se joue après que les dégâts ont été infligés. C'est malheureusement une limitation pour l'instant. Par conséquent, essayez de rendre l'animation très rapide.

attack_ranged

attack_ranged est le nom d'animation correct pour les attaques effectuées lorsqu'un Boss Personnalisé fait apparaître une entité projectile. Remplace attack. Veuillez noter que l'animation se joue après que le projectile est tiré. C'est malheureusement une limitation pour l'instant. Par conséquent, essayez de rendre l'animation très rapide.

Système de Repli des Animations

EliteMobs utilise un système de repli pour les animations d'attaque :

  • Si attack_melee n'est pas défini, se replie sur attack
  • Si attack_ranged n'est pas défini, se replie sur attack
  • Si attack n'est pas défini, aucune animation ne se joue

Cela vous permet de créer une seule animation d'attaque qui fonctionne pour tous les types d'attaque, ou de créer des animations spécialisées pour les attaques de mêlée vs à distance.

damaged

attention

L'animation damaged n'est actuellement pas implémentée. Cette fonctionnalité est prévue pour une future version. Les modèles ne joueront pas automatiquement d'animations de dégâts lorsqu'ils sont touchés.

death

death est le nom d'animation correct pour l'animation de mort. EliteMobs ne modifie pas le système d'animation idle par défaut utilisé par Model Engine.

powers

attention

Les animations de power NE SONT PAS ENCORE IMPLÉMENTÉES. Cette fonctionnalité est prévue pour une future version.

Note : ce segment est encore en développement. Ce qui suit représente les fonctionnalités telles qu'elles sont prévues.

Chaque power dans EliteMobs peut avoir une animation qui lui est assignée. L'animation démarre toujours lorsque le power est déclenché, et aucun autre déclencheur n'est actuellement fourni tout au long de l'utilisation du power. Certains powers, comme les invulnérabilités, ne feront rien car ils n'ont aucun déclencheur et ne sont que des propriétés passives des boss.

Afin d'assigner une animation à un power, l'animation doit porter le même nom que le fichier de power d'elitemobs.

Par exemple, pour ajouter une animation au power zombie necronomicon, l'animation devrait s'appeler zombie_necronomicon.yml . Elle commencera à se jouer dès que le power est déclenché, et se terminera lorsque l'animation se termine si elle n'est pas réglée en boucle, ou lorsque le power est terminé.

Importer des Modèles personnalisés depuis des donjons

Étape 1. Import normal

Lors de l'importation d'un dossier zippé de packager de donjon contenant des Modèles personnalisés, les Modèles personnalisés sont automatiquement déplacés vers (yourServer)/plugins/ModelEngine/blueprints et Model Engine se recharge automatiquement pour générer le resource pack et les fichiers Model Engine pertinents.

Étape 2. Resource Pack

EliteMobs exporte automatiquement ses fichiers de resource pack intégrés vers le dossier (yourServer)/plugins/EliteMobs/resource_pack au démarrage. Cette exportation utilise une comparaison de somme de contrôle pour éviter les copies inutiles, de sorte que les fichiers ne sont mis à jour que lorsque la version du plugin change.

Vous devrez fusionner ces fichiers de resource pack avec tous les fichiers de resource pack de Model Engine et distribuer le resource pack combiné à vos joueurs. Seuls les joueurs qui ont le resource pack pourront voir les Modèles personnalisés.

Dépannage

Problèmes courants :

  1. Modèle non visible :

    • Vérifiez que /meg reload affiche votre modèle chargé
    • Vérifiez que le resource pack est installé sur le client
    • Assurez-vous que le nom de customModel correspond au nom de fichier .bbmodel (sans l'extension)
  2. Animations qui ne se jouent pas :

    • Vérifiez que les noms d'animation dans Blockbench correspondent exactement aux noms documentés
    • Vérifiez que les animations ne sont pas réglées en boucle si elles doivent se jouer une seule fois
    • Testez les animations individuelles à l'aide des commandes de Model Engine
  3. Les deux plugins installés :

    • EliteMobs utilisera FreeMinecraftModels si les deux sont présents
    • Pour forcer ModelEngine, désinstallez FreeMinecraftModels