Mit speziellen Content Patcher-Tokens können Konfigurationswerte, Übersetzungen, dynamische Token und Assets aus anderen Mods abgerufen werden.
Die Cross-Mod-Kompatibilitäts-Tokens fügen spezielle, benutzerdefinierte Content-Patcher-Tokens hinzu, mit denen Sie (als Mod-Autor) auf Konfigurationswerte, Übersetzungen und dynamische Tokens anderer Mods zugreifen können, auch solcher, die nicht speziell für Content Patcher entwickelt wurden. Dies ist besonders nützlich, wenn Sie keine andere Möglichkeit haben, die perfekte Kompatibilität zwischen Ihrer Mod und der anderer Mods sicherzustellen, falls Sie Änderungen basierend auf den genannten Werten vornehmen müssen.
InstallationNutzung für SpielerDiese Mod hat allein keine Funktion. Die Installation bringt Ihnen als Nutzer keinen Vorteil, wenn eine andere von Ihnen verwendete Mod sie nicht benötigt.
Verwendung für Autoren von Content Patcher-ModsDiese Modifikation fügt vier Spielsteine hinzu:
- Spiderbuttons.CMCT/Config
- Spiderbuttons.CMCT/Übersetzung
- Spiderbuttons.CMCT/Dynamic
- Spiderbuttons.CMCT/Asset
Mit jedem dieser Token können Sie die Konfigurationswerte, Übersetzungszeichenfolgen, dynamischen Tokenwerte bzw. internen Asset-Schlüssel abrufen. Alle vier
erfordern Eingabeargumente. Das erste Eingabeargument ist immer die UniqueID des Moduls, dessen Wert Sie abrufen möchten. Das zweite Eingabeargument hängt vom jeweiligen Token ab:
- Konfiguration: Der Name des zu suchenden Konfigurationswerts. Ist der Konfigurationswert verschachtelt, muss der vollständige Konfigurationspfad anhand der JSON-Struktur angegeben werden.
- Übersetzung: Der i18n-Schlüssel der gewünschten Übersetzung. Es wird immer die Übersetzung für die aktuell ausgewählte Sprache abgerufen.
- Dynamisch: Der Name des dynamischen Tokens.
- Asset: Der Pfad des Assets aus dem anderen Mod relativ zu ihre manifest.json-Datei.
Wenn Sie eines dieser Token verwenden,
muss Setze die andere Mod als Abhängigkeit. Andernfalls...
könnte Es funktioniert, kann aber auch zu einigen seltsamen Fehlern führen. Hier sind vier Beispiele, eines für jedes Token.
Schlage alles nach,
Hutmaus Lacey, Und
Buttons Zusatzbücher zur Veranschaulichung:
- {{Spiderbuttons.CMCT/Config: Pathoschild.LookupAnything, Controls.ToggleSearch}}
- {{Spiderbuttons.CMCT/Translation: ichortower.HatMouseLacey, houseDisplayName}}
- {{Spiderbuttons.CMCT/Dynamic: ichortower.HatMouseLacey, Lacey}}
- {{Spiderbuttons.CMCT/Asset: Spiderbuttons.ButtonsExtraBooks, assets/Books/sheet.png}}
EinschränkungenAktuell gibt es zwei Hauptpunkte, die ich als Einschränkungen betrachten würde:
- Übersetzungen, die Tokens als Eingabe verwenden (d. h. i18n-Werte, die eigene {{tokens}} innerhalb des i18n selbst enthalten), funktionieren nicht korrekt und erfassen nur die Literalzeichenkette, in der sich das Token noch in den geschweiften Klammern befindet.
- Dynamische Token werden nur beim Laden eines Spielstands initialisiert, nicht beim Spielstart. Ob das für Sie relevant ist, hängt von Ihren individuellen Gegebenheiten ab.
Erwähnenswert ist auch, dass Sie das dynamische Token verwenden sollten.
so sparsam wie möglichOhne zu sehr ins Detail zu gehen, wie Content Patcher funktioniert: Aufgrund der Art und Weise, wie ich das Token implementiert habe, signalisiert es immer, dass seine Änderungen übernommen werden sollen, selbst wenn sich das dynamische Token, das es von einem anderen Mod prüft, nicht geändert hat. Das ist nicht weiter schlimm, wenn dein Token nur OnDayStart aktualisiert, wie es Tokens standardmäßig tun. Es kann aber potenziell ressourcenintensiv werden, wenn du es bei OnTimeChange oder OnLocationChange aktualisierst!
Quellcode