Difficulty Listener に関するイベント監視を担当します。

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

クラス説明

クラス直前の Javadoc は見つかりませんでした。ソースとメソッド構成から責務を補完しています。

責務と見どころ

重点クラスの詳細解説

Difficulty Listener に関するイベント監視を担当します。difficulty パッケージの 小〜中規模クラスで、運用中の主ループ・スケジューラを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. DifficultyListener
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. onNaturalSpawn
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  3. onMobDealDamage
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  4. onMobDamaged
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  5. isNaturalish
    条件判定を行い、後続処理の分岐に使える真偽値を返します。
  6. boostEnchant
    boostEnchant の主要処理を担当します。

内部サブシステムの地図

代表フロー詳解

初期化と起動の流れ

  1. DifficultyListener

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

通常運用の中心フロー

  1. onNaturalSpawn
  2. onMobDealDamage
  3. onMobDamaged

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

変更時の注意点

フィールド

VisibilityTypeName役割
privateStringMETA_APPLIEDMETA_APPLIED の状態を保持します。
privateStringMETA_SPEC_COOLDOWNMETA_SPEC_COOLDOWN の状態を保持します。
privateJavaPluginpluginプラグイン本体参照です。
privateServerDifficultyServiceservice関連サービスへの参照です。
privateRandomrndrnd の状態を保持します。
privateNamespacedKeyEXTRA_DEF_KEYEXTRA_DEF_KEY の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
public DifficultyListener(JavaPlugin plugin, ServerDifficultyService service)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。主要呼び出しなし

メソッド索引

NameVisibilityKind説明
DifficultyListenerpublicコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
onNaturalSpawnpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onMobDealDamagepublicイベント処理イベント発生時の分岐と後続処理を担当します。
onMobDamagedpublicイベント処理イベント発生時の分岐と後続処理を担当します。
isNaturalishprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
boostEnchantprivateメソッドboostEnchant の主要処理を担当します。

メソッド詳細

DifficultyListener

コンストラクタpublic
public DifficultyListener(JavaPlugin plugin, ServerDifficultyService service)

依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。

引数

throws

なし

主要な呼び出し順

目立つ内部呼び出しは抽出されませんでした。

onNaturalSpawn

イベント処理public
public void onNaturalSpawn(CreatureSpawnEvent e)

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

引数

throws

なし

主要な呼び出し順

getEntityisNaturalishgetSpawnReasonhasMetadatagetParamsgetAttributegetBaseValuemax

onMobDealDamage

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

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

引数

throws

なし

主要な呼び出し順

getDamagergetEntitygetDifficultyhasMetadatagetParamsnextDoublespecialChancecurrentTimeMillis

onMobDamaged

イベント処理public
public void onMobDamaged(EntityDamageEvent e)

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

引数

throws

なし

主要な呼び出し順

getEntitygetCausegetPersistentDataContainergetFinalDamagegetDamagesetDamage

isNaturalish

メソッドprivate
private boolean isNaturalish(CreatureSpawnEvent.SpawnReason r)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

目立つ内部呼び出しは抽出されませんでした。

boostEnchant

メソッドprivate
private void boostEnchant(ItemStack item, int bonus)

boostEnchant の主要処理を担当します。

引数

throws

なし

主要な呼び出し順

getItemMetagetEnchantsisEmptyforEachmaxaddEnchantsetItemMeta

代表的な処理フロー

  1. onMobDealDamage フロー
    onMobDealDamage → getDamager → getEntity → getDifficulty → hasMetadata → getParams
    イベント発生時の分岐と後続処理を担当します。
  2. onNaturalSpawn フロー
    onNaturalSpawn → getEntity → isNaturalish → getSpawnReason → hasMetadata → getParams
    イベント発生時の分岐と後続処理を担当します。
  3. onMobDamaged フロー
    onMobDamaged → getEntity → getCause → getPersistentDataContainer → getFinalDamage → getDamage
    イベント発生時の分岐と後続処理を担当します。
  4. boostEnchant フロー
    boostEnchant → getItemMeta → getEnchants → isEmpty → forEach → max
    boostEnchant の主要処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足