Events erstellen
Diese Anleitung gilt für EliteMobs 7.3.4 und später
Was sind Custom Events?
Custom Events beziehen sich hier auf Ereignisse, die zufällig im Spiel auftreten, entweder basierend auf Spieleraktionen oder mit einem zeitgesteuerten Auslöser. Das Plugin wird mit einer Reihe von Custom Events vorgeladen, wie dem Balrog-Event, dem Kraken-Event und den Schatzgoblin-Events, um nur einige zu nennen.
Dieses System wird Custom Events genannt, weil die Events nicht nur angepasst, sondern von Grund auf neu erstellt werden können. Es folgt eine Anleitung, wie Sie Ihre eigenen Events erstellen und anpassen können.
Ihre Custom Events erstellen
Custom Event-Konfigurationsdateien sollten erstellt werden in:
plugins/EliteMobs/customevents/
Dateien müssen das .yml-Format verwenden. Der Dateiname (ohne .yml-Erweiterung) wird zur Event-Kennung.
Beispiel: my_cool_event.yml wird als my_cool_event referenziert
Allgemeine Konfigurationseinstellungen
Die folgenden Einstellungen können/sollten sowohl für Action- als auch für Timed Events verwendet werden.
isEnabled
Legt fest, ob das Event aktiviert ist.
| Schlüssel | Werte | Standard |
|---|---|---|
isEnabled | Boolean | true |
Beispiel
isEnabled: true
eventType
Legt den Typ des Events fest.
| Schlüssel | Werte | Standard |
|---|---|---|
eventType | DEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMED | none |
Hinweis: BREAK_BLOCK, FISH und TILL_SOIL sind Action Events und TIMED sind Timed Events. DEFAULT ist für Events, die durch andere Mittel oder besondere Bedingungen ausgelöst werden.
Beispiel
eventType: BREAK_BLOCK
bossFilenames
Legt die Liste der Bosse fest, die gespawnt werden. Mandatory!
| Schlüssel | Werte | Standard |
|---|---|---|
bossFilenames | String List | none |
Beispiel
bossFilenames:
- balrog.yml
- my_event_boss.yml
announcementPriority
Legt die Ankündigungspriorität.
| Schlüssel | Werte | Standard |
|---|---|---|
announcementPriority | Integer | none |
Beispiel
announcementPriority: 1
startMessage
Legt die Nachricht fest, die zu Beginn des Events gesendet wird.
| Schlüssel | Werte | Standard |
|---|---|---|
startMessage | String | none |
Beispiel
startMessage: An event has started!
![]()
endMessage
Legt die Nachricht fest, die am Ende des Events gesendet wird.
| Schlüssel | Werte | Standard |
|---|---|---|
endMessage | String | none |
Beispiel
endMessage: An event has ended!
eventStartCommands
Legt die Befehle fest, die zu Beginn des Events ausgeführt werden.
| Schlüssel | Werte | Standard |
|---|---|---|
eventStartCommands | String List | none |
Beispiel
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

eventEndCommands
Legt die Befehle fest, die am Ende des Events ausgeführt werden.
| Schlüssel | Werte | Standard |
|---|---|---|
eventEndCommands | String List | none |
Beispiel
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

