EternalTD 開発者API
EternalTDは com.magmaguy.eternaltd.api パッケージの下にカスタムBukkitイベントを公開しており、他のプラグインが連携のためにリッスンできます。
タワーイベント
これらのイベントは、レベルセッション中にプレイヤーがタワーを操作したときに発火します。
| イベント | キャンセル可能 | 公開データ |
|---|---|---|
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の内部型です。データアクセスにはパブリックなgetterを使用してください。LevelSessionはパブリックなgetterを通じて、セッションのプレイヤー、ウェーブ番号、タワー、設定を公開しています。