Config
#Configuração
Feathered Friend tem duas camadas de configuração:
- Configuração do cliente (
featheredfriend-client.toml): UI e comportamento de preferência local. - Configuração do servidor (
featheredfriend-server.toml): valores oficiais de jogo sincronizados com os clientes.
Em uma execução típica de desenvolvimento:
neoforge/run/config/featheredfriend-client.tomlneoforge/run/config/featheredfriend-server.toml
A configuração do servidor !!! tip "Authoritative model" é a fonte da verdade para as regras de jogo. Os clientes recebem valores sincronizados e devem tratá-los como somente leitura, a menos que o servidor permita a edição.
Sincronizar pipeline
- Configurações de solicitações do cliente (
RequestServerSettingsPayload). - O servidor envia um instantâneo completo (
ServerSettingsPayload). - O servidor também envia configurações no login.
- O observador de ticks do servidor verifica alterações de configuração e retransmissões.
Portanto, as edições do hot-reload TOML e das configurações do jogo se propagam para os clientes conectados.
Comportamento de recarga a quente
Os valores de configuração do servidor em FFServerConfig são valores de tempo de execução.
FFConfigSyncEvents monitora valores e retransmite se eles mudarem, incluindo:
- alterna recursos (
enableSuspiciousFeather,enableSuspiciousChest,enableRavenArmor,enableMailbox) - limites/recargas
- alternar bate-papo
ravenLinkDurationSeconds é relido durante as sessões ativas, portanto, os links atuais podem ser encurtados/estender imediatamente após as alterações de configuração.
DEEP DIVE: dirty-flag + save
Os configuradores em FFServerConfig marcam as configurações como sujas e tentam SERVER_SPEC.save() para que as alterações possam ser sincronizadas rapidamente e persistirem no disco.
Permissões de configurações no jogo
A GUI de configurações personalizadas é aberta por meio do atalho de teclado open_settings (desvinculado por padrão).
As edições do lado do servidor são permitidas somente quando ambas são verdadeiras:
allowServerSettingsScreenEditing = true- o jogador tem permissão de operador nível 4
Caso contrário, os clientes poderão visualizar os valores sincronizados, mas não poderão aplicar edições nas configurações do servidor.
Configuração do cliente (somente local)
A configuração do cliente controla apenas a UI/preferências locais, incluindo:
scrollUiFontMode(VANILLA,JACQUARD,ALAGARD)- posição/âncora/modo visual do crachá de status do corvo
- chave de carimbo de selo favorita
- configurações de visualização do raven log (visibilidade/cores da categoria)
Isso não altera a jogabilidade do servidor.
Configuração do servidor (autoridade de jogo)
settings seção
| Key | Default | Range | Purpose |
|---|---|---|---|
chatDisabledDefault | false | bool | Global player chat disable (commands unaffected). |
ravenChestsPerPlayer | 3 | 0..64 | Max placed Suspicious Chests per player. |
ravenLogRetentionMinutes | 10080 | 0..129600 | Raven log retention window (minutes). |
ravenLogMaxBytesPerPlayer | 262144 | 0..4194304 | Max Raven log size per player before clear. |
enderpackDepositCooldownSeconds | 600 | 0..86400 | Cooldown between Enderpack -> chest deposit workflows. |
scrollDeliveryCooldownSeconds | 600 | 0..86400 | Cooldown between scroll courier dispatches. |
courierTimeoutRetrySeconds | 60 | 0..86400 | Auto-retry interval for timeout-failed courier jobs. |
brushRavenCooldownSeconds | 30 | 0..86400 | Cooldown between brushing ravens. |
ravenLinkDurationSeconds | 30 | 5..600 | Raven Link session duration. |
allowServerSettingsScreenEditing | true | bool | Allows/disallows OP editing in settings screen. |
features.enableSuspiciousFeather | true | bool | Enables Suspicious Feather logic. |
features.enableSuspiciousChest | true | bool | Enables Suspicious Chest special logic. |
features.enableRavenArmor | true | bool | Enables Raven Armor equip/stat logic. |
features.enableMailbox | true | bool | Enables mailbox spotting + courier mailbox routing. |
spawning seção
| Key | Default | Range | Purpose |
|---|---|---|---|
wildRavensPerPlayer | 1 | 0..16 | Wild raven cap per online non-spectator player. |
Se a alternância de recursos estiver desativada
O recurso alterna para desabilitar a lógica, não a existência de item/bloco:
- itens/blocos existentes permanecem
- os inventários permanecem acessíveis
- sistemas de tempo de execução específicos de recursos são ignorados
Exemplos:
enableMailbox=false: o armazenamento da caixa de correio ainda abre, mas a detecção/roteamento está desabilitada.enableSuspiciousChest=false: o armazenamento do baú ainda funciona, mas a lógica de poleiro/depósito está desabilitada.enableSuspiciousFeather=false: O caminho de início/revivificação do Raven Link está desabilitado.
Desativar um recurso é apenas uma alternância de comportamento. Ele não remove os dados mundiais existentes para esse recurso.
Exemplo de instantâneo do servidor
{
"settings": {
"ravenChestsPerPlayer": 3,
"enderpackDepositCooldownSeconds": 600,
"scrollDeliveryCooldownSeconds": 600,
"ravenLinkDurationSeconds": 30,
"allowServerSettingsScreenEditing": true,
"features": {
"enableSuspiciousFeather": true,
"enableSuspiciousChest": true,
"enableRavenArmor": true,
"enableMailbox": true
}
},
"spawning": {
"wildRavensPerPlayer": 1
}
}Apoie este projeto
Gostou desta wiki e destes mods?
Cada apoio ajuda a continuar criando recursos, escrevendo documentacao e lancando atualizacoes.