API для разработчиков EternalTD
EternalTD предоставляет пользовательские события Bukkit в пакете com.magmaguy.eternaltd.api, которые другие плагины могут прослушивать для интеграции.
События башен
Эти события срабатывают, когда игрок взаимодействует с башнями во время игровой сессии.
| Событие | Отменяемое | Доступные данные |
|---|---|---|
TowerPlaceEvent | Да | Tower tower |
TowerSellEvent | Да | Tower tower |
TowerUpgradeEvent | Да | Tower tower |
Отмена события башни предотвращает выполнение действия.
События фаз волн
Эти события срабатывают при переходах жизненного цикла волн. Ни одно из них не является отменяемым.
| Событие | Доступные данные |
|---|---|
WaveConstructionPhaseStartEvent | LevelSession levelSession |
WaveStartingPhaseStartEvent | LevelSession levelSession |
WaveDefensivePhaseEvent | LevelSession levelSession |
WaveEndingPhaseEvent | LevelSession 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предоставляет игрока сессии, номер волны, башни и конфигурацию через свои публичные геттеры.