Saltar para o conteúdo principal

Criar baús do tesouro

webapp_banner.jpg

Os baús do tesouro permitem criar baús que entregam saque ou invocam um chefe mímico hostil. Coloca os ficheiros de configuração em plugins/EliteMobs/customtreasurechests.

Valores​

isEnabled​

Define se o baú está ativo.

ChaveValoresPredefinição
isEnabledBooleantrue

Um ficheiro sem esta chave é carregado como ativo. Os baús desativados são ignorados: não são colocados no mundo nem aparecem ou são aceites em /em place treasureChest.

Exemplo
isEnabled: true

chestType​

Define o material do bloco. Usa um contentor direcional como CHEST ou BARREL. Esta opção não preenche um inventário normal; o saque vem de lootList quando o jogador interage.

ChaveValoresPredefinição
chestTypeMaterialCHEST
Exemplo
chestType: CHEST

Usa um material de contentor válido, como CHEST ou BARREL.

create_chest_material.jpg


facing​

Define a orientação do baú.

ChaveValoresPredefinição
facingEspecial [1]NORTH
Exemplo
facing: NORTH

Os valores válidos são NORTH, SOUTH, EAST e WEST.

Especial [1]

Expandir tabela
Orientação
NORTH
SOUTH
WEST
EAST

dropStyle​

Define se o baú é consumido globalmente ou usa um tempo de espera por jogador.

O primeiro jogador que interage consome um baú SINGLE: o bloco é substituído por ar e é guardado um prazo de reposição. Reaparece após restockTimer minutos, quando o chunk está carregado. Não há controlo por jogador. Tanto o clique esquerdo como o direito podem ativá-lo.

Os baús GROUP permanecem no mundo e cada jogador recebe o seu próprio tempo de espera. Fora de instâncias, todas as colocações do mesmo ficheiro partilham esse prazo por jogador através de restockTimers. Usa ficheiros separados para colocações independentes. Numa instância, cada baú mantém a sua própria lista de jogadores que já o saquearam.

Ambos os modos entregam saque pessoal ao jogador que interage. GROUP não inicia uma votação de saque nem recompensa todos os jogadores próximos. Interações já canceladas por outro plugin são ignoradas e a quebra normal do bloco é impedida. Não é necessário um posto de guilda para abrir o baú.

ChaveValoresPredefinição
dropStyleSINGLE / GROUPSINGLE
Exemplo
dropStyle: SINGLE

lootList​

Lista o saque que o baú pode entregar.

Cada entrada elegível faz o seu próprio sorteio, pelo que uma abertura pode entregar várias recompensas. Continuam a aplicar-se permissões, quantidades e filtros de dificuldade da masmorra. putLootDirectlyIntoPlayerInventory em ItemSettings.yml escolhe entre entregar no inventário ou largar junto ao baú. Os itens de elite que não cabem no inventário caem junto ao jogador e ficam associados a ele como proprietário.

ChaveValoresPredefinição
lootListTabela de saque do EMNenhum
Exemplo
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=1.0

Se nenhuma entrada entregar uma recompensa, o jogador recebe treasureChestNoDropMessage de config.yml. Isto inclui sorteios falhados e entradas que não conseguem gerar uma recompensa. O tempo de espera é consumido na mesma.


mimicChance​

Define a probabilidade de invocar um chefe hostil em vez de entregar saque.

ChaveValoresPredefinição
mimicChanceDouble0

Cada interação elegível faz o sorteio do mímico antes de gerar saque. Um sucesso tenta invocar o mímico em vez de entregar saque, nunca ambos. Usa valores entre 0 e 1; 0.5 significa 50%. O tempo de espera é consumido mesmo que o chefe escolhido não exista ou não consiga aparecer.

Exemplo
mimicChance: 0.5

mimicCustomBossesList​

Lista os chefes hostis disponíveis. É escolhido um deles ao acaso.

Podes atribuir pesos para que alguns chefes sejam escolhidos mais vezes.

