Pular para o conteúdo principal

Criando Eventos

webapp_banner.jpg

Este guia é para EliteMobs 7.3.4 e posterior

O que são Eventos Personalizados?

Eventos Personalizados aqui referem-se a eventos que ocorrem aleatoriamente no jogo, seja com base em ações do jogador ou com um gatilho temporizado. O plugin vem pré-carregado com vários Eventos Personalizados, como o evento Balrog, o evento Kraken e os eventos Goblin do Tesouro, para citar alguns.

Este sistema é chamado de Eventos Personalizados porque os eventos não só podem ser personalizados, mas criados do zero. O que segue é um guia sobre como criar e personalizar seus próprios eventos.

Criando Seus Eventos Personalizados

Os arquivos de configuração de eventos personalizados devem ser criados em: plugins/EliteMobs/customevents/

Os arquivos devem usar o formato .yml. O nome do arquivo (sem a extensão .yml) torna-se o identificador do evento.

Exemplo: my_cool_event.yml é referenciado como my_cool_event

Configurações comuns

As seguintes configurações podem/devem ser usadas para eventos de ação e eventos temporizados.


isEnabled

Define se o evento está ativado.

ChaveValoresPadrão
isEnabledBooleantrue
Exemplo
isEnabled: true

eventType

Define o tipo de evento.

ChaveValoresPadrão
eventTypeDEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMEDnone

Observe que BREAK_BLOCK, FISH e TILL_SOIL são Eventos de Ação e TIMED são Eventos Temporizados. DEFAULT é para eventos acionados por outros meios ou condições especiais.

Exemplo
eventType: BREAK_BLOCK

bossFilenames

Define a lista de chefes que serão gerados. Obrigatório!

ChaveValoresPadrão
bossFilenamesString Listnone
Exemplo
bossFilenames:
- balrog.yml
- my_event_boss.yml

announcementPriority

Define a prioridade de anúncio.

ChaveValoresPadrão
announcementPriorityIntegernone
Exemplo
announcementPriority: 1

startMessage

Define a mensagem enviada no início do evento.

ChaveValoresPadrão
startMessageStringnone
Exemplo
startMessage: An event has started!

create_events_start_message.jpg


endMessage

Define a mensagem enviada no final do evento.

ChaveValoresPadrão
endMessageStringnone
Exemplo
endMessage: An event has ended!

create_events_end_message.jpg


eventStartCommands

Define os comandos que são executados no início do evento.

ChaveValoresPadrão
eventStartCommandsString Listnone
Exemplo
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

create_events_start_commands.jpg


eventEndCommands

Define os comandos que são executados no final do evento.

ChaveValoresPadrão
eventEndCommandsString Listnone
Exemplo
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

create_events_end_commands.jpg


Exemplo de Configuração de Evento
isEnabled: true
bossFilenames:
- "cool_boss.yml"
- "other_cool_boss.yml"
announcementPriority: 3
startMessage: "Cool event is starting!"
endMessage: "Cool event is ending!"
eventStartCommands:
- say The event started!
eventEndCommands:
- say The event ended!

Exemplo Completo de Evento Temporizado
isEnabled: true
eventType: TIMED
bossFilenames:
- "my_timed_boss.yml"
announcementPriority: 3
startMessage: "A timed event has started!"
endMessage: "The timed event has ended!"
eventStartCommands:
- say The timed event began!
eventEndCommands:
- say The timed event concluded!
spawnType: "my_spawn_location.yml"
localCooldown: 120
globalCooldown: 30
weight: 100
eventDuration: 15
endEventWithBossDeath: true
minimumPlayerCount: 1

Eventos de Ação

Eventos que têm chance de serem executados quando uma ação específica, como quebrar um bloco ou pescar, acontece.

Observação: Eventos de ação aplicam automaticamente um tempo de recarga de 60 minutos por jogador para evitar que o mesmo jogador acione eventos repetidamente.

chance

Define a chance do evento acontecer quando a ação acontece.

