Aller au contenu principal

Création d'événements

webapp_banner.jpg

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éValeursPar défaut
isEnabledBooleantrue
Exemple
isEnabled: true

eventType

Définit le type d'événement.

CléValeursPar défaut
eventTypeDEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMEDnone

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éValeursPar défaut
bossFilenamesString Listnone
Exemple
bossFilenames:
- balrog.yml
- my_event_boss.yml

announcementPriority

Définit la priorité d'annonce.

CléValeursPar défaut
announcementPriorityIntegernone
Exemple
announcementPriority: 1

startMessage

Définit le message envoyé au début de l'événement.

CléValeursPar défaut
startMessageStringnone
Exemple
startMessage: An event has started!

create_events_start_message.jpg


endMessage

Définit le message envoyé à la fin de l'événement.

CléValeursPar défaut
endMessageStringnone
Exemple
endMessage: An event has ended!

create_events_end_message.jpg


eventStartCommands

Définit les commandes qui s'exécutent au début de l'événement.

CléValeursPar défaut
eventStartCommandsString Listnone
Exemple
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

create_events_start_commands.jpg


eventEndCommands

Définit les commandes qui s'exécutent à la fin de l'événement.

CléValeursPar défaut
eventEndCommandsString Listnone
Exemple
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

create_events_end_commands.jpg


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éValeursPar défaut
chanceValeur entre 0.0 et 1.00
Exemple
chance: 0.001

breakableMaterials

Définit la liste des matériaux à vérifier si l'action est définie sur BREAK_BLOCK.

CléValeursPar défaut
breakableMaterialsListe de matériauxnone
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éValeursPar défaut
spawnTypeFilenamenone
Exemple
spawnType: nether_spawn.yml

localCooldown

Définit le temps, en minutes, avant que cet événement puisse être à nouveau choisi.

CléValeursPar défaut
localCooldownInteger0
Exemple
localCooldown: 120

globalCooldown

Définit le temps, en minutes, avant que le prochain événement soit choisi.

CléValeursPar défaut
globalCooldownInteger0
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éValeursPar défaut
weightDouble0
Exemple
weight: 60.5

eventDuration

Définit la durée maximale de l'événement, en minutes.

CléValeursPar défaut
eventDurationInteger0
Exemple
eventDuration: 30

endEventWithBossDeath

Définit si l'événement se termine avec la mort du boss.

CléValeursPar défaut
endEventWithBossDeathBooleantrue
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éValeursPar défaut
eventEndTimeInteger (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éValeursPar défaut
minimumPlayerCountInteger1
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