Pobierz wartości konfiguracji, tłumaczenia, tokeny dynamiczne i zasoby z innych modów za pomocą specjalnych tokenów Content Patcher.
Tokeny zgodności międzymodowej dodają specjalne, niestandardowe tokeny Content Patchera, które umożliwiają (jeśli jesteś autorem moda) dostęp do wartości konfiguracji, tłumaczeń i tokenów dynamicznych z innych modów, w tym modów, które nie są przeznaczone specjalnie dla Content Patchera. Mogą się one przydać, jeśli naprawdę nie masz innego sposobu na zapewnienie idealnej zgodności między swoim modem a ich modem, jeśli musisz coś zmienić w zależności od którejkolwiek z wyżej wymienionych wartości.
InstalacjaZastosowanie dla graczyTen mod sam w sobie nic nie robi. Nie ma sensu instalować go jako użytkownik, jeśli inny używany mod tego nie wymaga.
Zastosowanie dla autorów modów Content PatcherTen mod dodaje cztery tokeny:
- Spiderbuttons.CMCT/Config
- Spiderbuttons.CMCT/Tłumaczenie
- Przyciski pająka.CMCT/Dynamiczny
- Spiderbuttons.CMCT/Asset
Każdy z tych tokenów pozwoli Ci pobrać odpowiednio wartości konfiguracji, ciągi tłumaczeń, wartości tokenów dynamicznych lub wewnętrzne klucze zasobów. Wszystkie cztery
wymagać Argumenty wejściowe. Pierwszy argument wejściowy zawsze będzie UniqueID modułu, z którego próbujesz pobrać wartość. Drugi argument wejściowy będzie zależał od danego tokena:
- Konfiguracja: Nazwa wartości konfiguracji do znalezienia. Jeśli wartość konfiguracji jest zagnieżdżona, należy podać pełną ścieżkę konfiguracji na podstawie struktury JSON.
- Tłumaczenie: Klucz i18n tłumaczenia, którego szukasz. Zawsze pobierze tłumaczenie dla aktualnie wybranego języka.
- Dynamiczny: Nazwa tokena dynamicznego.
- Zasób: Ścieżka zasobu z innego moda względem ich Plik manifest.json.
Jeśli użyjesz któregokolwiek z tych tokenów,
musieć Ustaw inny mod jako zależność. Jeśli tego nie zrobisz,
móc Działa, ale może też powodować dziwne błędy. Oto cztery przykłady, po jednym dla każdego tokenu, używając
Wyszukaj cokolwiek,
Kapelusz Myszki Lacey, I
Dodatkowe książki Buttona dla demonstracji:
- {{Spiderbuttons.CMCT/Config: Pathoschild.LookupAnything, Controls.ToggleSearch}}
- {{Spiderbuttons.CMCT/Tłumaczenie: ichortower.HatMouseLacey, houseDisplayName}}
- {{Spiderbuttons.CMCT/Dynamika: ichortower.HatMouseLacey, Lacey}}
- {{Spiderbuttons.CMCT/Asset: Spiderbuttons.ButtonsExtraBooks, assets/Books/sheet.png}}
OgraniczeniaObecnie są dwie główne rzeczy, które uznałbym za ograniczenia:
- Tłumaczenia przyjmujące tokeny jako dane wejściowe (np. wartości i18n, które mają własne {{tokeny}} wewnątrz samego i18n) nie działają poprawnie i zbierają jedynie ciąg literałowy z tokenem nadal obecnym w nawiasach klamrowych.
- Tokeny dynamiczne są inicjowane tylko podczas wczytywania zapisu, a nie podczas uruchamiania gry. Może to mieć dla Ciebie jakiekolwiek znaczenie, a może nie.
Warto również wspomnieć, że należy używać tokena dynamicznego
tak oszczędnie, jak to możliweNie wdając się zbytnio w szczegóły techniczne działania Content Patchera, ze względu na sposób, w jaki musiałem zaimplementować token, zawsze sygnalizuje on, że zmiany powinny zostać rozpropagowane, nawet jeśli sprawdzany token dynamiczny z innego moda nie uległ zmianie. Nie jest to takie złe, jeśli token aktualizuje tylko OnDayStart, tak jak tokeny domyślnie, ale może być kosztowne, jeśli aktualizujesz go OnTimeChange lub OnLocationChange!
Kod źródłowy