Zum Hauptinhalt springen

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.

EventAbbrechbarBereitgestellte Daten
TowerPlaceEventJaTower tower
TowerSellEventJaTower tower
TowerUpgradeEventJaTower 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.

EventBereitgestellte Daten
WaveConstructionPhaseStartEventLevelSession levelSession
WaveStartingPhaseStartEventLevelSession levelSession
WaveDefensivePhaseEventLevelSession levelSession
WaveEndingPhaseEventLevelSession levelSession

Wellen-Entity-Events

Diese Events werden ausgelöst, wenn Wellen-Entities Schaden nehmen oder sterben.

EventAbbrechbarBereitgestellte Daten
WaveEntityDamageEventNeinTower tower, WaveEntity waveEntity, boolean directDamage
WaveEntityDeathEventNeinWaveEntity 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.
  • Tower und WaveEntity sind interne EternalTD-Typen. Verwende ihre öffentlichen Getter für den Datenzugriff.
  • LevelSession stellt den Spieler der Sitzung, die Wellennummer, Türme und Konfiguration über öffentliche Getter bereit.