ChaveValoresPredefinição
mimicCustomBossesListLista de textoNenhum
Exemplo
mimicCustomBossesList:
- my_cool_mimic_boss.yml
- weak_mimic_boss.yml

Para atribuir pesos, usa este formato:

mimicCustomBossesList:
- my_cool_mimic_boss.yml:60
- weak_mimic_boss.yml:40

Aqui, my_cool_mimic_boss.yml tem maior probabilidade de ser escolhido do que weak_mimic_boss.yml.

Um peso ausente ou que não possa ser lido como número assume o valor 1.

Usa nomes de ficheiro distintos e pesos positivos e finitos. Repetir um nome substitui o peso anterior, em vez de acrescentar outra entrada. O seletor não valida pesos negativos ou não finitos. Confirma que os chefes estão ativos e podem aparecer.

A que nível aparece o mímico?

O ficheiro do chefe determina o cálculo. Os níveis numéricos fixos são substituídos pelo cálculo baseado no tier do baú:

level do chefe mímicoNível de aparecimento
Número fixochestTier × 10, mais um valor aleatório de 0–10
dynamic (-1) numa masmorra dinâmicaNível escolhido da masmorra, ±1
dynamic (-1) noutro localNível de aparecimento natural do jogador que abre, ±1

Se o ficheiro do chefe não existir, não aparece nenhum mímico e é registado um aviso. O jogador também não recebe o saque em alternativa.

Os cálculos de ±1 têm um mínimo de nível 1. Se faltarem os dados de inventário do jogador fora de uma masmorra dinâmica, o mímico dinâmico usa o processo normal de aparecimento do chefe. Os mímicos criados numa masmorra pertencem a esse encontro.


restockTimer​

Define o intervalo de reposição em minutos.

ChaveValoresPredefinição
restockTimerInteiro0

Fora de instâncias, SINGLE espera este intervalo antes de restaurar o bloco num chunk carregado e GROUP aplica-o a cada jogador. Os prazos sobrevivem a reinícios. Consulta instanced para as regras das instâncias.

Com o valor predefinido 0, praticamente não existe espera e o baú pode ser saqueado repetidamente. Define um intervalo positivo para saque valioso.

Exemplo
restockTimer: 30

effects​

Nota: Esta definição não tem efeito. O carregador lê a chave, mas os baús não usam o seu valor. Não gera partículas.

Se quiseres partículas à volta de um baú, gera-as por outra via, para já.

ChaveValoresPredefinição
effectsLista de textoNenhum

locations​

Define os locais onde aparecem os baús.

Usa /em place treasureChest <treasurechestfilename.yml> no bloco pretendido. Exige um jogador com elitemobs.place.admin e uma configuração de baú carregada e ativa. Guarda as coordenadas do bloco no ficheiro e coloca o baú de imediato. Executá-lo num bloco que já está na lista reinicia o prazo de reabastecimento dessa colocação em vez de acrescentar uma segunda entrada.

ChaveValoresPredefinição
locationsLista de textoNenhum

Cada entrada usa worldName,x,y,z,yaw,pitch. A forma curta worldName,x,y,z também é aceite, com yaw e pitch iguais a 0.

O sufixo opcional :unixTimestamp guarda o prazo dessa colocação em segundos Unix. EliteMobs escreve-o quando um baú SINGLE é saqueado. Para o apagar manualmente, para primeiro o servidor. A alteração aplica-se ao carregar a configuração, sem reiniciar um baú já ativo.

Um ficheiro pode conter várias colocações. As de SINGLE têm prazos independentes; as de GROUP fora de instâncias partilham a lista de espera por jogador.

As coordenadas fracionárias são arredondadas para baixo, para o bloco onde caem. Não combines a antiga chave location com locations. O carregador dá prioridade a location, mas os prazos são guardados numa lista locations não vazia. Remover um baú com /em remove apaga do ficheiro apenas a colocação clicada e mantém as restantes colocações.

