MythicMobs NPC
L'extension MythicMobs NPC intègre les entités MythicMobs dans le système de PNJ de TypeWriter, permettant de créer des personnages complexes, animés et interactifs avec une prise en charge complète des modèles 3D.
Fonctionnalités
- Intégration MythicMobs — Utilisez n'importe quel MythicMob comme PNJ persistant, avec une prise en charge complète de la configuration.
- Prise en charge des modèles 3D — Prise en charge native de BetterModel et ModelEngine avec gestion automatique de la visibilité des modèles.
- Groupes d'audience — Affichez les PNJ à des groupes de joueurs spécifiques grâce au système d'audience de TypeWriter. Prend en charge
PlayerGrouppour des PNJ propres à chaque joueur. - Contrôle de la visibilité — Contrôle fin de la visibilité par joueur, avec gestion automatique des joueurs qui se connectent.
- Interactions — Déclenchez des quêtes et des dialogues à l'interaction avec le PNJ, avec des types de clic personnalisables.
- Animations — Contrôlez les animations, les postures et les états de mouvement via l'API ModelEngine/BetterModel.
Architecture
Intégration des modèles
L'extension prend en charge à la fois BetterModel et ModelEngine pour le rendu des modèles 3D :
- BetterModel
- ModelEngine
BetterModel est le fournisseur de modèles privilégié. L'extension utilise l'API native EntityTrackerRegistry pour un contrôle optimal de la visibilité :
- Utilise
registry.spawnIfNotSpawned(player)pour afficher les modèles - Utilise
registry.remove(player)pour masquer les modèles - Prise en charge complète de la visibilité des modèles par joueur
ModelEngine est également pris en charge via l'API de compatibilité :
- Utilise
setForceViewing/setForceHiddensur les données de l'entité de base - Repli automatique lorsque BetterModel n'est pas disponible
Note : Le modèle doit être configuré dans votre fichier YAML MythicMob. TypeWriter gère automatiquement la visibilité mais n'applique pas de modèles aux entités.
Groupes d'audience
L'extension prend en charge le système d'audience de TypeWriter pour contrôler la visibilité des PNJ :
# En utilisant PlayerGroup, chaque joueur voit sa propre instance du PNJ
group: player_group_entry_id
En utilisant PlayerGroup :
- Chaque joueur possède sa propre entité PNJ dédiée
- Les PNJ sont invisibles pour les joueurs hors de leur audience
- Gestion automatique des joueurs qui se connectent ou changent de monde
Entrées
- Définitions d'entités — MythicMob NPC Definition : définir un PNJ basé sur un MythicMob. MythicMob NPC Instance : placer un PNJ dans le monde.
- Actions — Show NPC : révéler le PNJ au joueur. Hide NPC : masquer le PNJ au joueur.
- Faits et variables — Vérifiez les points de vie, la présence et la distance d'un PNJ avec les faits. Utilisez les variables pour accéder aux données de niveau, de puissance et d'état.
- Événements et cinématiques — NPC Interact Event : déclenchement au clic. NPC Cinematic : utiliser les PNJ dans des scènes.
Démarrage rapide
- 1. Déclencher des actions — Utilisez les entrées d'action pour interagir avec l'extension : show_npc, hide_npc. Déclenchez-les depuis des commandes, des PNJ, des événements ou d'autres entrées. → show_npc → hide_npc
Options de configuration
NPC Definition
| Option | Description |
|---|---|
mobType | Le nom interne du MythicMob à utiliser |
ticking | true pour côté serveur (entité réelle), false pour côté client (basé sur des paquets) |
showDisplayName | Afficher ou non une étiquette de nom au-dessus du PNJ |
cancelInteractAnimation | Désactiver l'animation de balancement du bras à l'interaction |
NPC Instance
| Option | Description |
|---|---|
spawnLocation | Où faire apparaître le PNJ (prend en charge les positions dynamiques) |
group | Groupe d'audience pour le contrôle de la visibilité |
activity | Entrée d'activité d'entité pour le comportement du PNJ |
Dépendances
| Extension | Requis | Utilisation |
|---|---|---|
| QuestExtension | Requis | Moteur de quêtes principal. |
| BasicExtension | Requis | Utilitaires principaux des extensions. |
| EntityExtension | Requis | Framework de gestion des entités. |
| RoadNetworkExtension | Requis | Pathfinding des PNJ et réseau routier. |
| PlaceholderAPI | Optionnel | Pour les champs @Placeholder. |