Saltar al contenido principal

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.

EventoCancelableDatos expuestos
TowerPlaceEventTower tower
TowerSellEventTower tower
TowerUpgradeEventTower 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.

EventoDatos expuestos
WaveConstructionPhaseStartEventLevelSession levelSession
WaveStartingPhaseStartEventLevelSession levelSession
WaveDefensivePhaseEventLevelSession levelSession
WaveEndingPhaseEventLevelSession levelSession

Eventos de Entidades de Oleada

Estos eventos se disparan cuando las entidades de oleada reciben daño o mueren.

EventoCancelableDatos expuestos
WaveEntityDamageEventNoTower tower, WaveEntity waveEntity, boolean directDamage
WaveEntityDeathEventNoWaveEntity 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.
  • Tower y WaveEntity son tipos internos de EternalTD. Usa sus getters públicos para acceder a los datos.
  • LevelSession expone 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.