ChaveValoresPadrão
chanceValor entre 0.0 e 1.00
Exemplo
chance: 0.001

breakableMaterials

Define a lista de materiais a verificar se a ação estiver definida como BREAK_BLOCK.

ChaveValoresPadrão
breakableMaterialsLista de materiaisnone
Exemplo
breakableMaterials:
- BEEHIVE
- BIRCH_WOOD

Exemplo de Configuração
chance: 0.001
breakableMaterials:
- COAL_ORE

Define uma chance de 0,1% de executar o evento quando um bloco de minério de carvão é quebrado, assumindo que o tipo de evento é BREAK_BLOCK.


Exemplo Completo de Evento de Ação
isEnabled: true
eventType: BREAK_BLOCK
bossFilenames:
- "mining_boss.yml"
announcementPriority: 2
startMessage: "You've awakened something..."
chance: 0.001
breakableMaterials:
- DIAMOND_ORE
- EMERALD_ORE

Eventos Temporizados

Eventos Temporizados são eventos que acontecem em intervalos de tempo configuráveis. Uma vez que o tempo de recarga de um evento temporizado termina, um evento temporizado aleatório é escolhido da lista de eventos temporizados com base no peso do evento.

spawnType

Define o Spawn Personalizado usado pelo evento, que define onde o chefe pode aparecer.

ChaveValoresPadrão
spawnTypeFilenamenone
Exemplo
spawnType: nether_spawn.yml

localCooldown

Define a quantidade de tempo, em minutos, antes que este evento possa ser escolhido novamente.

ChaveValoresPadrão
localCooldownInteger0
Exemplo
localCooldown: 120

globalCooldown

Define a quantidade de tempo, em minutos, antes que o próximo evento seja escolhido.

ChaveValoresPadrão
globalCooldownInteger0
Exemplo
globalCooldown: 60

weight

Define o peso do evento, afetando a chance de ser escolhido em relação a outros eventos. Recomendado: 100.

O sistema de peso determina a probabilidade relativa de seleção do evento. Por exemplo:

  • Evento A com peso 100 vs Evento B com peso 50 = Evento A tem o dobro de probabilidade de ser selecionado
  • Maior peso = maior chance de ser escolhido
  • Eventos são avaliados aproximadamente a cada 5 minutos
ChaveValoresPadrão
weightDouble0
Exemplo
weight: 60.5

eventDuration

Define a duração máxima do evento, em minutos.

ChaveValoresPadrão
eventDurationInteger0
Exemplo
eventDuration: 30

endEventWithBossDeath

Define se o evento termina com a morte do chefe.

ChaveValoresPadrão
endEventWithBossDeathBooleantrue
Exemplo
endEventWithBossDeath: true

eventEndTime

Define o horário do jogo (em ticks) quando o evento termina. Use o sistema de tempo do Minecraft onde 0=amanhecer, 6000=meio-dia, 12000=anoitecer, 18000=meia-noite, 23000=final da noite. Defina como -1 para desabilitar o término baseado em tempo.

ChaveValoresPadrão
eventEndTimeInteger (0-24000, -1 para desabilitar)-1
Exemplo
eventEndTime: 23000

minimumPlayerCount

Define a quantidade mínima de jogadores online antes que o evento comece.

ChaveValoresPadrão
minimumPlayerCountInteger1
Exemplo
minimumPlayerCount: 5

Observe que os eventos são enfileirados, o que significa que eles só começarão quando as condições definidas no spawnType forem atendidas.

Exemplo de Configuração de Eventos
isEnabled: true
bossFilenames:
- "cool_boss.yml"
- "other_cool_boss.yml"
announcementPriority: 3
startMessage: "Cool event is starting!"
endMessage: "Cool event is ending!"
eventStartCommands:
- say The event started!
eventEndCommands:
- say The event ended!
spawnType: "myCoolSpawn.yml"
localCooldown: 30
globalCooldown: 15
weight: 100
eventDuration: 20
endEventWithBossDeath: true
eventEndTime: 10000
minimumPlayerCount: 5