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énement | Annulable | Données exposées |
|---|---|---|
TowerPlaceEvent | Oui | Tower tower |
TowerSellEvent | Oui | Tower tower |
TowerUpgradeEvent | Oui | Tower 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énement | Données exposées |
|---|---|
WaveConstructionPhaseStartEvent | LevelSession levelSession |
WaveStartingPhaseStartEvent | LevelSession levelSession |
WaveDefensivePhaseEvent | LevelSession levelSession |
WaveEndingPhaseEvent | LevelSession 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énement | Annulable | Données exposées |
|---|---|---|
WaveEntityDamageEvent | Non | Tower tower, WaveEntity waveEntity, boolean directDamage |
WaveEntityDeathEvent | Non | WaveEntity 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.
ToweretWaveEntitysont des types internes d'EternalTD. Utilisez leurs getters publics pour accéder aux données.LevelSessionexpose le joueur de la session, le numéro de vague, les tours et la configuration via ses getters publics.