Aller au contenu principal

MythicMobs NPC

Mobs MythicMobs et modèles BetterModel ou ModelEngine en tant que PNJ interactifs, avec cinématiques et objectifs de quête.

Payantesv5.0Entités et modèles

Vue d'ensemble​

MythicMobs NPC transforme un mob MythicMobs en PNJ TypeWriter. Vous continuez à concevoir le mob, son modèle et ses skills dans MythicMobs, puis vous le placez dans le monde depuis le panel web sous la forme d'une définition de PNJ (ce qu'est le PNJ) et d'une instance de PNJ (où il se tient et qui le voit).

Un PNJ peut afficher un nom au-dessus de sa tête, afficher des marqueurs de quête, démarrer un dialogue lorsqu'un joueur fait un clic droit dessus, être masqué ou affiché par une action, jouer des animations et apparaître dans des cinématiques. Les modèles de BetterModel ou de ModelEngine sont pris en charge.

L'extension fonctionne sur Paper. Par défaut, chaque joueur obtient sa propre copie du PNJ (ticking désactivé) : la cinématique ou l'action de masquage d'un joueur n'affecte donc jamais les autres. Activez ticking pour obtenir un vrai mob côté serveur capable de se déplacer.

Fonctionnalités​

  • Définition et instance de PNJ — définissez un PNJ MythicMob une fois et placez-le autant de fois que vous le voulez, avec une audience partagée, par joueur ou par groupe.
  • Nom et marqueurs de quête — un nom flottant, et un marqueur ❗, ❓ ou 💬 lorsque le PNJ a un objectif ou un dialogue pour le joueur.
  • Événements d'interaction — démarrez des dialogues au clic droit, filtrés selon que le joueur est accroupi, ainsi qu'un événement pour les coups dans les deux sens.
  • Objectifs de quête — interagissez avec un PNJ, récupérez des objets sur des mobs MythicMobs, ou comptez les interactions avec un mob.
  • Facts et variables — présence, distance, visibilité, santé, table de menace, animations, niveau, puissance, faction, posture et toute variable MythicMobs.
  • Afficher, masquer et animer — actions pour afficher ou masquer un PNJ et pour lancer ou arrêter une animation ModelEngine ou BetterModel.
  • Cinématiques — caméra centrée sur un PNJ, caméra attachée à un bone de modèle, PNJ piloté par un enregistrement, et skills MythicMobs lancés à une position.
  • Contraintes de caméra et de regard — forcez le joueur à regarder un PNJ ou le mob le plus proche d'un type pendant une interaction.
  • Postures — postures d'attente et de marche de jour et de nuit, ainsi que des postures d'interaction, d'attaque et autres, via ModelEngine ou BetterModel.

Installation​

  1. Installez MythicMobs et PacketEvents sur le serveur.
  2. Dans TypeWriter, assurez-vous que les extensions officielles Entity, Basic, Quest et Road Network sont installées. La version déclare Quest et Road Network comme dépendances et utilise les extensions Entity et Basic à l'exécution.
  3. Facultatif : installez BetterModel ou ModelEngine pour les modèles 3D. BetterModel est vérifié en premier et ModelEngine est utilisé en l'absence de BetterModel. Installez Geyser si les joueurs Bedrock doivent voir la caméra de bone.
  4. Obtenez l'extension depuis les boutiques (voir les boutons du panneau de résumé ci-dessus) et placez le JAR dans plugins/Typewriter/extensions/.
  5. Redémarrez le serveur. La console affiche MythicmobsNPCExtension has been successfully initialized.
  6. Créez vos mobs dans MythicMobs (et attachez-y leur modèle). L'extension les fait apparaître et les affiche, mais ne crée ni ne modifie le modèle.

Premiers pas​

Placez un forgeron qui démarre un dialogue lorsqu'un joueur fait un clic droit dessus :

  1. Dans MythicMobs, créez un mob avec le nom interne Blacksmith (avec son modèle si vous en utilisez un) et rechargez MythicMobs.
  2. Dans le panel web TypeWriter, ouvrez une page static et ajoutez une MythicMob NPC Definition. Définissez displayName sur le nom affiché au-dessus de la tête et mobType sur Blacksmith.
  3. Ajoutez une MythicMob NPC Instance. Reliez definition à la définition et définissez spawnLocation (avec la rotation) à l'endroit où se tient le PNJ.
  4. Ajoutez un MythicMob NPC Interact Event. Reliez definition à la même définition et gardez shiftType sur ANY.
  5. Dans ses triggers, reliez une entrée de dialogue (par exemple un dialogue parlé) depuis une page sequence.
  6. Publiez et faites un clic droit sur le PNJ. Un marqueur 💬 s'affiche au-dessus du PNJ pour les joueurs qui peuvent lui parler.

Pour en faire une cible de quête, ajoutez un Interact MythicMob NPC Objective avec entity défini sur la définition : le marqueur devient ❓ (ou ❗ lorsque la quête est suivie) et un chemin guide vers le PNJ.

Choisir le mode

Laissez ticking désactivé pour les PNJ statiques : chaque joueur voit sa propre copie, ce dont les cinématiques et la visibilité par joueur ont besoin. Ne l'activez que lorsque le mob doit se déplacer ou combattre sur le serveur, et définissez clientSideRadius au-dessus de 0 pour que son IA reste activée.

Fonctionnement​

La définition contient ce qu'est le PNJ : type de mob, nom, options du nom, mode ticking, et les données d'entité qui s'appliquent à chaque instance. L'instance contient l'endroit où il se tient, ses propres données d'entité, une activity facultative (par exemple un chemin de road network) et un group.

