入口 API と対象解決
外部から呼ばれる公開メソッドや、対象プレイヤー・対象データ・対象ワールドを引き当てる経路です。
主なフィールド
倒されたモブが各プレイヤーに与えたダメージを記録するトラッカー。
com.example.rankingpluginDamageTracker.javaclass倒されたモブが各プレイヤーに与えたダメージを記録するトラッカー。
倒されたモブが各プレイヤーに与えたダメージを記録するトラッカー。(root) パッケージの 小規模クラスで、運用中の主ループを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。
onEntityDamagegetPlayerDamagegetOtherMobDamageclear外部から呼ばれる公開メソッドや、対象プレイヤー・対象データ・対象ワールドを引き当てる経路です。
イベント受理、定期監視、判定、進行更新など、実際に挙動を生む中心ロジックです。
Bukkit イベントや内部イベントを受けたあと、どの状態を更新するかをまとめています。
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
| Visibility | Type | Name | 役割 |
|---|---|---|---|
private | Map<UUID, Map<String, Double>> | damageMap | damageMap の状態を保持します。 |
| Signature | 説明 | 主要呼び出し |
|---|---|---|
| 明示コンストラクタは抽出されませんでした。 | ||
| Name | Visibility | Kind | 説明 |
|---|---|---|---|
| onEntityDamage | public | イベント処理 | イベント発生時の分岐と後続処理を担当します。 |
| getPlayerDamage | public | メソッド | 指定モブが指定プレイヤーに与えたダメージを取得。 |
| getOtherMobDamage | public | メソッド | 指定のターゲットに対して、プレイヤー以外(=他のMob)が与えた累計ダメージ |
| clear | public | メソッド | 死亡処理後に呼んで、このターゲットのトラッキングをクリア |
public void onEntityDamage(EntityDamageByEntityEvent e)イベント発生時の分岐と後続処理を担当します。
EntityDamageByEntityEvent eなし
public double getPlayerDamage(UUID targetId, UUID playerId)指定モブが指定プレイヤーに与えたダメージを取得。
UUID targetIdUUID playerIdなし
public double getOtherMobDamage(UUID targetId, UUID playerId)指定のターゲットに対して、プレイヤー以外(=他のMob)が与えた累計ダメージ
UUID targetIdUUID playerIdなし
public void clear(UUID targetId)死亡処理後に呼んで、このターゲットのトラッキングをクリア
UUID targetIdなし
onEntityDamage → getEntity → getDamager → getUniqueId → getFinalDamage → computeIfAbsentgetOtherMobDamage → entrySet → stream → filter → getKey → equalsclear → removegetPlayerDamage → getOrDefault