EternalTD Entwickler-API
EternalTD stellt benutzerdefinierte Bukkit-Events unter com.magmaguy.eternaltd.api bereit, auf die andere Plugins zur Integration lauschen können.
Tower-Events
Diese Events werden ausgelöst, wenn ein Spieler während einer Level-Sitzung mit Türmen interagiert.
| Event | Abbrechbar | Bereitgestellte Daten |
|---|---|---|
TowerPlaceEvent | Ja | Tower tower |
TowerSellEvent | Ja | Tower tower |
TowerUpgradeEvent | Ja | Tower tower |
Das Abbrechen eines Tower-Events verhindert, dass die Aktion ausgeführt wird.
Wellenphasen-Events
Diese Events werden während Wellenlebenszyklusübergängen ausgelöst. Keines davon ist abbrechbar.
| Event | Bereitgestellte Daten |
|---|---|
WaveConstructionPhaseStartEvent | LevelSession levelSession |
WaveStartingPhaseStartEvent | LevelSession levelSession |
WaveDefensivePhaseEvent | LevelSession levelSession |
WaveEndingPhaseEvent | LevelSession levelSession |
Wellen-Entity-Events
Diese Events werden ausgelöst, wenn Wellen-Entities Schaden nehmen oder sterben.
| Event | Abbrechbar | Bereitgestellte Daten |
|---|---|---|
WaveEntityDamageEvent | Nein | Tower tower, WaveEntity waveEntity, boolean directDamage |
WaveEntityDeathEvent | Nein | WaveEntity waveEntity |
Verwendungsbeispiel
import com.magmaguy.eternaltd.api.TowerPlaceEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class MyETDIntegration implements Listener {
@EventHandler
public void onTowerPlace(TowerPlaceEvent event) {
// React to tower placement
}
}
Hinweise
- Alle Events sind standardmäßige synchrone Bukkit-Events.
TowerundWaveEntitysind interne EternalTD-Typen. Verwende ihre öffentlichen Getter für den Datenzugriff.LevelSessionstellt den Spieler der Sitzung, die Wellennummer, Türme und Konfiguration über öffentliche Getter bereit.