API para Desarrolladores de EternalTD
EternalTD expone eventos personalizados de Bukkit bajo com.magmaguy.eternaltd.api que otros plugins pueden escuchar para su integración.
Eventos de Torres
Estos eventos se disparan cuando un jugador interactúa con torres durante una sesión de nivel.
| Evento | Cancelable | Datos expuestos |
|---|---|---|
TowerPlaceEvent | Sí | Tower tower |
TowerSellEvent | Sí | Tower tower |
TowerUpgradeEvent | Sí | Tower tower |
Cancelar un evento de torre impide que la acción se complete.
Eventos de Fase de Oleada
Estos eventos se disparan durante las transiciones del ciclo de vida de las oleadas. Ninguno de ellos es cancelable.
| Evento | Datos expuestos |
|---|---|
WaveConstructionPhaseStartEvent | LevelSession levelSession |
WaveStartingPhaseStartEvent | LevelSession levelSession |
WaveDefensivePhaseEvent | LevelSession levelSession |
WaveEndingPhaseEvent | LevelSession levelSession |
Eventos de Entidades de Oleada
Estos eventos se disparan cuando las entidades de oleada reciben daño o mueren.
| Evento | Cancelable | Datos expuestos |
|---|---|---|
WaveEntityDamageEvent | No | Tower tower, WaveEntity waveEntity, boolean directDamage |
WaveEntityDeathEvent | No | WaveEntity waveEntity |
Ejemplo de Uso
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
}
}
Notas
- Todos los eventos son eventos estándar sincrónicos de Bukkit.
ToweryWaveEntityson tipos internos de EternalTD. Usa sus getters públicos para acceder a los datos.LevelSessionexpone el jugador de la sesión, el número de oleada, las torres y la configuración a través de sus getters públicos.