Estandarte da Paz
O Estandarte da Paz é um item fabricável que impede a conversão natural habitual em elites num raio de chunks configurável. Com suppressEvents: true, também suprime eventos de ação e tentativas de aparecimento de eventos temporizados geridos pelo EliteMobs. Não bloqueia todos os bosses personalizados ou regionais, não remove elites existentes nem oferece proteção geral contra mobs.
Como Funciona
- Fabricação: Os jogadores fabricam um Estandarte da Paz usando a receita padrão (ou uma receita personalizada configurada pelo admin). A receita padrão requer ossos ao redor de um estandarte de qualquer cor.
- Colocação: Com a funcionalidade ativa, colocar um Estandarte da Paz regista a proteção imediatamente. O raio predefinido de 4 cobre um quadrado de 9×9 chunks centrado no seu chunk, a qualquer altura; não é um círculo medido a partir do bloco.
- Remoção: Quebrar o bloco do Estandarte da Paz remove a zona de proteção e permite que elite mobs spawnem na área novamente.
- Persistência: Estandartes da Paz colocados são salvos em disco e persistem entre reinícios do servidor. Quando chunks contendo um Estandarte da Paz são carregados, o plugin valida se o bloco do estandarte ainda existe e remove a proteção se ele foi destruído por outros meios.
Receita de Fabricação Padrão
BBB
BWB
BBB
- B = Bone (Osso)
- W = Qualquer Banner (todas as 16 cores de estandarte são aceitas)
A receita produz um estandarte azul com um padrão personalizado, nome de exibição e lore identificando-o como um Estandarte da Paz.
Configuração
Todas as configurações do Estandarte da Paz estão em PeaceBanner.yml. Veja a página de configurações para a referência completa.
| Configuração | Padrão | Descrição |
|---|---|---|
enabled | true | Se o recurso de Estandarte da Paz está ativado |
craftable | true | Se os jogadores podem fabricar Estandartes da Paz |
chunkRadius | 4 | Raio (em chunks) ao redor de um estandarte colocado onde elite mobs são suprimidos |
suppressEvents | true | Se estandartes colocados também suprimem eventos do EliteMobs (eventos de ação e temporizados) |
recipeShape | BBB / BWB / BBB | O layout da grade de fabricação |
recipeIngredients | B: BONE, W: ANY_BANNER | Mapeia caracteres da receita para materiais |
itemName | &aPeace Banner | Nome de exibição do item Estandarte da Paz |
itemLore | (ver config) | Linhas de lore mostradas no item |
placedMessage | (ver config) | Mensagem enviada quando um estandarte é colocado |
removedMessage | (ver config) | Mensagem enviada quando um estandarte é quebrado |
chunkRadius é registado ao colocar cada estandarte e guardado com ele. Alterar a configuração não redimensiona os estandartes existentes, mesmo após reiniciar; volta a colocá-los para usar o novo raio. A descrição predefinida do item contém um 4 literal que não acompanha o raio, enquanto placedMessage substitui $radius.
enabled: false desativa a supressão, o processamento de colocação, quebra e carregamento e a receita de fabricação. Não apaga os registos guardados nem impede o comando de entrega do administrador. craftable: false desativa apenas a receita.
Comandos de Admin
| Comando | Permissão | Descrição |
|---|---|---|
/em peacebanner give <player> | elitemobs.peacebanner.admin | Dá um Estandarte da Paz a um jogador online; deixa-o na posição do jogador se o inventário estiver cheio |
/em peacebanner list | elitemobs.peacebanner.admin | Lista todos os Estandartes da Paz colocados com suas coordenadas e raio de chunks |
Estandartes Sobrepostos
Múltiplos Estandartes da Paz podem ser colocados com zonas de proteção sobrepostas. O sistema usa contagem de referências, então um chunk permanece protegido enquanto pelo menos um estandarte o cobrir. Remover um único estandarte só desprotege chunks que não são cobertos por outro estandarte.
Detalhes Técnicos
- Novas colocações são identificadas pela etiqueta do contentor de dados persistentes (PDC) do item, não pela aparência. Um estandarte normal colocado numa localização não registada não cria proteção.
- Os dados dos estandartes são armazenados em
plugins/EliteMobs/data/peace-banners.yml. - Ao carregar um chunk, a validação apenas verifica se existe algum bloco de estandarte na localização guardada. Não volta a verificar a etiqueta nem o padrão do Estandarte da Paz. Se o bloco já não for um estandarte, por exemplo após uma explosão ou edição do mundo, a proteção é removida nessa altura, não imediatamente quando ocorre a alteração externa.
- Os registos guardados pertencem ao UUID do mundo. Os registos de um mundo que não esteja carregado durante a inicialização do EliteMobs ficam inativos até esse mundo carregar; nessa altura, a sua proteção é ativada automaticamente. Um mundo diferente que reutilize o mesmo nome não os herda; em vez disso, o EliteMobs regista um aviso.