Keller-Dev Docs · Java & Hytale

Java Core

String-basierte Schlüssel-IDs für spätere Data-Driven Architecture

Obwohl Enums für Status-Typen ideal sind, wird für die Eindeutigkeit (id) von Quests oder Items auf String-Identifikatoren gesetzt. Hintergrund & Best Practice: Wenn Spieledaten (Quests, Items, Dialoge) später aus externen Konfigurationsdateien (z. B. JSON, YAML, XML) geladen werden, müssen neue Einträge hinzugefügt werden können, ohne den Java-Code kompilieren zu müssen. Ein Enum als ID würde eine feste Bindung im Quellcode verlangen, während String-IDs eine dynamische Skalierung über Dateien ermöglichen.

Referenz: Datei 1. Spielprojekt · Klasse Quest
public class Quest {
    private final String id; // e.g. "welcome_quest" statt einem festen Enum
    private final String title;
    private final String description;
    private Queststatus status;

    public Quest(String id, String title, String description) {
        this.id = id;
        this.title = title;
        this.description = description;
        this.status = Queststatus.NOT_STARTET;
    }
}
#architecture #data-driven #serialization #json #extensibility
Bearbeiten