Pular para o conteúdo principal

Criar Reforços Personalizados

Se estás interessado em invocar elites durante o combate para reforçar um boss, este guia aborda isso em detalhe.

Passos para criar um boss personalizado:

  1. Cria o teu boss personalizado principal que invocará o teu boss personalizado
  2. Cria um boss personalizado para os reforços. Tem em mente que os bosses personalizados podem ser mais fortes do que os mobs vanilla, mas também podem ser mais fracos.
  3. Adiciona a linha de reforço correta ao ficheiro de configuração

Criar a linha de reforço

Vamos assumir que tens um boss personalizado com este formato:

isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml

E queres adicionar-lhe reforços. Eis como poderia ser um desses reforços:

- summonType:ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml

E para o tornar válido, adiciona-o à lista de powers:

isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml

O reforço está agora adicionado à entidade do boss. No entanto, como podes ver, há várias opções aqui que podes personalizar. Vamos abordá-las.

Todas as opções de Reforço Personalizado

Dica: Também podes usar EliteScript para invocar reforços, mais sobre isso aqui.

summonType

Este é um campo obrigatório. Define quando o reforço deve aparecer.

KeyValuesDefault
summonTypeEspecial [1]nenhum (obrigatório)
Exemplo
summonType: ON_HIT

Especial [1]

KeyDescription
ONCEFaz aparecer o reforço uma vez, a primeira vez que o boss é atingido. (pode depender de uma % de probabilidade de acontecer)
ON_HITFaz aparecer o reforço sempre que o boss é atingido (pode depender de uma % de probabilidade de acontecer)
ON_COMBAT_ENTERFaz aparecer o reforço quando o boss entra em combate (1)
ON_COMBAT_ENTER_PLACE_CRYSTALEspecial: isto serve especificamente para colocar end crystals em lutas de dragão quando o boss entra em combate (1)
ON_DEATHFaz aparecer o reforço quando o boss morre
GLOBALFaz aparecer reforços para cada jogador no mesmo mundo que o boss. Os reforços aparecerão perto dos jogadores, independentemente da distância a que estejam do boss. O sistema impõe um limite de população de 30 reforços por jogador online para prevenir sobrecarga do servidor. Os reforços aparecem a cada 10 segundos (200 ticks) enquanto o boss estiver em combate e o limite não tiver sido atingido. Isto requer que o campo customSpawn esteja definido para funcionar!

(1) Os bosses entram em combate quer quando são atingidos por jogadores quer quando detetam um jogador dentro de alcance.


filename

Este é um campo obrigatório, pois define qual reforço deve aparecer. A única exceção a este campo ser obrigatório é ao usar a definição summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL, uma vez que os end crystals não são elites.

KeyValuesDefault
filenameFilenamenenhum
Exemplo
filename: test_boss.yml

Importante: O filename tem de referenciar um ficheiro de configuração de boss existente. Se o ficheiro não existir, o reforço será silenciosamente ignorado durante o spawn do boss. Verifica sempre que os teus ficheiros de boss de reforço estão devidamente criados e localizados na pasta custombosses.


Viabilidade Mínima

summonType: SUMMON_TYPE e filename: filename.yml são suficientes por si só para criar um Reforço Personalizado. O exemplo seguinte demonstra isto.

Nota: As chaves de configuração não diferenciam maiúsculas de minúsculas. Tanto summonType como SUMMONTYPE (ou qualquer outra capitalização) funcionarão corretamente.

Exemplo
isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: binder_of_worlds_phase_1_parkour_reinforcement.yml

No entanto, se quiseres ou precisares de algo mais complexo, continua a ler abaixo para veres o que mais podes fazer com estas opções.


chance

Este é um campo de configuração opcional feito para complementar as opções ONCE e ON_HIT do summonType. Representa a probabilidade de o Reforço Personalizado aparecer quando um boss é atingido.

KeyValuesDefault
chanceDouble1.0
Exemplo
chance: 0.5

Representa uma probabilidade de 50% de fazer aparecer um Reforço Personalizado.


location

location: x,y,z é um campo de configuração opcional que permite aos administradores deslocar a localização do reforço por um número de blocos. Eis os conceitos-chave que precisas de saber sobre esta opção:

A localização de deslocamento é relativa. Isto significa que location: 0,10,0 fará aparecer um boss exatamente 10 blocos acima do boss, e não nas coordenadas de mundo 0,10,0.

A localização relativa é diferente para bosses regionais. Os bosses regionais usarão sempre o seu ponto de spawn como origem da localização relativa, o que significa que, se souberes onde está o ponto de spawn do boss e contares os blocos, podes fazer com que os bosses de reforço apareçam em localizações específicas. O covil do Binder of Worlds depende disto para fazer aparecer os bosses da torre de desafio em posições de bloco extremamente específicas, independentemente de onde o boss dragão se encontra.

Os bosses aparecerão dentro de blocos se errares ao medir as distâncias.

KeyValuesDefault
locationStringnenhum
Exemplo
location: 0,10,0

Para um Boss Personalizado não-regional, fará aparecer o reforço exatamente 10 blocos acima do boss, independentemente de onde ele esteja.

