Pular para o conteúdo principal

API para Desenvolvedores do EternalTD

O EternalTD expõe eventos Bukkit personalizados em com.magmaguy.eternaltd.api que outros plugins podem escutar para integração.

Eventos de Torres

Estes eventos são disparados quando um jogador interage com torres durante uma sessão de nível.

EventoCancelávelDados expostos
TowerPlaceEventSimTower tower
TowerSellEventSimTower tower
TowerUpgradeEventSimTower tower

Cancelar um evento de torre impede a ação de ser concluída.

Eventos de Fase de Onda

Estes eventos são disparados durante transições de ciclo de vida de onda. Nenhum deles é cancelável.

EventoDados expostos
WaveConstructionPhaseStartEventLevelSession levelSession
WaveStartingPhaseStartEventLevelSession levelSession
WaveDefensivePhaseEventLevelSession levelSession
WaveEndingPhaseEventLevelSession levelSession

Eventos de Entidade de Onda

Estes eventos são disparados quando entidades de onda recebem dano ou morrem.

EventoCancelávelDados expostos
WaveEntityDamageEventNãoTower tower, WaveEntity waveEntity, boolean directDamage
WaveEntityDeathEventNãoWaveEntity waveEntity

Exemplo 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) {
// Reagir à colocação de torre
}
}

Notas

  • Todos os eventos são eventos Bukkit síncronos padrão.
  • Tower e WaveEntity são tipos internos do EternalTD. Use seus getters públicos para acesso a dados.
  • LevelSession expõe o jogador da sessão, número da onda, torres e configuração através dos seus getters públicos.