Files
rustkeep/.scratch/rustkeep-1.0/issues/02-typ-registry.md

915 B

02 — Typ-Registry statt Enums

Type: grilling Status: open Blocked by: 01

Question

Wie werden Item-Typen, Rassen und Klassen zu Daten statt zu Rust-Enums?

enum ItemType kann ein Modder nicht erweitern — es muss eine Registry aus String-IDs werden. Zu klären:

  • Was deklariert ein Typ? Ausrüstungsslot, welche Felder Pflicht sind, welche Effekte er tragen darf.
  • Gibt es Slots als eigene Registry (core:helmet), oder ist der Slot ein fester Aufzählungswert?
  • Wie prüft das Spiel beim Laden, dass ein Item einen existierenden Typ nennt — und was passiert, wenn nicht?
  • Wie unterscheiden sich Rasse und Klasse strukturell, oder sind beide dasselbe: eine benannte Effektliste plus Metadaten?
  • Was verliert man ohne Enum an Compile-Zeit-Sicherheit, und was fängt das ab (Validierung beim Laden)?

Ergebnis: das Registry-Datenmodell plus TOML-Beispiel für einen selbstdefinierten Item-Typ.