Création d'événements
Ce guide concerne EliteMobs 7.3.4 et versions ultérieures
Que sont les événements personnalisés ?
Les événements personnalisés font référence à des événements qui se produisent aléatoirement en jeu, que ce soit en fonction des actions du joueur ou d'un déclencheur temporisé. Le plugin est 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 Trésorier, pour n'en nommer que quelques-uns.
Ce système est appelé événements personnalisés car les événements peuvent non seulement être personnalisés mais créés à partir de zéro. Ce qui suit est un guide sur la façon de créer et de personnaliser vos propres événements.
Création de vos événements personnalisés
Les fichiers de configuration d'événements personnalisés 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 : mon_super_evenement.yml est référencé comme mon_super_evenement
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 temporisés.
isEnabled
Définit si l'événement est activé.
| Clé | Valeurs | Par défaut |
|---|---|---|
isEnabled | Boolean | true |
Exemple
isEnabled: true
eventType
Définit le type d'événement.
| Clé | Valeurs | Par défaut |
|---|---|---|
eventType | DEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMED | none |
Notez que BREAK_BLOCK, FISH et TILL_SOIL sont des événements d'action et TIMED est pour les événements temporisés. DEFAULT est pour les é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 | Par défaut |
|---|---|---|
bossFilenames | String List | none |
Exemple
bossFilenames:
- balrog.yml
- my_event_boss.yml
announcementPriority
Définit la priorité d'annonce.
| Clé | Valeurs | Par défaut |
|---|---|---|
announcementPriority | Integer | none |
Exemple
announcementPriority: 1
startMessage
Définit le message envoyé au début de l'événement.
| Clé | Valeurs | Par défaut |
|---|---|---|
startMessage | String | none |
Exemple
startMessage: An event has started!
![]()
endMessage
Définit le message envoyé à la fin de l'événement.
| Clé | Valeurs | Par défaut |
|---|---|---|
endMessage | String | none |
Exemple
endMessage: An event has ended!
eventStartCommands
Définit les commandes qui s'exécutent au début de l'événement.
| Clé | Valeurs | Par défaut |
|---|---|---|
eventStartCommands | String List | none |
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 | Par défaut |
|---|---|---|
eventEndCommands | String List | none |
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 temporisé
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
Événements qui ont une chance de s'exécuter lorsqu'une action spécifique, comme casser un bloc ou pêcher, se produit.
Remarque : les événements d'action appliquent automatiquement un temps de recharge de 60 minutes par joueur pour empêcher le même joueur de déclencher des événements de manière répétée.
chance
Définit la probabilité que l'événement se produise lorsque l'action se produit.
| Clé | Valeurs | Par 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 | Par défaut |
|---|---|---|
breakableMaterials | Liste de matériaux | none |
Exemple
breakableMaterials:
- BEEHIVE
- BIRCH_WOOD
Exemple de configuration
chance: 0.001
breakableMaterials:
- COAL_ORE
Définit une chance de 0,1% d'exécuter 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 temporisés
Les événements temporisés sont des événements qui se produisent à des intervalles de temps configurables. Une fois que le temps de recharge d'un événement temporisé est écoulé, un événement temporisé aléatoire est choisi dans la liste des événements temporisés en fonction du poids de l'événement.
spawnType
Définit le spawn personnalisé utilisé par l'événement, qui définit où le boss peut apparaître.
| Clé | Valeurs | Par défaut |
|---|---|---|
spawnType | Filename | none |
Exemple
spawnType: nether_spawn.yml
localCooldown
Définit le temps, en minutes, avant que cet événement puisse être à nouveau choisi.
| Clé | Valeurs | Par défaut |
|---|---|---|
localCooldown | Integer | 0 |
Exemple
localCooldown: 120
globalCooldown
Définit le temps, en minutes, avant que le prochain événement soit choisi.
| Clé | Valeurs | Par défaut |
|---|---|---|
globalCooldown | Integer | 0 |
Exemple
globalCooldown: 60
weight
Définit le poids de l'événement, affectant la probabilité qu'il soit choisi par rapport aux autres événements. Recommandé : 100.
Le système de poids détermine la probabilité relative de sélection de l'événement. Par exemple :
- Événement A avec poids 100 vs Événement B avec poids 50 = L'événement A a deux fois plus de chances d'être sélectionné
- Poids plus élevé = probabilité plus élevée d'être choisi
- Les événements sont évalués environ toutes les 5 minutes
| Clé | Valeurs | Par défaut |
|---|---|---|
weight | Double | 0 |
Exemple
weight: 60.5
eventDuration
Définit la durée maximale de l'événement, en minutes.
| Clé | Valeurs | Par défaut |
|---|---|---|
eventDuration | Integer | 0 |
Exemple
eventDuration: 30
endEventWithBossDeath
Définit si l'événement se termine avec la mort du boss.
| Clé | Valeurs | Par défaut |
|---|---|---|
endEventWithBossDeath | Boolean | true |
Exemple
endEventWithBossDeath: true
eventEndTime
Définit l'heure du jeu (en ticks) à laquelle l'événement se termine. Utilisez le système de temps 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 | Par 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 commence.
| Clé | Valeurs | Par 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 commenceront que lorsque les conditions définies dans le spawnType seront 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
