Criando Eventos
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.
| Chave | Valores | Padrão |
|---|---|---|
isEnabled | Boolean | true |
Exemplo
isEnabled: true
eventType
Define o tipo de evento.
| Chave | Valores | Padrão |
|---|---|---|
eventType | DEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMED | none |
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!
| Chave | Valores | Padrão |
|---|---|---|
bossFilenames | String List | none |
Exemplo
bossFilenames:
- balrog.yml
- my_event_boss.yml
announcementPriority
Define a prioridade de anúncio.
| Chave | Valores | Padrão |
|---|---|---|
announcementPriority | Integer | none |
Exemplo
announcementPriority: 1
startMessage
Define a mensagem enviada no início do evento.
| Chave | Valores | Padrão |
|---|---|---|
startMessage | String | none |
Exemplo
startMessage: An event has started!
![]()
endMessage
Define a mensagem enviada no final do evento.
| Chave | Valores | Padrão |
|---|---|---|
endMessage | String | none |
Exemplo
endMessage: An event has ended!
eventStartCommands
Define os comandos que são executados no início do evento.
| Chave | Valores | Padrão |
|---|---|---|
eventStartCommands | String List | none |
Exemplo
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

eventEndCommands
Define os comandos que são executados no final do evento.
| Chave | Valores | Padrão |
|---|---|---|
eventEndCommands | String List | none |
Exemplo
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

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.
| Chave | Valores | Padrão |
|---|---|---|
chance | Valor entre 0.0 e 1.0 | 0 |
Exemplo
chance: 0.001
breakableMaterials
Define a lista de materiais a verificar se a ação estiver definida como BREAK_BLOCK.
| Chave | Valores | Padrão |
|---|---|---|
breakableMaterials | Lista de materiais | none |
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.
| Chave | Valores | Padrão |
|---|---|---|
spawnType | Filename | none |
Exemplo
spawnType: nether_spawn.yml
localCooldown
Define a quantidade de tempo, em minutos, antes que este evento possa ser escolhido novamente.
| Chave | Valores | Padrão |
|---|---|---|
localCooldown | Integer | 0 |
Exemplo
localCooldown: 120
globalCooldown
Define a quantidade de tempo, em minutos, antes que o próximo evento seja escolhido.
| Chave | Valores | Padrão |
|---|---|---|
globalCooldown | Integer | 0 |
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
| Chave | Valores | Padrão |
|---|---|---|
weight | Double | 0 |
Exemplo
weight: 60.5
eventDuration
Define a duração máxima do evento, em minutos.
| Chave | Valores | Padrão |
|---|---|---|
eventDuration | Integer | 0 |
Exemplo
eventDuration: 30
endEventWithBossDeath
Define se o evento termina com a morte do chefe.
| Chave | Valores | Padrão |
|---|---|---|
endEventWithBossDeath | Boolean | true |
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.
| Chave | Valores | Padrão |
|---|---|---|
eventEndTime | Integer (0-24000, -1 para desabilitar) | -1 |
Exemplo
eventEndTime: 23000
minimumPlayerCount
Define a quantidade mínima de jogadores online antes que o evento comece.
| Chave | Valores | Padrão |
|---|---|---|
minimumPlayerCount | Integer | 1 |
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
