倒されたモブが各プレイヤーに与えたダメージを記録するトラッカー。

1Fields
0Constructors
4Methods
57Lines
Package
com.example.rankingplugin
Source
DamageTracker.java
Kind
class
Roles
イベント駆動
このクラスにも章立て解説を追加しています。 自動抽出の一覧だけでなく、下の『重点クラスの詳細解説』で読む順番・内部サブシステム・変更時の注意点まで追えます。 全クラス章立てガイドを見る

クラス説明

倒されたモブが各プレイヤーに与えたダメージを記録するトラッカー。

責務と見どころ

重点クラスの詳細解説

倒されたモブが各プレイヤーに与えたダメージを記録するトラッカー。(root) パッケージの 小規模クラスで、運用中の主ループを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. onEntityDamage
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  2. getPlayerDamage
    指定モブが指定プレイヤーに与えたダメージを取得。
  3. getOtherMobDamage
    指定のターゲットに対して、プレイヤー以外(=他のMob)が与えた累計ダメージ
  4. clear
    死亡処理後に呼んで、このターゲットのトラッキングをクリア

内部サブシステムの地図

入口 API と対象解決

外部から呼ばれる公開メソッドや、対象プレイヤー・対象データ・対象ワールドを引き当てる経路です。

主なフィールド

運用中の主ループ

イベント受理、定期監視、判定、進行更新など、実際に挙動を生む中心ロジックです。

主なメソッド
主なフィールド

イベント受理と主処理

Bukkit イベントや内部イベントを受けたあと、どの状態を更新するかをまとめています。

主なメソッド
主なフィールド

代表フロー詳解

初期化と起動の流れ

  1. getPlayerDamage
  2. getOtherMobDamage

このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。

通常運用の中心フロー

  1. onEntityDamage

イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。

反映・保存・終了の流れ

  1. onEntityDamage
  2. getPlayerDamage
  3. getOtherMobDamage
  4. clear

結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。

変更時の注意点

フィールド

VisibilityTypeName役割
privateMap<UUID, Map<String, Double>>damageMapdamageMap の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
明示コンストラクタは抽出されませんでした。

メソッド索引

NameVisibilityKind説明
onEntityDamagepublicイベント処理イベント発生時の分岐と後続処理を担当します。
getPlayerDamagepublicメソッド指定モブが指定プレイヤーに与えたダメージを取得。
getOtherMobDamagepublicメソッド指定のターゲットに対して、プレイヤー以外(=他のMob)が与えた累計ダメージ
clearpublicメソッド死亡処理後に呼んで、このターゲットのトラッキングをクリア

メソッド詳細

onEntityDamage

イベント処理public
public void onEntityDamage(EntityDamageByEntityEvent e)

イベント発生時の分岐と後続処理を担当します。

引数

throws

なし

主要な呼び出し順

getEntitygetDamagergetUniqueIdgetFinalDamagecomputeIfAbsentmergevalueOf

getPlayerDamage

メソッドpublic
public double getPlayerDamage(UUID targetId, UUID playerId)

指定モブが指定プレイヤーに与えたダメージを取得。

引数

throws

なし

主要な呼び出し順

getOrDefault

getOtherMobDamage

メソッドpublic
public double getOtherMobDamage(UUID targetId, UUID playerId)

指定のターゲットに対して、プレイヤー以外(=他のMob)が与えた累計ダメージ

引数

throws

なし

主要な呼び出し順

entrySetstreamfiltergetKeyequalsmapToDoublesum

clear

メソッドpublic
public void clear(UUID targetId)

死亡処理後に呼んで、このターゲットのトラッキングをクリア

引数

throws

なし

主要な呼び出し順

remove

代表的な処理フロー

  1. onEntityDamage フロー
    onEntityDamage → getEntity → getDamager → getUniqueId → getFinalDamage → computeIfAbsent
    イベント発生時の分岐と後続処理を担当します。
  2. getOtherMobDamage フロー
    getOtherMobDamage → entrySet → stream → filter → getKey → equals
    指定のターゲットに対して、プレイヤー以外(=他のMob)が与えた累計ダメージ
  3. clear フロー
    clear → remove
    死亡処理後に呼んで、このターゲットのトラッキングをクリア
  4. getPlayerDamage フロー
    getPlayerDamage → getOrDefault
    指定モブが指定プレイヤーに与えたダメージを取得。

外部との接点

Web ルート

このクラス内に目立つ Web ルート定義は見つかりませんでした。

SQL / テーブル

テーブル名の抽出はありませんでした。

関連クラス

補足