起動・前提準備
初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
Safety listener for celebration fireworks.
com.example.rankingplugin.newyearnewyear/NewYearFireworkDamageListener.javaclassSafety listener for celebration fireworks.
1) Cancel damage ONLY for this plugin's tagged fireworks (so players' normal fireworks still work).
2) If a protection plugin cancels the explode event ("fizzle" / no visuals), we render a particle-based
explosion as a safe fallback (no block damage).Safety listener for celebration fireworks.。newyear パッケージの 小規模クラスで、運用中の主ループを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。
NewYearFireworkDamageListeneronDamageonExplodeisCelebrationFirework初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
イベント受理、定期監視、判定、進行更新など、実際に挙動を生む中心ロジックです。
Bukkit イベントや内部イベントを受けたあと、どの状態を更新するかをまとめています。
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
| Visibility | Type | Name | 役割 |
|---|---|---|---|
public | String | PDC_KEY | PDC_KEY の状態を保持します。 |
private | NamespacedKey | key | key の状態を保持します。 |
| Signature | 説明 | 主要呼び出し |
|---|---|---|
public NewYearFireworkDamageListener(Plugin plugin) | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 | 主要呼び出しなし |
| Name | Visibility | Kind | 説明 |
|---|---|---|---|
| NewYearFireworkDamageListener | public | コンストラクタ | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 |
| isCelebrationFirework | private | メソッド | 条件判定を行い、後続処理の分岐に使える真偽値を返します。 |
| onDamage | public | イベント処理 | イベント発生時の分岐と後続処理を担当します。 |
| onExplode | public | イベント処理 | Some protection plugins cancel FireworkExplodeEvent inside protected regions. |
public NewYearFireworkDamageListener(Plugin plugin)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
Plugin pluginなし
private boolean isCelebrationFirework(Firework fw)条件判定を行い、後続処理の分岐に使える真偽値を返します。
Firework fwなし
public void onDamage(EntityDamageByEntityEvent e)イベント発生時の分岐と後続処理を担当します。
EntityDamageByEntityEvent eなし
public void onExplode(FireworkExplodeEvent e)Some protection plugins cancel FireworkExplodeEvent inside protected regions.
FireworkExplodeEvent eなし
onExplode → getEntity → isCelebrationFirework → isCancelled → getWorld → getLocationonDamage → getDamager → isCelebrationFirework → setCancelledisCelebrationFirework → getPersistentDataContainer → has → getScoreboardTags → contains