Перейти к основному содержимому

API для разработчиков EternalTD

EternalTD предоставляет пользовательские события Bukkit в пакете com.magmaguy.eternaltd.api, которые другие плагины могут прослушивать для интеграции.

События башен

Эти события срабатывают, когда игрок взаимодействует с башнями во время игровой сессии.

СобытиеОтменяемоеДоступные данные
TowerPlaceEventДаTower tower
TowerSellEventДаTower tower
TowerUpgradeEventДаTower tower

Отмена события башни предотвращает выполнение действия.

События фаз волн

Эти события срабатывают при переходах жизненного цикла волн. Ни одно из них не является отменяемым.

СобытиеДоступные данные
WaveConstructionPhaseStartEventLevelSession levelSession
WaveStartingPhaseStartEventLevelSession levelSession
WaveDefensivePhaseEventLevelSession levelSession
WaveEndingPhaseEventLevelSession levelSession

События сущностей волн

Эти события срабатывают, когда сущности волн получают урон или погибают.

СобытиеОтменяемоеДоступные данные
WaveEntityDamageEventНетTower tower, WaveEntity waveEntity, boolean directDamage
WaveEntityDeathEventНетWaveEntity waveEntity

Пример использования

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

Примечания

  • Все события являются стандартными синхронными событиями Bukkit.
  • Tower и WaveEntity — это внутренние типы EternalTD. Для доступа к данным используйте их публичные геттеры.
  • LevelSession предоставляет игрока сессии, номер волны, башни и конфигурацию через свои публичные геттеры.