Aller au contenu principal

API développeur d'EternalTD

EternalTD expose des événements Bukkit personnalisés sous com.magmaguy.eternaltd.api que d'autres plugins peuvent écouter à des fins d'intégration.

Événements de tour

Ces événements se déclenchent lorsqu'un joueur interagit avec les tours pendant une session de niveau.

ÉvénementAnnulableDonnées exposées
TowerPlaceEventOuiTower tower
TowerSellEventOuiTower tower
TowerUpgradeEventOuiTower tower

Annuler un événement de tour empêche l'action de se terminer.

Événements de phase de vague

Ces événements se déclenchent lors des transitions du cycle de vie des vagues. Aucun d'entre eux n'est annulable.

ÉvénementDonnées exposées
WaveConstructionPhaseStartEventLevelSession levelSession
WaveStartingPhaseStartEventLevelSession levelSession
WaveDefensivePhaseEventLevelSession levelSession
WaveEndingPhaseEventLevelSession levelSession

Événements d'entité de vague

Ces événements se déclenchent lorsque les entités de vague subissent des dégâts ou meurent.

ÉvénementAnnulableDonnées exposées
WaveEntityDamageEventNonTower tower, WaveEntity waveEntity, boolean directDamage
WaveEntityDeathEventNonWaveEntity waveEntity

Exemple d'utilisation

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
}
}

Notes

  • Tous les événements sont des événements Bukkit synchrones standards.
  • Tower et WaveEntity sont des types internes d'EternalTD. Utilisez leurs getters publics pour accéder aux données.
  • LevelSession expose le joueur de la session, le numéro de vague, les tours et la configuration via ses getters publics.