Keller-Dev Docs · Java & Hytale

Java Core

Dynamische Interaktionslogik basierend auf Entitäts-Zuständen

Die Interaktionsmethode eines NPCs wertet den aktuellen Zustand einer verknüpften Quest dynamisch aus. Abhängig vom Status verändert sich sowohl der im Dialog ausgegebene Text als auch der Quest-Zustand selbst. Ablauf:NOT_STARTET: Der Begrüßungstext wird angezeigt und die Quest durch quest.start() automatisch in den Status ACTIVE versetzt. ACTIVE: Ergänzender Zwischentext wird angezeigt. COMPLETED: Danksagungstext wird ausgegeben.

Referenz: Datei 1. Spielprojekt · Klasse NPC
@Override
public void interact() {
    if (quest == null) {
        dialogBox.show(name + ": " + greetingText);
        return;
    }

    switch (quest.getStatus()) {
        case NOT_STARTET:
            dialogBox.show(name + ": " + greetingText);
            quest.start(); // Statuswechsel durchführen
            break;
        case ACTIVE:
            dialogBox.show(name + ": Hast du '" + quest.getTitle() + "' schon erledigt?");
            break;
        case COMPLETED:
            dialogBox.show(name + ": Danke nochmal für deine Hilfe!");
            break;
    }
}
#npc #dialog #enum-switch #quest-system #interaction
Bearbeiten