Configuração e Permissões do ResurrectionChest
Permissões
| Permissão | Propósito | Padrão |
|---|---|---|
resurrectionchest.* | Dá aos administradores acesso aos comandos de configuração, conteúdo, atualização, recarregamento e limpeza | op |
resurrectionchest.setup | Dá aos administradores acesso a /resurrectionchest setup, recommendedplugins, downloadallcontent e updatecontent | op |
resurrectionchest.initialize | Permite abrir a configuração inicial com /resurrectionchest initialize. | op |
resurrectionchest.use | Permite que um jogador registre um baú e tenha os itens de morte roteados para ele | true |
resurrectionchest.model.free | Permite que um jogador use os visuais gratuitos de baú do FreeMinecraftModels (Wooden Chest) | true |
resurrectionchest.model.premium | Permite que um jogador use os visuais premium de baú do FreeMinecraftModels (Angelic Chest) | op |
resurrectionchest.use é a permissão importante para o comportamento real do baú. As permissões de administrador e de modelo afetam apenas os comandos e os visuais opcionais, respectivamente.
Comandos
| Comando | Permissão | Propósito |
|---|---|---|
/resurrectionchest | resurrectionchest.* | Exibe uma breve nota de informação apontando para o fluxo de configuração |
/resurrectionchest setup | resurrectionchest.setup | Abre o menu de configuração (navegar/alternar pacotes de baú, verificar atualizações do plugin, ver plugins recomendados, alternar atualizações automáticas) |
/resurrectionchest recommendedplugins | resurrectionchest.setup | Abre (ou, no console, lista) os plugins complementares recomendados para o ResurrectionChest |
/resurrectionchest downloadall | resurrectionchest.* | Baixa a atualização do plugin (se houver) e todos os pacotes de conteúdo disponíveis do Nightbreak |
/resurrectionchest downloadallcontent | resurrectionchest.setup | Baixa todos os pacotes de conteúdo disponíveis do Nightbreak |
/resurrectionchest updatecontent (alias updateallcontent) | resurrectionchest.setup | Re-baixa apenas os pacotes de conteúdo instalados que estão desatualizados |
/resurrectionchest forcereinstallcontent <package|all> | resurrectionchest.* | Re-baixa um pacote de conteúdo (ou todos os pacotes já baixados) mesmo quando a versão instalada já está atualizada. Os nomes de pacote têm autocompletar para os slugs do Nightbreak wooden-chest e angelic-chest, além de all |
/resurrectionchest downloadpluginupdate | resurrectionchest.* | Baixa uma atualização do plugin ResurrectionChest se houver uma disponível |
/resurrectionchest reload | resurrectionchest.* | Recarrega o ResurrectionChest |
/resurrectionchest clear | resurrectionchest.* | Limpa todos os blocos rastreados pelo ResurrectionChest; dropa o inventário de cada baú rastreado e remove os blocos de baú e placa |
As atualizações de plugin baixadas são colocadas na pasta de atualização do servidor e só têm efeito após a próxima reinicialização do servidor.
Arquivos do Plugin
| Caminho | Propósito |
|---|---|
plugins/ResurrectionChest/config.yml | Todas as configurações da tabela abaixo |
plugins/ResurrectionChest/playerData.yml | Uma entrada por baú registrado, indexada pelo UUID do jogador: a location do baú, o prefixo chestModel escolhido quando o baú foi registrado, e um trackedBlockSchemaVersion usado para migrar registros mais antigos para as marcas de propriedade de bloco atuais |
plugins/ResurrectionChest/content_packages/ | As definições de pacote de conteúdo wooden_chest.yml / angelic_chest.yml (nome, descrição, link de download, versão, isEnabled, category) |
plugins/ResurrectionChest/nightbreak-changelogs.yml | Estado de lido/dispensado da caixa de entrada de changelogs compartilhada por trás de /resurrectionchestchangelog. Veja Notificações de Changelog |
plugins/ResurrectionChest/imports/ | Pasta de depósito para importações manuais. Tudo o que ficar aqui é descompactado na inicialização — arquivos de modelo são encaminhados para o FreeMinecraftModels e o FreeMinecraftModels é atualizado automaticamente. Veja Importações manuais vs gerenciamento no jogo |
Não edite playerData.yml à mão enquanto o servidor está rodando; o ResurrectionChest o reescreve sempre que um baú é registrado ou removido.
Superfície de Configuração
config.yml atualmente expõe estas configurações voltadas ao usuário:
| Chave de Config | Tipo | Padrão |
|---|---|---|
setupDone | boolean | false |
nightbreak.autoDownloadPluginUpdates | boolean | false |
Input name for death chest | string | [DeathChest] |
Enable high compatibility / low security mode for plugin conflicts | boolean | false |
Lower worn armor's durability on death | boolean | true |
Amount of durability to lower on death | int | 100 |
Chest creation message | string | &8[ResurrectionChest] &aYou've created your Death Chest! |
Chest destruction message | string | &8[ResurrectionChest] &cYour Death Chest has been destroyed! |
Chest missing message | string | &8[ResurrectionChest] &4Your Death Chest is missing! |
Chest protected region message | string | &8[ResurrectionChest] &cYou can't create a Death Chest here - this area is protected! |
Death message | string | &8[ResurrectionChest] &aYour items have been moved to your Death Chest! |
deathChestRemovedMessage | string | &8[ResurrectionChest] &cYour Death Chest has been removed! |
Enable particle effects for death chests | boolean | true |
Particle effect 1 | string | ENCHANTMENT_TABLE |
Particle effect 2 | string | ENCHANTMENT_TABLE |
Particle effect 3 | string | PORTAL |
blacklistedWorlds | list | [none] |
storeXP | boolean | true |
xpPercentageKept | double | 0.75 |
deathChestNameTag | string | $playerName's &fResurrection Chest |
freeSingleDeathChestModelName | string | resurrectionchest_free_single |
freeDoubleDeathChestModelName | string | resurrectionchest_free_double |
premiumSingleDeathChestModelName | string | resurrectionchest_angelic_single |
premiumDoubleDeathChestModelName | string | resurrectionchest_angelic_double |
Atualizações Automáticas de Plugin e Conteúdo
nightbreak.autoDownloadPluginUpdates é uma configuração compartilhada do Nightbreak/MagmaCore que vem incluída no ResurrectionChest. Seu padrão é false.
- Quando
false(o padrão), nada é baixado automaticamente. O ResurrectionChest ainda verifica se há uma atualização do plugin na inicialização (e aproximadamente uma vez por hora) para que o botão de atualização no jogo possa mostrar o resultado, mas você mesmo dispara qualquer download real. - Quando
true, o ResurrectionChest baixa uma atualização de plugin disponível e os pacotes de conteúdo desatualizados na inicialização. As atualizações de plugin e conteúdo baixadas só são usadas após a reinicialização do servidor. - Os downloads automáticos de plugin exigem um token de conta Nightbreak válido e uma assinatura de apoiador ativa.
Você pode alternar esta configuração no jogo a partir do botão Automatic Updates na barra de ferramentas dentro de /resurrectionchest setup, ou editar o config.yml diretamente.
O menu de configuração também expõe uma entrada Plugin Update (mostra a versão instalada/disponível e baixa uma atualização ao clicar) e uma entrada Recommended Plugins (a mesma lista de /resurrectionchest recommendedplugins).
Proteção de Regiões
Registrar um baú de morte é tratado como construir: antes de a placa ser aceita, o ResurrectionChest pergunta ao LocationQueryRegistry compartilhado do MagmaCore se o jogador pode construir no bloco do baú.
- WorldGuard e GriefPrevention são encapsulados automaticamente; se nenhum dos dois estiver instalado, não há restrição extra e o registro se comporta exatamente como antes.
- Se um plugin de proteção negar a construção, o registro é recusado e o jogador recebe a mensagem
Chest protected region message. - Se um adaptador de proteção lançar um erro, a consulta falha de forma fechada (o registro é recusado) em vez de contornar silenciosamente a proteção.
Os adaptadores são conectados durante a inicialização, então qualquer falha de conexão aparece no log de boot em vez de no primeiro registro de baú.
Penalidade de Durabilidade da Armadura
Lower worn armor's durability on death (padrão true) e Amount of durability to lower on death (padrão 100) são aplicados à armadura vestida do jogador enquanto ela é roteada para o baú de morte:
- cada peça de armadura vestida que aparece nos drops de morte recebe
Amount of durability to lower on deathsomado ao seu valor de dano - se isso levaria a peça à sua durabilidade máxima ou além dela, a peça é removida dos drops por completo (ela é destruída em vez de armazenada)
- caso contrário, a peça danificada é o que acaba sendo colocado no baú
A penalidade só roda em mortes que o ResurrectionChest de fato trata — ela é pulada quando keepInventory está ligado, quando o mundo está na lista negra, quando o jogador não tem resurrectionchest.use e quando o baú registrado está ausente.
Modo de Alta Compatibilidade
Enable high compatibility / low security mode for plugin conflicts tem o valor predefinido false. Nesse caso, a placa ou o baú registado deve manter a marca do proprietário esperado.
Com true, é aceite uma marca ausente numa localização registada. Uma marca de outro proprietário continua a ser rejeitada e o baú tem de continuar a ser um bloco de baú. Este modo ajuda com plugins que removem marcas; não aceita qualquer bloco de substituição.
Tratamento de XP
Quando storeXP está habilitado:
- o ResurrectionChest rastreia o XP total do jogador durante o jogo, mas lê o total ao vivo do jogador no momento da morte, então XP concedido diretamente pela API de outro plugin também é contabilizado
- na morte, armazena
XP total * xpPercentageKept - define o XP dropado como
0 - devolve o XP armazenado quando o proprietário abrir seu baú registrado na próxima vez (qualquer uma das metades de um baú duplo conta)
- morrer novamente antes de coletar soma ao valor armazenado em vez de substituí-lo
xpPercentageKept é limitado ao intervalo 0-1 quando a config é lida, então valores acima de 1 se comportam como 1 e valores negativos ou inválidos se comportam como 0.
Exceções importantes:
- Se
keepInventoryestiver ativo, ResurrectionChest não faz nada. - Se
keepLevelestiver ativo, o ramo de armazenamento de XP é pulado e o tratamento vanilla de nível é deixado intacto. - O XP armazenado é mantido apenas na memória. Ele não é gravado em
playerData.yml, então uma reinicialização do servidor, um/resurrectionchest reloadou um reload de plugins descarta qualquer XP que ainda não tenha sido coletado. Os itens já dentro do baú não são afetados.
Tratamento de Excedentes
Os itens são inseridos no baú um stack por vez e a inserção parcial é permitida:
- o que couber é armazenado, inclusive completando um stack já existente
- apenas a quantidade excedente permanece na lista normal de itens de morte, no local da morte
- o jogador recebe um aviso de que o baú estava cheio
Integração com FreeMinecraftModels
Se FreeMinecraftModels estiver instalado, ResurrectionChest pode gerar um prop visual de baú em cima do baú real.
Comportamento atual:
- visuais premium (Angelic Chest) são preferidos quando o jogador tem
resurrectionchest.model.premiume o modelo premium está de fato carregado - caso contrário, o visual gratuito (Wooden Chest) é usado quando o jogador tem
resurrectionchest.model.free - se nenhuma das permissões conceder um modelo utilizável, nenhum prop é gerado e o baú vanilla é usado como está
- o modelo visual alterna entre variantes simples e dupla com base no tamanho do baú
- o baú real continua sendo o armazenamento
A escolha do modelo é feita uma única vez, quando o baú é registrado, e é armazenada em playerData.yml como o chestModel daquele baú. Isso tem duas consequências:
- se o FreeMinecraftModels não estava instalado no momento do registro, o baú é gravado sem modelo e continua sendo um baú vanilla comum mesmo depois de o FreeMinecraftModels ser instalado
- uma mudança de permissão posterior não promove nem rebaixa retroativamente um baú já existente
Nos dois casos, o jogador precisa registrar o baú de novo (quebrá-lo e colocar a placa outra vez) para adotar o novo modelo.
Quando um prop de modelo personalizado está ativo, os jogadores podem interagir com ele diretamente:
- clicar com o botão direito no prop para abrir o inventário do baú subjacente
- clicar com o botão esquerdo no prop para destruir o registro (apenas o proprietário pode fazer isso; quem não for o proprietário e clicar com o botão esquerdo recebe uma mensagem vermelha e nada é destruído)
Se o FreeMinecraftModels estiver ausente ou o modelo não puder ser gerado, o baú subjacente ainda funciona normalmente.
Pacotes de Conteúdo
ResurrectionChest vem com dois pacotes de conteúdo que envolvem os modelos de baú do FreeMinecraftModels:
- Wooden Chest (gratuito): fornece
resurrectionchest_free_single/resurrectionchest_free_double. Usado porresurrectionchest.model.free. - Angelic Chest (premium): fornece
resurrectionchest_angelic_single/resurrectionchest_angelic_double. Usado porresurrectionchest.model.premium.
Cada pacote fica na pasta models do FreeMinecraftModels quando instalado e em models_disabled quando desinstalado. Alterná-los através de /resurrectionchest setup move os arquivos entre essas pastas e recarrega o FreeMinecraftModels automaticamente.
Ressalvas Baseadas no Código Fonte
O código fonte atual mostra algumas entradas de configuração que estão expostas em config.yml mas não são referenciadas em nenhum lugar fora de DefaultConfig:
Particle effect 1Particle effect 2freeSingleDeathChestModelNamefreeDoubleDeathChestModelNameepremiumDoubleDeathChestModelName(o plugin codifica internamente os prefixos de nome de modeloresurrectionchest_freeeresurrectionchest_angelic, e então anexa_singleou_doublecom base no tamanho do baú, então as chaves de config "Double" atualmente não afetam os visuais do baú)
Em contraste, Particle effect 3 é a configuração de partículas com um uso ativo óbvio no código atual: ela é resolvida uma vez no carregamento (recorrendo a PORTAL com um aviso no console se o nome não for uma partícula válida) e depois gerada a cada tick enquanto o chunk do baú está carregado. Definir Enable particle effects for death chests como false cancela essa tarefa por tick por completo, o que é a opção mais barata em servidores com muitos baús registrados. premiumSingleDeathChestModelName é usado para verificar se o arquivo do modelo premium existe antes de atribuir o prefixo premium; a existência do arquivo do modelo gratuito não é verificada separadamente.
Mais duas ressalvas sobre a superfície de comandos:
/resurrectionchest initializeabre a configuração inicial e requerresurrectionchest.initialize./resurrectionchest setupabre os controlos de conteúdo, atualizações e plugins recomendados./resurrectionchest clearnão é limitado a um jogador. Ele apaga todos os baús registrados no servidor de uma só vez.