メインコンテンツまでスキップ

EternalTD 開発者API

EternalTDは com.magmaguy.eternaltd.api パッケージの下にカスタムBukkitイベントを公開しており、他のプラグインが連携のためにリッスンできます。

タワーイベント

これらのイベントは、レベルセッション中にプレイヤーがタワーを操作したときに発火します。

イベントキャンセル可能公開データ
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イベントです。
  • TowerWaveEntity はEternalTDの内部型です。データアクセスにはパブリックなgetterを使用してください。
  • LevelSession はパブリックなgetterを通じて、セッションのプレイヤー、ウェーブ番号、タワー、設定を公開しています。