Keller-Dev Docs · Java & Hytale

Plugin-System

Interface-basierte Entkopplung von Interaktionsobjekten

Das Interaktionssystem verbindet die Blickrichtung des Spielers (facingRow / facingCol) mit Objekten in der Welt. Design-Patterns:Interface Interactable: Ermöglicht die polymorphe Behandlung aller ansprechbaren Objekte (NPCs, Truhen, Schildern). Zustandsloses Subsystem: InteractionSystem hält als Utility-Klasse keinen eigenen State, wodurch Kopplung vermieden wird. Blickrichtungs-Ziel: Das Ziel-Tile errechnet sich aus playerCenter + facingOffset.

Referenz: Datei 1. Spielprojekt · Klasse Interactable, InteractionSystem, Player
// Ermittlung des Zielfeldes davor
int targetRow = playerCenterRow + player.getFacingRow();
int targetCol = playerCenterCol + player.getFacingCol();

for (InteractableObject object : objects) {
    if (object.getTileRow() == targetRow && object.getTileCol() == targetCol) {
        object.interact(); // Polymorpher Aufruf
        return;
    }
}
#interface #decoupling #facing-direction #grid-interaction
Bearbeiten