Pular para o conteúdo principal

Configuração e Permissões do ResurrectionChest

Permissões

PermissãoPropósitoPadrão
resurrectionchest.*Dá aos administradores acesso aos comandos de configuração, conteúdo, atualização, recarregamento e limpezaop
resurrectionchest.setupDá aos administradores acesso a /resurrectionchest setup, recommendedplugins, downloadallcontent e updatecontentop
resurrectionchest.initializePermite abrir a configuração inicial com /resurrectionchest initialize.op
resurrectionchest.usePermite que um jogador registre um baú e tenha os itens de morte roteados para eletrue
resurrectionchest.model.freePermite que um jogador use os visuais gratuitos de baú do FreeMinecraftModels (Wooden Chest)true
resurrectionchest.model.premiumPermite 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

ComandoPermissãoPropósito
/resurrectionchestresurrectionchest.*Exibe uma breve nota de informação apontando para o fluxo de configuração
/resurrectionchest setupresurrectionchest.setupAbre o menu de configuração (navegar/alternar pacotes de baú, verificar atualizações do plugin, ver plugins recomendados, alternar atualizações automáticas)
/resurrectionchest recommendedpluginsresurrectionchest.setupAbre (ou, no console, lista) os plugins complementares recomendados para o ResurrectionChest
/resurrectionchest downloadallresurrectionchest.*Baixa a atualização do plugin (se houver) e todos os pacotes de conteúdo disponíveis do Nightbreak
/resurrectionchest downloadallcontentresurrectionchest.setupBaixa todos os pacotes de conteúdo disponíveis do Nightbreak
/resurrectionchest updatecontent (alias updateallcontent)resurrectionchest.setupRe-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 downloadpluginupdateresurrectionchest.*Baixa uma atualização do plugin ResurrectionChest se houver uma disponível
/resurrectionchest reloadresurrectionchest.*Recarrega o ResurrectionChest
/resurrectionchest clearresurrectionchest.*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

CaminhoPropósito
plugins/ResurrectionChest/config.ymlTodas as configurações da tabela abaixo
plugins/ResurrectionChest/playerData.ymlUma 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.ymlEstado 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 ConfigTipoPadrão
setupDonebooleanfalse
nightbreak.autoDownloadPluginUpdatesbooleanfalse
Input name for death cheststring[DeathChest]
Enable high compatibility / low security mode for plugin conflictsbooleanfalse
Lower worn armor's durability on deathbooleantrue
Amount of durability to lower on deathint100
Chest creation messagestring&8[ResurrectionChest] &aYou've created your Death Chest!
Chest destruction messagestring&8[ResurrectionChest] &cYour Death Chest has been destroyed!
Chest missing messagestring&8[ResurrectionChest] &4Your Death Chest is missing!
Chest protected region messagestring&8[ResurrectionChest] &cYou can't create a Death Chest here - this area is protected!
Death messagestring&8[ResurrectionChest] &aYour items have been moved to your Death Chest!
deathChestRemovedMessagestring&8[ResurrectionChest] &cYour Death Chest has been removed!
Enable particle effects for death chestsbooleantrue
Particle effect 1stringENCHANTMENT_TABLE
Particle effect 2stringENCHANTMENT_TABLE
Particle effect 3stringPORTAL
blacklistedWorldslist[none]
storeXPbooleantrue
xpPercentageKeptdouble0.75
deathChestNameTagstring$playerName's &fResurrection Chest
freeSingleDeathChestModelNamestringresurrectionchest_free_single
freeDoubleDeathChestModelNamestringresurrectionchest_free_double
premiumSingleDeathChestModelNamestringresurrectionchest_angelic_single
premiumDoubleDeathChestModelNamestringresurrectionchest_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 death somado 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 keepInventory estiver ativo, ResurrectionChest não faz nada.
  • Se keepLevel estiver 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 reload ou 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.premium e 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 por resurrectionchest.model.free.
  • Angelic Chest (premium): fornece resurrectionchest_angelic_single / resurrectionchest_angelic_double. Usado por resurrectionchest.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 1
  • Particle effect 2
  • freeSingleDeathChestModelName
  • freeDoubleDeathChestModelName e premiumDoubleDeathChestModelName (o plugin codifica internamente os prefixos de nome de modelo resurrectionchest_free e resurrectionchest_angelic, e então anexa _single ou _double com 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 initialize abre a configuração inicial e requer resurrectionchest.initialize. /resurrectionchest setup abre os controlos de conteúdo, atualizações e plugins recomendados.
  • /resurrectionchest clear não é limitado a um jogador. Ele apaga todos os baús registrados no servidor de uma só vez.