← Creator-Handbuch

Creator-Handbuch

Content-Packs, Namespaces & Modding
Erstelle eigene Inhalte für Dice & Screen — Items, Abilities, Forms, Summons, Enemies und Feats — mit dem Content-Pack-System.

Überblick

Dice & Screen nutzt ein Namespace- & Content-Pack-System für alle spielbaren Inhalte. Jede Content-Datei gehört zu einem Creator (z. B. diceandscreen) und einem Pack (z. B. baseset). Das ermöglicht:

1. Das Namespace-Schema

Jede Content-Datei hat drei Pflichtfelder, aus denen die ID automatisch gebildet wird:

{
  "creator": "diceandscreen",
  "pack": "baseset",
  "itemname": "longsword_common",
  "name": { "de": "Langschwert", "en": "Longsword" }
}

Die eindeutige ID wird zusammengesetzt: creator:pack:itemname

diceandscreen:baseset:longsword_common

Bezeichner-Regeln

2. Dateinamen-Konvention

Da der Doppelpunkt (:) auf Windows ungültig ist, wird der Dateiname mit Unterstrich gebildet:

ID:       diceandscreen:baseset:longsword_common
Dateiname: diceandscreen_baseset_longsword_common.json

Die JSON-Felder creator, pack, itemname bleiben als separate Werte erhalten.

3. Content-Domänen

Folgende Content-Typen unterstützen das Namespace-System:

DomäneOrdnerBeschreibung
Itemsdata/items/Waffen, Rüstungen, Tränke, Schmuck, Misc
Abilitiesdata/abilities/Fähigkeiten, Zauber, Reaktionen
Formsdata/forms/Verwandlungs-Formen (Wild Shape etc.)
Summonsdata/summons/Beschwörungs-Templates
Enemiesdata/enemies/Gegner-Definitionen
Featsdata/feats/Feat-Definitionen
Nicht modbar: Effects/EffectPresets (data/effects/) und Mechanics (data/mechanics.json) sind Engine-intern und nicht Teil des Namespace-Systems. Biomes und NPCs sind ebenfalls out of scope.

4. Eigenes Content-Pack erstellen

Schritt 1: Creator- & Pack-Namen wählen

Wähle einen eindeutigen Creator-Namen (z. B. myhomebrew) und einen Pack-Namen (z. B. mymodules).

Schritt 2: JSON-Datei erstellen

Lege eine Datei im entsprechenden Ordner an, z. B. data/items/myhomebrew_mymodules_flaming_sword.json:

{
  "creator": "myhomebrew",
  "pack": "mymodules",
  "itemname": "flaming_sword",
  "name": { "de": "Flammenschwert", "en": "Flaming Sword" },
  "type": "WEAPON",
  "rarity": "RARE",
  "damage": "1d8",
  "damageType": "FIRE",
  "weight": 3.0,
  "value": 500
}

Schritt 3: Im Pack-Manager aktivieren

Öffne den Pack-Manager im Startscreen. Dein Pack myhomebrew:mymodules erscheint automatisch in der Liste. Aktiviere es mit dem Toggle-Schalter.

5. Pack-Manager-UI

Der Pack-Manager ist über einen Button im Startscreen erreichbar (vor Session-Start). Er zeigt alle entdeckten Packs mit Toggle-Schaltern:

Packs sind fix pro Session — sie können nur vor Session-Start geändert werden, nicht in einer laufenden Session.

6. Verhalten bei deaktivierten / fehlenden Packs

Wenn ein Charakter Content referenziert, der nicht geladen ist — egal ob wegen deaktiviertem Pack, fehlender Mod-Datei oder Mod-Update — greift die Phantom-Logik:

Robustheit: Charaktere gehen bei Mod-Updates oder temporär deaktivierten Mods nicht kaputt. Die Phantom-Logik gilt universell für fehlenden Content — nicht nur für Deaktivierung.

7. Save-Format

Charaktere speichern Namespace-IDs (diceandscreen:baseset:longsword_common). Bei Save-Format-Brüchen (z. B. Wechsel von flachen IDs auf Namespace-IDs) ist keine Backward-Kompatibilität gewährleistet — alte Saves mit flachen IDs laden nicht mehr. Dies wird im Changelog dokumentiert.

Achtung: Beim Wechsel auf das Namespace-System werden alte Savegames nicht mehr kompatibel sein. Erstelle ein Backup deiner Charaktere vor dem Update.