Les facts, variables, actions d'affichage et de masquage et entrées de caméra se rapportent tous à une instance. Ils trouvent le mob actif du type de mob de la définition qui se situe dans un rayon de recherche autour du point d'apparition de l'instance (5 blocs par défaut, défini par radius sur la cible).

Configuration​

Les textes et décalages qui ne sont pas des champs d'entrées sont des snippets TypeWriter. Modifiez-les dans plugins/Typewriter/snippets.

SnippetPar défautRôle
objective.entity.indicator.tracked<gold><b>❗Marqueur lorsque le PNJ est la cible de la quête suivie.
objective.entity.indicator.normal<blue><b>❓Marqueur lorsque le PNJ est la cible d'un objectif actif.
objective.entity.indicator.dialogue<white><b>💬Marqueur lorsque le PNJ a une interaction disponible.
entity.nameplate<other> puis <reset><display_name>Disposition du nom. <other> correspond aux lignes issues des données d'entité.
entity.name.color#40000000Couleur d'arrière-plan du nom et du marqueur.
quest.objective.interact_mythicmob_npcInteract with <entity>Texte par défaut de l'objectif d'interaction.
advancedQuest.display<display> (<current>/<required>), dans des tons de grisLigne des objectifs de comptage (loot, skill) tant qu'ils sont en cours. Placeholders : <display> (le texte display de l'objectif), <current>, <required>. La clé est partagée avec les autres extensions d'objectifs BTC : une seule modification les restyle toutes.
advancedQuest.completed✔ puis le <display> barré et (<current>/<required>)La même ligne une fois amount atteint. Mêmes placeholders.
mythicmob_npc_look_at_interaction_bound.look_back_delay500Millisecondes pendant lesquelles le joueur peut détourner le regard avant que la contrainte de regard le ramène.
mythicmob_type_look_at_interaction_bound.look_back_delay500Identique, pour la contrainte de regard par type de mob.

Entrées​

38 entrées, générées depuis la source de l'extension.

Actions4
Événements3
Objectifs3
Faits6
Cinématiques4
Entités2
Données d'entité4
Zones d'interaction3
Variables9

Dépannage​

Le PNJ n'apparaît jamais. La console affiche Could not spawn MythicMob NPC '<type>' at <location> lorsque mobType n'est pas un nom de mob MythicMobs ou que l'apparition échoue. mobType est le nom interne du mob, avec la même casse que dans MythicMobs. Vérifiez que MythicMobs a chargé le mob et que le chunk de spawnLocation peut se charger.

L'extension avertit que MythicMobs est absent. Au démarrage, le journal indique MythicMobs plugin not found! This extension requires MythicMobs to function properly. Installez MythicMobs et redémarrez.

Les facts et variables renvoient toujours leur valeur par défaut. Ils résolvent le mob actif près du point d'apparition de l'instance. Si le PNJ s'est éloigné de plus de radius (5 blocs par défaut), ou si le type de mob diffère, rien ne correspond et le fact renvoie 0. Augmentez radius dans la target.

Le dialogue ne démarre pas au clic. L'événement d'interaction ne réagit qu'à un PNJ placé par une MythicMob NPC Instance, et definition doit être la définition de l'instance. interactionType choisit le clic : RIGHT_CLICK, LEFT_CLICK ou ALL. Avant la version 4.9.1, seuls les clics droits étaient gérés, et sur Paper 26.x même pas ceux-ci : mettez l'extension à jour.

Les joueurs ne partagent pas le PNJ. Avec ticking désactivé et aucun group sur l'instance, chaque joueur obtient sa propre copie : l'action de masquage ou la cinématique d'un joueur n'affecte donc pas les autres. Définissez un group sur l'instance pour partager le PNJ au sein d'un groupe ou d'une guilde.

Un bone n'est pas masqué ou attaché. Bone Visibility Data et Attachment Data sont appliqués au modèle dès qu'il existe et après chaque réapparition, avec ticking activé comme désactivé. Un nom de bone ou de modèle que le modèle ne connaît pas est ignoré et la console le consigne : vérifiez les noms par rapport au modèle.

La caméra de bone n'affiche rien ou le joueur garde la vue normale. boneName doit exister sur le modèle, et le mob doit être apparu pour ce joueur. Avec une Entity Cinematic, utilisez entityCinematic pour que la caméra suive exactement ce mob. La caméra démarre aux yeux du joueur et se cale sur le bone dès que le modèle est trouvé.

Le modèle clignote quand le joueur ou la caméra est proche du PNJ. C'est le culling de ModelEngine : ModelEngine juge, depuis les pieds du modèle, si celui-ci est derrière le joueur (backcull) ou derrière des blocs (blockedcull), et de près il masque le modèle à tort, puis le réaffiche. Depuis la version 4.9.1, l'extension désactive ces deux culls sur chaque PNJ dès que son modèle ModelEngine est détecté : il n'y a rien à configurer. Si le clignotement persiste, cherchez dans la console l'avertissement ModelEngine exposes no back/blocked cull setter : il signifie que votre version de ModelEngine ne permet pas à l'extension de modifier ces réglages. Ajoutez alors cullconfig{backcull=false;blockedcull=false} @self ~onSpawn aux skills du mob MythicMobs, après sa mécanique model, puis faites réapparaître le PNJ. Les modèles BetterModel ne sont pas concernés.

Extensions associées​

  • MythicMobs — entrées d'apparition, de skill et de kill pour les mobs MythicMobs ordinaires.
  • BetterModel — modèles BetterModel comme PNJ, avec la même approche cinématique.