Zum Hauptinhalt springen

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 PlayerGroup fü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 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

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ätsdefinitionenMythicMob NPC Definition: einen MythicMob-basierten NPC definieren. MythicMob NPC Instance: einen NPC in der Welt platzieren.
    • AktionenShow 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 CinematicsNPC 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

OptionBeschreibung
mobTypeDer interne Name des zu verwendenden MythicMob
tickingtrue für serverseitig (echte Entität), false für clientseitig (paketbasiert)
showDisplayNameOb ein Namensschild über dem NPC angezeigt wird
cancelInteractAnimationDie Armschwung-Animation bei Interaktion deaktivieren

NPC Instance

OptionBeschreibung
spawnLocationWo der NPC erscheinen soll (unterstützt dynamische Positionen)
groupPublikumsgruppe zur Sichtbarkeitssteuerung
activityEntitätsaktivitätseintrag für das NPC-Verhalten

Abhängigkeiten

ExtensionErforderlichVerwendung
QuestExtensionErforderlichKern-Quest-Engine.
BasicExtensionErforderlichKern-Dienstprogramme der Erweiterungen.
EntityExtensionErforderlichFramework zur Entitätsverwaltung.
RoadNetworkExtensionErforderlichNPC-Pathfinding und Straßennetz.
PlaceholderAPIOptionalFür @Placeholder-Felder.