Mod-Konfigurationen
Der Tab Konfiguration definiert Variablen, die Server-Administratoren beim Installieren deiner Mod ausfüllen müssen.
Jedes Konfigurationsfeld kann enthalten:
- Bezeichner (Schlüssel)
- Anzeigetitel
- Hilfetext
- Pflichtfeld-Markierung
- Standardwert
- eine Bedingung unter Nur anzeigen, wenn …
Verwende klare Bezeichner und aussagekräftige Hilfetexte, damit Server-Administratoren deine Mod ohne Rätsel konfigurieren können.
Validierungshinweis:
- Pflichtfelder werden als nicht-leere Werte geprüft.
- Wenn du einen Standardwert angibst, müssen Administratoren dieses Feld möglicherweise nicht manuell ausfüllen.
- Ein ausgeblendetes Feld ist nie Pflicht.
Sektionen und Bedingungen
Mit dem Typ Sektion fügst du eine Überschrift ein: Der Titel fasst die Felder danach bis zur nächsten Sektion zusammen, der Hilfetext steht unter dem Titel. Eine Sektion ist keine Variable und kommt nie in deinen Templates an. Sektionen ersetzen den früheren freien Gruppennamen; bestehende Gruppen wurden in Sektionen umgewandelt.
Felder und Sektionen können eine Bedingung haben: Wähle ein Feld weiter oben, einen Operator und einen Wert, und verknüpfe Regeln mit alle / mindestens eine, verschachtelten Gruppen und nicht — zum Beispiel die Koordinaten des Brunnens nur zeigen, solange Brunnen spawnen an ist. Eine Bedingung an einer Sektion blendet alle ihre Felder aus.
Ein ausgeblendetes Feld ist in deinen Templates null, auch wenn es einen Standardwert hat — sichere es also mit |default oder einem {if} ab. Bedingungen können nur Felder weiter oben lesen; ein Umsortieren, das eine Bedingung brechen würde, wird verweigert, und beim Umbenennen eines Feldes werden seine Bedingungen mitgezogen. Ein Feld, von dem andere Bedingungen abhängen, lässt sich erst löschen, wenn diese Bedingungen geändert sind.
Jedes Konfigurationsfeld wird zu einer Dynamischen Variable unter seinem Bezeichner. Wenn deine Mod ein Feld mit dem Bezeichner spawn_location hat, ist es als {$spawn_location} in allen Dateiinhalten und Pfaden verfügbar, wenn Dynamische Variablen aktiviert sind.
Feldtypen
| Typ | Form der Template-Variable | Hinweise |
|---|---|---|
string | string|null | Einzeiliger Text; leer → null |
textarea | string|null | Mehrzeiliger Text; im Template identisch zu string |
email | string|null | Eingabe einer E-Mail-Adresse; im Template identisch zu string |
number | int|float|null | Automatische Umwandlung; für optionale Felder |default: 0 verwenden |
boolean | bool|null | Bedingt ausgeben: {if $flag}true{else}false{/if} |
coordinate | {x, z, y?, radius?}|null | Unterfelder ansprechen: {$pos.x}, {$pos.z} |
generic_select | string|null oder string[] | Auswahl aus einer festen Liste; Array bei multiple: true |
faction_select | string|null oder string[] | Fraktions-IDs des Servers |
zone_select | string|null oder string[] | Zonen-IDs des Servers |
player_select | string|null oder string[] | Spielernamen des Servers |
relation_select | string[] | Immer ein Array, nie null — leer ergibt [] |
discord_channel_select | string|null oder string[] | IDs von Discord-Textchannels |
discord_category_select | string|null oder string[] | IDs von Discord-Kategorien |
discord_role_select | string|null oder string[] | IDs von Discord-Rollen |
discord_guild_select | string|null oder string[] | IDs von Discord-Guilds |
object_list | array | Wiederholbare Liste von Objekten, nie null — mit {foreach} durchlaufen |
Vollständige Template-Beispiele pro Typ stehen in der Mod-Builder-Agentenreferenz.
Die Typen event_filter und discord_embed gibt es hier nicht: Sie beschreiben, auf welche Ereignisse eine Aktion reagiert und was sie in Discord postet – in einer Spieldatei bedeutet das nichts. Sie gibt es nur für Aktionen.