Obtenha valores de configuração, traduções, tokens dinâmicos e recursos de outros mods com tokens especiais do Content Patcher.
Os tokens de compatibilidade entre mods adicionam alguns tokens especiais e personalizados do Content Patcher que permitem que você (se for um autor de mod) acesse os valores de configuração, traduções e tokens dinâmicos de outros mods, incluindo mods que não foram feitos especificamente para o Content Patcher. Isso pode ser útil se você realmente não tiver outra maneira de garantir a compatibilidade perfeita entre o seu mod e o de outros mods, caso precise fazer alterações dependendo de algum dos valores mencionados.
InstalaçãoUtilização pelos jogadoresEste mod não faz nada sozinho. Não há benefício algum em instalá-lo como usuário se outro mod que você esteja usando não o exigir.
Uso para autores de mods do Content PatcherEste mod adiciona quatro fichas:
- Spiderbuttons.CMCT/Config
- Spiderbuttons.CMCT/Tradução
- Spiderbuttons.CMCT/Dinâmico
- Spiderbuttons.CMCT/Asset
Cada um desses tokens permitirá que você obtenha os valores de configuração, as strings de tradução, os valores dinâmicos dos tokens ou as chaves internas dos recursos, respectivamente. Todos os quatro.
exigir Argumentos de entrada. O primeiro argumento de entrada será sempre o ID único do módulo do qual você está tentando obter o valor. O segundo argumento de entrada dependerá do token em questão:
- Config: O nome do valor de configuração a ser encontrado. Se o valor de configuração estiver aninhado, você deve incluir o caminho completo da configuração com base na estrutura JSON.
- A chave i18n da tradução desejada. Ela sempre usará a tradução para o idioma selecionado no momento.
- Dinâmico: O nome do token dinâmico.
- Recurso: O caminho do recurso do outro mod em relação a deles Arquivo manifest.json.
Se você usar algum desses tokens, você
deve Defina o outro mod como uma dependência. Caso contrário, ele
poder funciona, mas também pode gerar alguns erros estranhos. Aqui estão quatro exemplos, um para cada token, usando
Pesquise qualquer coisa,
Rato de Chapéu Lacey, e
Livros extras de Button Para demonstração:
- {{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}}
LimitaçõesAtualmente, existem dois aspectos principais que eu consideraria limitações:
- Traduções que recebem tokens como entrada (ou seja, valores i18n que possuem seus próprios {{tokens}} dentro do próprio i18n) não funcionam corretamente e capturarão apenas a string literal com o token ainda presente entre as chaves.
- Os tokens dinâmicos são inicializados apenas quando um jogo salvo é carregado, não quando o jogo é iniciado. Isso pode ou não ser relevante para você.
Vale mencionar também que você deve usar o token dinâmico.
com a maior parcimônia possívelSem entrar em muitos detalhes técnicos sobre o funcionamento do Content Patcher, devido à forma como implementei o token, ele sempre sinalizará que suas alterações devem ser propagadas, mesmo que o token dinâmico que ele está verificando de outro mod não tenha sido alterado. Isso não é tão ruim se o seu token só atualiza o evento OnDayStart, como os tokens fazem por padrão, mas pode se tornar um problema se você estiver atualizando o evento OnTimeChange ou OnLocationChange!
Código-fonte