Créer des Événements
Ce guide concerne EliteMobs 10 et les versions ultérieures
Que sont les Événements personnalisés ?
Les Événements personnalisés désignent ici des événements qui se produisent aléatoirement en jeu, qu'ils soient basés sur les actions des joueurs ou déclenchés par un minuteur. Le plugin est livré préchargé avec un certain nombre d'Événements personnalisés, tels que l'événement Balrog, l'événement Kraken et les événements Gobelin du trésor, pour n'en citer que quelques-uns.
Ce système s'appelle Événements personnalisés car les événements peuvent non seulement être personnalisés mais aussi créés de toutes pièces. Ce qui suit est un guide expliquant comment créer et personnaliser vos propres événements.
Créer vos Événements personnalisés
Les fichiers de configuration d'événement personnalisé doivent être créés dans :
plugins/EliteMobs/customevents/
Les fichiers doivent utiliser le format .yml. Le nom du fichier (sans l'extension .yml) devient l'identifiant de l'événement.
Exemple : my_cool_event.yml est référencé par my_cool_event
Paramètres de configuration communs
Les paramètres suivants peuvent/doivent être utilisés à la fois pour les événements d'action et les événements à minuterie.
isEnabled
Définit si l'événement est activé.
| Clé | Valeurs | Défaut |
|---|---|---|
isEnabled | Boolean | true |
Exemple
isEnabled: true
eventType
Définit le type d'événement.
| Clé | Valeurs | Défaut |
|---|---|---|
eventType | DEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMED | aucun |
Notez que BREAK_BLOCK, FISH et TILL_SOIL sont des Événements d'action et que TIMED correspond aux Événements à minuterie. DEFAULT est destiné aux événements déclenchés par d'autres moyens ou des conditions spéciales.
Exemple
eventType: BREAK_BLOCK
bossFilenames
Définit la liste des boss qui seront générés. Obligatoire !
| Clé | Valeurs | Défaut |
|---|---|---|
bossFilenames | String List | aucun |
Exemple
bossFilenames:
- balrog.yml
- my_event_boss.yml
announcementPriority
Définit la priorité d'annonce.
| Clé | Valeurs | Défaut |
|---|---|---|
announcementPriority | Integer | 0 |
Exemple
announcementPriority: 1
startMessage
Définit le message envoyé au début de l'événement.
| Clé | Valeurs | Défaut |
|---|---|---|
startMessage | String | aucun |
Exemple
startMessage: An event has started!
![]()
endMessage
Définit le message envoyé à la fin de l'événement.
| Clé | Valeurs | Défaut |
|---|---|---|
endMessage | String | aucun |
Exemple
endMessage: An event has ended!
eventStartCommands
Définit les commandes qui s'exécutent au début de l'événement.
| Clé | Valeurs | Défaut |
|---|---|---|
eventStartCommands | String List | aucun |
Exemple
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

eventEndCommands
Définit les commandes qui s'exécutent à la fin de l'événement.
| Clé | Valeurs | Défaut |
|---|---|---|
eventEndCommands | String List | aucun |
Exemple
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

Exemple de configuration d'événement
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!
Exemple complet d'événement à minuterie
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
Événements d'action
Des événements qui ont une chance de se déclencher lorsqu'une action spécifique, comme casser un bloc ou pêcher, se produit.
Note : les événements d'action appliquent automatiquement un temps de recharge par joueur pour empêcher un même joueur de déclencher des événements à répétition. Le temps de recharge est de 4 minutes par défaut et est configurable via actionEventMinimumCooldownMinutes dans events.yml.
chance
Définit la chance que l'événement se produise lorsque l'action se produit.
| Clé | Valeurs | Défaut |
|---|---|---|
chance | Valeur entre 0.0 et 1.0 | 0 |
Exemple
chance: 0.001
breakableMaterials
Définit la liste des matériaux à vérifier si l'action est définie sur BREAK_BLOCK.
| Clé | Valeurs | Défaut |
|---|---|---|
breakableMaterials | Liste de matériaux | aucun |
Exemple
breakableMaterials:
- BEEHIVE
- BIRCH_WOOD
Exemple de configuration
chance: 0.001
breakableMaterials:
- COAL_ORE
Définit une chance de 0,1 % de déclencher l'événement lorsqu'un bloc de minerai de charbon est cassé, en supposant que le type d'événement est BREAK_BLOCK.
Exemple complet d'événement d'action
isEnabled: true
eventType: BREAK_BLOCK
bossFilenames:
- "mining_boss.yml"
announcementPriority: 2
startMessage: "You've awakened something..."
chance: 0.001
breakableMaterials:
- DIAMOND_ORE
- EMERALD_ORE
Événements à minuterie
Les Événements à minuterie sont des événements qui se produisent à des intervalles de temps configurables. Une fois le temps de recharge d'un événement à minuterie écoulé, un événement à minuterie aléatoire est choisi dans la liste des événements à minuterie en fonction du poids de l'événement.
spawnType
Définit l'Apparition personnalisée utilisée par l'événement, qui détermine où le boss peut apparaître.
| Clé | Valeurs | Défaut |
|---|---|---|
spawnType | Filename | aucun |
Exemple
spawnType: nether_spawn.yml
localCooldown
Définit la durée, en minutes, avant que cet événement puisse être à nouveau choisi.
| Clé | Valeurs | Défaut |
|---|---|---|
localCooldown | Double | 0 |
Exemple
localCooldown: 120
globalCooldown
Définit la durée, en minutes, avant que le prochain événement soit choisi.
| Clé | Valeurs | Défaut |
|---|---|---|
globalCooldown | Double | 0 |
Exemple
globalCooldown: 60
weight
Définit le poids de l'événement, affectant la probabilité qu'il soit choisi plutôt que d'autres événements. Recommandé : 100.
Le système de poids détermine la probabilité relative de sélection d'un événement. Par exemple :
- L'événement A avec un poids de 100 contre l'événement B avec un poids de 50 = l'événement A a deux fois plus de chances d'être sélectionné
- Plus le poids est élevé, plus la chance d'être choisi est grande
- Le planificateur d'événements à minuterie démarre environ 5 minutes après le démarrage du serveur, puis vérifie une fois par minute si le temps de recharge global s'est écoulé et qu'un événement peut être choisi
| Clé | Valeurs | Défaut |
|---|---|---|
weight | Double | 0 |
Exemple
weight: 60.5
eventDuration
Définit la durée maximale de l'événement, en minutes.
| Clé | Valeurs | Défaut |
|---|---|---|
eventDuration | Double | 0 |
Exemple
eventDuration: 30
endEventWithBossDeath
Définit si l'événement se termine avec la mort du boss.
| Clé | Valeurs | Défaut |
|---|---|---|
endEventWithBossDeath | Boolean | true |
Exemple
endEventWithBossDeath: true
eventEndTime
Définit l'heure en jeu (en ticks) à laquelle l'événement se termine. Utilisez le système temporel de Minecraft où 0=aube, 6000=midi, 12000=crépuscule, 18000=minuit, 23000=fin de nuit. Définissez sur -1 pour désactiver la fin basée sur le temps.
| Clé | Valeurs | Défaut |
|---|---|---|
eventEndTime | Integer (0-24000, -1 pour désactiver) | -1 |
Exemple
eventEndTime: 23000
minimumPlayerCount
Définit le nombre minimum de joueurs en ligne avant que l'événement ne démarre.
| Clé | Valeurs | Défaut |
|---|---|---|
minimumPlayerCount | Integer | 1 |
Exemple
minimumPlayerCount: 5
Notez que les événements sont mis en file d'attente, ce qui signifie qu'ils ne démarreront qu'une fois les conditions définies dans le spawnType remplies.
Exemple de configuration d'événements
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