Para um Boss Personalizado regional, fará aparecer o reforço exatamente 10 blocos acima do ponto de spawn do boss regional, independentemente de onde o boss esteja.

Nota importante: Este é um campo obrigatório especificamente para summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL!


lightningRod

É uma definição especial útil apenas para summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Dá aos end crystals a capacidade de fulminar o chão à sua volta com um atraso. O crystal é marcado como um 'elite crystal' e herdará o alvo de combate atual do boss. O próprio crystal não é persistente e será removido se o boss morrer ou sair de combate.

Não pode ser usada com os outros Reforços Personalizados, pois esses devem depender de powers para este tipo de habilidades.

KeyValuesDefault
lightningRodBooleanfalse
Exemplo
lightningRod: false

inheritAggro

É um campo de configuração opcional que faz os Reforços Personalizados herdarem os níveis de ameaça do boss.

Isto é especialmente útil quando queres que os reforços que aparecem ataquem a pessoa que está a causar a maior quantidade de dano.

KeyValuesDefault
inheritAggroBooleanfalse
Exemplo
inheritAggro: false

amount

É um campo de configuração opcional que define a quantidade de Reforços que aparecem.

KeyValuesDefault
amountInteger1
Exemplo
amount: 1

spawnNearby

É um campo de configuração opcional que define se o Reforço Personalizado deve aparecer nas proximidades em vez de em cima do boss ou numa localização relativa específica.

Aparece dentro de uma área de 30x30 blocos (±15 blocos nos eixos X e Z a partir do boss). O sistema tenta até 30 vezes encontrar uma localização de spawn válida ao nível do solo, tendo em conta a variação do terreno. Se nenhuma localização válida for encontrada após 30 tentativas, o reforço aparece na localização exata do boss.

KeyValuesDefault
spawnNearbyBooleanfalse
Exemplo
spawnNearby: false

inheritLevel

É um campo de configuração opcional que define se o Reforço Personalizado deve herdar o nível do Boss Personalizado que está a reforçar.

KeyValuesDefault
inheritLevelBooleanfalse
Exemplo
inheritLevel: false

customSpawn

É um campo de configuração que só é usado para reforços globais. Usa as definições de spawn personalizado para definir onde os reforços poderão aparecer.

Isto pode ser usado para fazer com que os reforços possam aparecer à superfície, em locais com luz, em biomas específicos e por aí adiante. Consulta a página da wiki sobre Spawns Personalizados para mais detalhes

KeyValuesDefault
customSpawnFilenamenenhum
Exemplo
customSpawn: normal_surface_spawn.yml

Montar um grande reforço

Vamos criar um reforço de exemplo usando a maioria dos campos anteriores:

- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
spawnNearby: true
inheritAggro: true
inheritLevel: true

Isto faz o seguinte:

  • Cria um Reforço Personalizado
  • O Reforço Personalizado aparecerá quando o Boss Personalizado entrar em combate (summonType: ON_COMBAT_ENTER)
  • O Reforço Personalizado invocado será o de test_boss.yml (filename: test_boss.yml)
  • O Reforço Personalizado aparecerá num raio de 30 blocos da localização atual do Boss Personalizado (spawnNearby: true)
  • O Reforço Personalizado herdará o aggro do Boss Personalizado que está a reforçar, ou seja, atacará o jogador que causou mais dano (inheritAggro: true)
  • Independentemente da definição em test_boss.yml, o Reforço Personalizado terá o mesmo nível do Boss Personalizado que está a reforçar (inheritLevel: true)
- summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL
location: -80,10,0
lightningRod: true

Isto faz o seguinte:

  • Cria um Reforço Personalizado
  • O Reforço Personalizado será um End Crystal que é colocado quando o combate começa (summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL)
  • O End Crystal fulminará o chão à volta com um atraso (lightningRod: true)
# Exemplo: Boss que faz aparecer servos de vingança ao morrer
- summonType: ON_DEATH
filename: revenge_minion.yml
amount: 3
spawnNearby: true

Isto faz o seguinte:

  • Cria um Reforço Personalizado
  • O Reforço Personalizado aparecerá quando o boss morrer (summonType: ON_DEATH)
  • O Reforço Personalizado invocado será o de revenge_minion.yml (filename: revenge_minion.yml)
  • Aparecerão três reforços (amount: 3)
  • Os reforços aparecerão num raio de 30 blocos de onde o boss morreu (spawnNearby: true)

Agora, para aplicar isto ao Boss Personalizado:

isEnabled: true
entityType: ENDER_DRAGON
name: $eventBossLevel &eBinder of Worlds
level: 200
powers:
- ender_dragon_arrow_bombardment.yml
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
spawnNearby: true
inheritAggro: true
inheritLevel: true
- summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL
location: -80,10,0
lightningRod: true

E está feito! Eis mais algumas dicas:

  • Os campos podem ser definidos em qualquer ordem, embora seja recomendado ter sempre o summonType primeiro!
  • Esta é uma grande melhoria em relação ao antigo sistema de reforços, que já não é listado. Não é recomendado depender dele neste momento, pois pode deixar de funcionar no futuro.