Zum Hauptinhalt springen

Events erstellen

webapp_banner.jpg

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üsselWerteStandard
isEnabledBooleantrue
Beispiel
isEnabled: true

eventType

Legt den Typ des Events fest.

SchlüsselWerteStandard
eventTypeDEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMEDnone

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üsselWerteStandard
bossFilenamesString Listnone
Beispiel
bossFilenames:
- balrog.yml
- my_event_boss.yml

announcementPriority

Legt die Ankündigungspriorität.

SchlüsselWerteStandard
announcementPriorityIntegernone
Beispiel
announcementPriority: 1

startMessage

Legt die Nachricht fest, die zu Beginn des Events gesendet wird.

SchlüsselWerteStandard
startMessageStringnone
Beispiel
startMessage: An event has started!

create_events_start_message.jpg


endMessage

Legt die Nachricht fest, die am Ende des Events gesendet wird.

SchlüsselWerteStandard
endMessageStringnone
Beispiel
endMessage: An event has ended!

create_events_end_message.jpg


eventStartCommands

Legt die Befehle fest, die zu Beginn des Events ausgeführt werden.

SchlüsselWerteStandard
eventStartCommandsString Listnone
Beispiel
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

create_events_start_commands.jpg


eventEndCommands

Legt die Befehle fest, die am Ende des Events ausgeführt werden.

SchlüsselWerteStandard
eventEndCommandsString Listnone
Beispiel
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

create_events_end_commands.jpg


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üsselWerteStandard
chanceWert zwischen 0.0 und 1.00
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üsselWerteStandard
breakableMaterialsListe von materialsnone
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üsselWerteStandard
spawnTypeFilenamenone
Beispiel
spawnType: nether_spawn.yml

localCooldown

Legt die Zeitspanne in Minuten fest, bevor dieses Event erneut ausgewählt werden kann.

SchlüsselWerteStandard
localCooldownInteger0
Beispiel
localCooldown: 120

globalCooldown

Legt die Zeitspanne in Minuten fest, bevor das nächste Event ausgewählt wird.

SchlüsselWerteStandard
globalCooldownInteger0
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üsselWerteStandard
weightDouble0
Beispiel
weight: 60.5

eventDuration

Legt die maximale Dauer des Events in Minuten fest.

SchlüsselWerteStandard
eventDurationInteger0
Beispiel
eventDuration: 30

endEventWithBossDeath

Legt fest, ob das Event mit dem Tod des Bosses endet.

SchlüsselWerteStandard
endEventWithBossDeathBooleantrue
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üsselWerteStandard
eventEndTimeInteger (0-24000, -1 zum Deaktivieren)-1
Beispiel
eventEndTime: 23000

minimumPlayerCount

Legt die Mindestanzahl an Online-Spielern fest, bevor das Event startet.

SchlüsselWerteStandard
minimumPlayerCountInteger1
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