EliteScript
EliteScript ist ein umfassendes Skriptsystem für MagmaGuys Plugins, das erweiterte Anpassungsoptionen für die Erstellung dynamischer Verhaltensweisen für Bosse und andere Entitäten in Minecraft bietet.
Übersicht
EliteScript ermöglicht Serveradministratoren die Erstellung komplexer, ereignisgesteuerter Verhaltensweisen für benutzerdefinierte Bosse und Mobs. Das Skriptsystem basiert auf fünf Kernkomponenten:
- Events: Auslöser, die die Skriptausführung starten (Schaden, Erscheinen, Tod usw.)
- Conditions: Voraussetzungen, die erfüllt sein müssen, damit Aktionen ausgeführt werden
- Actions: Die auszuführenden Verhaltensweisen (Schaden, Teleport, Partikel spawnen usw.)
- Targets: Welche Entitäten oder Orte von den Aktionen betroffen sind
- Zones: Definierte Bereiche in der Welt für Zielerfassung und Erkennung
- Cooldowns: Zeitbeschränkungen zur Vermeidung von Skript-Spam
Elite Scripts können als eigenständige Power-Dateien oder direkt in benutzerdefinierten Boss-Konfigurationsdateien hinzugefügt werden.
Schnellstart-Beispiel
Hier ist ein einfaches EliteScript, das einen Boss Blitze auf Spieler schlagen lässt, wenn er beschädigt wird:
eliteScript:
LightningStrike:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: STRIKE_LIGHTNING
Target:
targetType: DIRECT_TARGET
repeatEvery: 20
times: 3
Cooldowns:
local: 60
global: 20
Dieses Skript wird ausgelöst, wenn ein Spieler den Boss beschädigt, und schlägt dann 3 Mal (einmal pro Sekunde) Blitze auf den Spieler, mit einem Cooldown von 60 Ticks, bevor es erneut ausgelöst werden kann.
Skript-Komponenten
EliteScript bietet umfangreiche Anpassungsmöglichkeiten durch sein Komponentensystem. Detaillierte Informationen zu jeder Komponente findest du auf den folgenden Seiten:
Kernkomponenten
- Events - 13 Ereignistypen einschließlich Schaden, Tod, Erscheinen, Kampf und zonenbasierte Auslöser
- Actions - 35 Aktionstypen zur Erstellung komplexer Verhaltensweisen
- Targets - 17 Zieltypen zur Auswahl von Entitäten und Orten
- Conditions - Filter- und Blockierbedingungen mit mehreren Prüfungstypen
- Zones - 8 Zonenformen (Kugeln, Zylinder, Quader, Strahlen, Kegel usw.)
- Cooldowns - Lokale und globale Cooldown-Systeme
- Relative Vektoren - Erweiterte Positionierung und Bewegung
Häufige Anwendungsfälle
EliteScript wird häufig verwendet für:
- Phasenbasierte Bosskämpfe: Verschiedene Angriffsmuster bei verschiedenen Gesundheitsprozenten
- Arena-Mechaniken: Zonenbasierter Schaden, Buffs oder Spawns in bestimmten Bereichen
- Benutzerdefinierte Angriffe: Einzigartige Partikeleffekte, Projektile und Flächenangriffe
- Umgebungsgefahren: Periodische Blitze, fallende Blöcke oder Feuer
- Interaktive Mechaniken: Teleportation, Mob-Spawning und Weltmodifikation
- Spielerkommunikation: Nachrichten, Titel, Aktionsleisten und Bossleisten
- Bedingte Verhaltensweisen: Verschiedene Aktionen basierend auf Spieleranzahl, Standort oder Boss-Zustand
Implementierung
Skripte können auf zwei Arten implementiert werden:
- Power-Dateien: Erstelle eigenständige
.yml-Dateien in~/plugins/EliteMobs/powers/ - Benutzerdefinierte Boss-Dateien: Füge
eliteScript:-Abschnitte direkt zu benutzerdefinierten Boss-Konfigurationen hinzu
Detaillierte Anweisungen zum Erstellen von Powers und benutzerdefinierten Bossen findest du unter:
Leistungshinweise
Beachte beim Erstellen von Skripten diese Best Practices:
- Verwende Cooldowns, um Leistungsprobleme durch schnell auslösende Skripte zu vermeiden
- Zonenbasierte Ereignisse (ZoneEnterEvent, ZoneLeaveEvent) sind rechenintensiv - verwende kleine Zonen und angemessene Cooldowns
- Verwende Filterbedingungen, um unnötige Prüfungen zu reduzieren
- Teste Skripte gründlich, bevor du sie auf Produktivservern einsetzt
Nächste Schritte
Um deine eigenen EliteScripts zu erstellen:
- Lies die Events-Seite, um zu verstehen, was Skripte auslösen kann
- Erkunde die Actions-Seite, um zu sehen, welche Verhaltensweisen du erstellen kannst
- Lerne Targets kennen, um zu steuern, was deine Aktionen beeinflussen
- Studiere die Beispiele auf jeder Komponentenseite
- Beginne mit einfachen Skripten und steigere die Komplexität schrittweise