Event-Konfigurations-Beispiel
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!
Vollständiges Timed Event Beispiel
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
Action Events
Events, die eine Chance haben, ausgeführt zu werden, wenn eine bestimmte Aktion stattfindet, z. B. das Abbauen eines Blocks oder das Angeln.
Hinweis: Action Events wenden automatisch eine 60-minütige Abklingzeit pro Spieler an, um zu verhindern, dass derselbe Spieler wiederholt Events auslöst.
chance
Legt die Chance fest, dass das Event eintritt, wenn die Aktion stattfindet.
| Schlüssel | Werte | Standard |
|---|---|---|
chance | Wert zwischen 0.0 und 1.0 | 0 |
Beispiel
chance: 0.001
breakableMaterials
Legt die Liste der Materialien fest, die überprüft werden sollen, wenn die Aktion auf BREAK_BLOCK gesetzt ist.
| Schlüssel | Werte | Standard |
|---|---|---|
breakableMaterials | Liste von materials | none |
Beispiel
breakableMaterials:
- BEEHIVE
- BIRCH_WOOD
Konfigurations-Beispiel
chance: 0.001
breakableMaterials:
- COAL_ORE
Legt eine 0,1% Chance fest, dass das Event ausgeführt wird, wenn ein Kohleerz-Block abgebaut wird, vorausgesetzt, der Event-Typ ist BREAK_BLOCK.
Vollständiges Action Event Beispiel
isEnabled: true
eventType: BREAK_BLOCK
bossFilenames:
- "mining_boss.yml"
announcementPriority: 2
startMessage: "You've awakened something..."
chance: 0.001
breakableMaterials:
- DIAMOND_ORE
- EMERALD_ORE
Timed Events
Timed Events sind Events, die in konfigurierbaren Zeitintervallen stattfinden. Sobald die Abklingzeit für ein Timed Event abgelaufen ist, wird ein zufälliges Timed Event basierend auf dem Gewicht des Events aus der Liste der Timed Events ausgewählt.
spawnType
Legt den Custom Spawn fest, der vom Event verwendet wird und definiert, wo der Boss spawnen kann.
| Schlüssel | Werte | Standard |
|---|---|---|
spawnType | Filename | none |
Beispiel
spawnType: nether_spawn.yml
localCooldown
Legt die Zeitspanne in Minuten fest, bevor dieses Event erneut ausgewählt werden kann.
| Schlüssel | Werte | Standard |
|---|---|---|
localCooldown | Integer | 0 |
Beispiel
localCooldown: 120
globalCooldown
Legt die Zeitspanne in Minuten fest, bevor das nächste Event ausgewählt wird.
| Schlüssel | Werte | Standard |
|---|---|---|
globalCooldown | Integer | 0 |
Beispiel
globalCooldown: 60
weight
Legt das Gewicht des Events fest, das die Chance beeinflusst, dass es gegenüber anderen Events ausgewählt wird. Empfohlen: 100.
Das Gewichtssystem bestimmt die relative Wahrscheinlichkeit der Event-Auswahl. Zum Beispiel:
- Event A mit Gewicht 100 vs. Event B mit Gewicht 50 = Event A ist doppelt so wahrscheinlich ausgewählt zu werden
- Höheres Gewicht = höhere Chance, ausgewählt zu werden
- Events werden ungefähr alle 5 Minuten bewertet
| Schlüssel | Werte | Standard |
|---|---|---|
weight | Double | 0 |
Beispiel
weight: 60.5
eventDuration
Legt die maximale Dauer des Events in Minuten fest.
| Schlüssel | Werte | Standard |
|---|---|---|
eventDuration | Integer | 0 |
Beispiel
eventDuration: 30
endEventWithBossDeath
Legt fest, ob das Event mit dem Tod des Bosses endet.
| Schlüssel | Werte | Standard |
|---|---|---|
endEventWithBossDeath | Boolean | true |
Beispiel
endEventWithBossDeath: true
eventEndTime
Legt die Spielzeit (in Ticks) fest, zu der das Event endet. Verwenden Sie Minecrafts Zeitsystem, wobei 0=Morgendämmerung, 6000=Mittag, 12000=Abenddämmerung, 18000=Mitternacht, 23000=späte Nacht. Setzen Sie auf -1, um das zeitbasierte Beenden zu deaktivieren.
| Schlüssel | Werte | Standard |
|---|---|---|
eventEndTime | Integer (0-24000, -1 zum Deaktivieren) | -1 |
Beispiel
eventEndTime: 23000
minimumPlayerCount
Legt die Mindestanzahl an Online-Spielern fest, bevor das Event startet.
| Schlüssel | Werte | Standard |
|---|---|---|
minimumPlayerCount | Integer | 1 |
Beispiel
minimumPlayerCount: 5
Hinweis: Events werden in eine Warteschlange gestellt, d. h. sie starten erst, wenn die im spawnType definierten Bedingungen erfüllt sind.
Events-Konfigurations-Beispiel
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