Exemplo
locations:
- my_world,10,50,10,0,0
- my_nether_world,12,58,12,0,0
- my_world,80,64,-30,0,0:1707394380

chestTier​

Define o tier do baú, que estabelece o nível base do saque como chestTier * 10.

ChaveValoresPredefinição
chestTierInteiro0

A influência depende do local e do tipo de item:

SituaçãoNível passado à geração de saque
Fora de qualquer instânciaOs itens de elite scalable seguem o nível de aparecimento natural do jogador que abre, ±1. Os restantes usam chestTier * 10.
Numa masmorra dinâmicaUsa-se o nível escolhido da masmorra, com ±1 para itens de elite scalable. chestTier é ignorado.
Noutra instânciachestTier * 10 para todos.

Estes níveis são passados à geração dos itens. Os itens fixed mantêm os atributos definidos e os limited respeitam o seu limite configurado; o baú não substitui essas regras. Num mundo normal de sobrevivência, os itens scalable acompanham quem abriu o baú. Os mímicos usam outra fórmula; consulta mimicCustomBossesList.

Os cálculos de ±1 têm um mínimo de nível 1. Se faltarem os dados de inventário do jogador fora de uma instância, usa-se chestTier * 10.

A predefinição 0 dá um nível base de saque 0.

Exemplo
chestTier: 3

instanced​

Indica se o baú pertence a uma instância. Depois de saqueado, não é agendada a reposição normal: SINGLE remove o bloco e GROUP permite uma abertura por jogador nesse baú. Instâncias simultâneas têm estados independentes.

SINGLE tem uma limitação: descarregar e voltar a carregar o chunk agenda novamente a reposição segundo o prazo do baú ativo. Este pode reaparecer na mesma instância após esse prazo. Usa GROUP para manter a restrição de uma abertura por jogador ao longo da instância.

NÃO DEFINAS ESTE VALOR MANUALMENTE.

ChaveValoresPredefinição
instancedBooleanfalse
Exemplo
instanced: true

restockTime​

O plugin escreve esta chave para guardar o prazo de reposição após o saque.

Só é usada no formato antigo de baú único, com a posição em location em vez da lista locations. Quando locations contém entradas, o prazo é guardado como sufixo :unixTimestamp na entrada correspondente e esta chave fica intacta.

NÃO DEFINAS ESTE VALOR MANUALMENTE.

ChaveValoresPredefinição
restockTimeMarca temporal Unix em segundos0
Exemplo
restockTime: 1707394380

restockTimers​

Guarda os tempos de espera por jogador dos baús GROUP. O plugin escreve-os automaticamente quando um jogador saqueia o baú e descarta as entradas expiradas sempre que escreve. O tempo de espera é guardado antes de qualquer loot ser entregue; se essa gravação falhar, o jogador é avisado para tentar mais tarde e não recebe nada.

Baús de instância não usam esta lista. A restrição por jogador fica na memória apenas durante a vida da instância.

NÃO DEFINAS ESTE VALOR MANUALMENTE.

ChaveValoresPredefinição
restockTimersLista de textoNenhum
Exemplo
restockTimers:
- '12345678-abcd-4ef0-8123-123456789012:1707394380'
- '09876543-abcd-4ef0-8123-098765432109:1707395000'

Cada entrada contém o UUID de um jogador e uma marca temporal Unix em segundos, separados por dois pontos.


Exemplo de configuração de um baú do tesouro
isEnabled: true
chestType: CHEST
facing: NORTH
chestTier: 3
dropStyle: GROUP
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=0.95
mimicChance: 0.50
mimicCustomBossesList:
- balrog.yml
- killer_rabbit_of_caerbannog.yml
restockTimer: 1
locations:
- world,0.0,-60.0,-14.0,0.0,0.0

Todas as entradas acima usam o prefixo filename=. Escrever magmaguys_toothpick.yml:chance=0.95 seria interpretado como o formato antigo filename.yml:chance. Como chance=0.95 não é um número, causaria um aviso de leitura em cada arranque.

create_chest_chest.jpg