MythicMobs NPC
Die MythicMobs-NPC-Erweiterung bindet die MythicMobs-Entitäten in das NPC-System von TypeWriter ein und ermöglicht komplexe, animierte und interaktive Charaktere mit voller 3D-Modellunterstützung.
Funktionen
- MythicMobs-Integration — Verwende jeden MythicMob als dauerhaften NPC mit voller Konfigurationsunterstützung.
- 3D-Modellunterstützung — Native Unterstützung für BetterModel und ModelEngine mit automatischer Verwaltung der Modellsichtbarkeit.
- Publikumsgruppen — Zeige NPCs bestimmten Spielergruppen über das Publikumssystem von TypeWriter an. Unterstützt
PlayerGroupfür spielerspezifische NPCs. - Sichtbarkeitssteuerung — Feingranulare Sichtbarkeitssteuerung pro Spieler mit automatischer Handhabung beitretender Spieler.
- Interaktionen — Löse Quests und Dialoge bei NPC-Interaktion mit anpassbaren Klicktypen aus.
- Animationen — Steuere Animationen, Haltungen und Bewegungszustände über die ModelEngine-/BetterModel-API.
Architektur
Modellintegration
Die Erweiterung unterstützt sowohl BetterModel als auch ModelEngine für das Rendering von 3D-Modellen:
- BetterModel
- ModelEngine
BetterModel ist der bevorzugte Modellanbieter. Die Erweiterung nutzt die native EntityTrackerRegistry-API für optimale Sichtbarkeitssteuerung:
- Verwendet
registry.spawnIfNotSpawned(player), um Modelle anzuzeigen - Verwendet
registry.remove(player), um Modelle zu verbergen - Volle Unterstützung der Modellsichtbarkeit pro Spieler
ModelEngine wird ebenfalls über die Kompatibilitäts-API unterstützt:
- Verwendet
setForceViewing/setForceHiddenfür die Basis-Entitätsdaten - Automatischer Rückgriff, wenn BetterModel nicht verfügbar ist
Hinweis: Das Modell muss in deiner MythicMob-YAML-Datei konfiguriert werden. TypeWriter verwaltet die Sichtbarkeit automatisch, wendet aber keine Modelle auf Entitäten an.
Publikumsgruppen
Die Erweiterung unterstützt das Publikumssystem von TypeWriter zur Steuerung der NPC-Sichtbarkeit:
# Mit PlayerGroup sieht jeder Spieler seine eigene NPC-Instanz
group: player_group_entry_id
Bei Verwendung von PlayerGroup:
- Jeder Spieler hat seine eigene dedizierte NPC-Entität
- NPCs sind für Spieler außerhalb ihres Publikums unsichtbar
- Automatische Handhabung von Spielern, die beitreten oder die Welt wechseln
Einträge
- Entitätsdefinitionen — MythicMob NPC Definition: einen MythicMob-basierten NPC definieren. MythicMob NPC Instance: einen NPC in der Welt platzieren.
- Aktionen — Show NPC: NPC dem Spieler anzeigen. Hide NPC: NPC vor dem Spieler verbergen.
- Fakten und Variablen — Prüfe Leben, Anwesenheit und Distanz eines NPC mit Fakten. Nutze Variablen, um auf Stufen-, Kraft- und Zustandsdaten zuzugreifen.
- Ereignisse und Cinematics — NPC Interact Event: Auslösung beim Anklicken. NPC Cinematic: NPCs in Szenen verwenden.
Schnellstart
- 1. Aktionen auslösen — Verwende Aktionseinträge, um mit der Erweiterung zu interagieren: show_npc, hide_npc. Löse sie über Befehle, NPCs, Ereignisse oder andere Einträge aus. → show_npc → hide_npc
Konfigurationsoptionen
NPC Definition
| Option | Beschreibung |
|---|---|
mobType | Der interne Name des zu verwendenden MythicMob |
ticking | true für serverseitig (echte Entität), false für clientseitig (paketbasiert) |
showDisplayName | Ob ein Namensschild über dem NPC angezeigt wird |
cancelInteractAnimation | Die Armschwung-Animation bei Interaktion deaktivieren |
NPC Instance
| Option | Beschreibung |
|---|---|
spawnLocation | Wo der NPC erscheinen soll (unterstützt dynamische Positionen) |
group | Publikumsgruppe zur Sichtbarkeitssteuerung |
activity | Entitätsaktivitätseintrag für das NPC-Verhalten |
Abhängigkeiten
| Extension | Erforderlich | Verwendung |
|---|---|---|
| QuestExtension | Erforderlich | Kern-Quest-Engine. |
| BasicExtension | Erforderlich | Kern-Dienstprogramme der Erweiterungen. |
| EntityExtension | Erforderlich | Framework zur Entitätsverwaltung. |
| RoadNetworkExtension | Erforderlich | NPC-Pathfinding und Straßennetz. |
| PlaceholderAPI | Optional | Für @Placeholder-Felder. |