Saltar al contenido principal

Crear Eventos

webapp_banner.jpg

Esta guía es para EliteMobs 10 y versiones posteriores

¿Qué son los Eventos Personalizados?

Los Eventos Personalizados aquí se refieren a eventos que ocurren aleatoriamente en el juego, ya sea en función de las acciones del jugador o con un activador programado. El plugin viene precargado con varios Eventos Personalizados, como el evento del Balrog, el evento del Kraken y los eventos del Treasure Goblin, por nombrar algunos.

Este sistema se llama Eventos Personalizados porque los eventos no solo pueden personalizarse, sino también crearse desde cero. Lo que sigue es una guía sobre cómo crear y personalizar tus propios eventos.

Crear tus Eventos Personalizados

Los archivos de configuración de eventos personalizados deben crearse en: plugins/EliteMobs/customevents/

Los archivos deben usar el formato .yml. El nombre del archivo (sin la extensión .yml) se convierte en el identificador del evento.

Ejemplo: my_cool_event.yml se referencia como my_cool_event

Ajustes de configuración comunes

Los siguientes ajustes pueden/deben usarse tanto para eventos de acción como para eventos programados.


isEnabled

Establece si el evento está habilitado.

KeyValoresPredeterminado
isEnabledBooleantrue
Ejemplo
isEnabled: true

eventType

Establece el tipo de evento.

KeyValoresPredeterminado
eventTypeDEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMEDninguno

Ten en cuenta que BREAK_BLOCK, FISH y TILL_SOIL son Eventos de Acción y TIMED son Eventos Programados. DEFAULT es para eventos activados por otros medios o condiciones especiales.

Ejemplo
eventType: BREAK_BLOCK

bossFilenames

Establece la lista de jefes que aparecerán. ¡Obligatorio!

KeyValoresPredeterminado
bossFilenamesString Listninguno
Ejemplo
bossFilenames:
- balrog.yml
- my_event_boss.yml

announcementPriority

Establece la prioridad de anuncio.

KeyValoresPredeterminado
announcementPriorityInteger0
Ejemplo
announcementPriority: 1

startMessage

Establece el mensaje enviado al inicio del evento.

KeyValoresPredeterminado
startMessageStringninguno
Ejemplo
startMessage: An event has started!

create_events_start_message.jpg


endMessage

Establece el mensaje enviado al final del evento.

KeyValoresPredeterminado
endMessageStringninguno
Ejemplo
endMessage: An event has ended!

create_events_end_message.jpg


eventStartCommands

Establece los comandos que se ejecutan al inicio del evento.

KeyValoresPredeterminado
eventStartCommandsString Listninguno
Ejemplo
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

create_events_start_commands.jpg


eventEndCommands

Establece los comandos que se ejecutan al final del evento.

KeyValoresPredeterminado
eventEndCommandsString Listninguno
Ejemplo
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

create_events_end_commands.jpg


Ejemplo de configuración 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!

Ejemplo completo de Evento Programado
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 Acción

Eventos que tienen una probabilidad de ejecutarse cuando ocurre una acción específica, como romper un bloque o pescar.

Nota: Los eventos de acción aplican automáticamente un tiempo de espera por jugador para evitar que el mismo jugador active eventos repetidamente. El tiempo de espera es de 4 minutos por defecto y se puede configurar mediante actionEventMinimumCooldownMinutes en events.yml.

chance

Establece la probabilidad de que el evento ocurra cuando se realiza la acción.

KeyValoresPredeterminado
chanceValor entre 0.0 y 1.00
Ejemplo
chance: 0.001

breakableMaterials

Establece la lista de materiales a comprobar si la acción está configurada como BREAK_BLOCK.

KeyValoresPredeterminado
breakableMaterialsLista de materialesninguno
Ejemplo
breakableMaterials:
- BEEHIVE
- BIRCH_WOOD

Ejemplo de configuración
chance: 0.001
breakableMaterials:
- COAL_ORE

Establece una probabilidad del 0,1% de ejecutar el evento cuando se rompe un bloque de mineral de carbón, asumiendo que el tipo de evento es BREAK_BLOCK.


Ejemplo completo de Evento de Acción
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 Programados

Los Eventos Programados son eventos que ocurren a intervalos de tiempo configurables. Una vez que termina el tiempo de espera de un evento programado, se elige un evento programado aleatorio de la lista de eventos programados en función del peso del evento.

spawnType

Establece el Spawn Personalizado usado por el evento, que define dónde puede aparecer el jefe.

KeyValoresPredeterminado
spawnTypeFilenameninguno
Ejemplo
spawnType: nether_spawn.yml

localCooldown

Establece la cantidad de tiempo, en minutos, antes de que este evento pueda volver a elegirse.

KeyValoresPredeterminado
localCooldownDouble0
Ejemplo
localCooldown: 120

globalCooldown

Establece la cantidad de tiempo, en minutos, antes de que se elija el siguiente evento.

KeyValoresPredeterminado
globalCooldownDouble0
Ejemplo
globalCooldown: 60

weight

Establece el peso del evento, lo que afecta a la probabilidad de que sea elegido frente a otros eventos. Recomendado: 100.

El sistema de peso determina la probabilidad relativa de selección del evento. Por ejemplo:

  • Evento A con peso 100 vs Evento B con peso 50 = el Evento A tiene el doble de probabilidades de ser seleccionado
  • Mayor peso = mayor probabilidad de ser elegido
  • El programador de eventos programados comienza ~5 minutos después del inicio del servidor y luego comprueba una vez por minuto si el tiempo de espera global ha transcurrido y se puede elegir un evento
KeyValoresPredeterminado
weightDouble0
Ejemplo
weight: 60.5

eventDuration

Establece la duración máxima del evento, en minutos.

KeyValoresPredeterminado
eventDurationDouble0
Ejemplo
eventDuration: 30

endEventWithBossDeath

Establece si el evento termina con la muerte del jefe.

KeyValoresPredeterminado
endEventWithBossDeathBooleantrue
Ejemplo
endEventWithBossDeath: true

eventEndTime

Establece la hora del juego (en ticks) en la que termina el evento. Usa el sistema de tiempo de Minecraft donde 0=amanecer, 6000=mediodía, 12000=atardecer, 18000=medianoche, 23000=madrugada. Establece -1 para deshabilitar la finalización basada en el tiempo.

KeyValoresPredeterminado
eventEndTimeInteger (0-24000, -1 para deshabilitar)-1
Ejemplo
eventEndTime: 23000

minimumPlayerCount

Establece la cantidad mínima de jugadores en línea antes de que comience el evento.

KeyValoresPredeterminado
minimumPlayerCountInteger1
Ejemplo
minimumPlayerCount: 5

Ten en cuenta que los eventos se ponen en cola, lo que significa que solo comenzarán una vez que se cumplan las condiciones definidas en el spawnType.

Ejemplo de configuración 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