Bingo Mob Manager に関する管理・集約処理を担当します。

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

クラス説明

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

責務と見どころ

重点クラスの詳細解説

Bingo Mob Manager に関する管理・集約処理を担当します。bingo パッケージの 小〜中規模クラスで、運用中の主ループ・スケジューラを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. BingoMobManager
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. onSpawn
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  3. onDeath
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  4. onPlayerMove
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。

内部サブシステムの地図

代表フロー詳解

初期化と起動の流れ

  1. BingoMobManager

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

通常運用の中心フロー

  1. onSpawn
  2. onDeath
  3. onPlayerMove

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

反映・保存・終了の流れ

  1. BingoMobManager
  2. onSpawn
  3. onDeath
  4. onPlayerMove

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

変更時の注意点

フィールド

VisibilityTypeName役割
privateintBINGO_SPAWN_DENOMBINGO_SPAWN_DENOM の状態を保持します。
privatedoubleFIXED_PROBABILITYFIXED_PROBABILITY の状態を保持します。
privateJavaPluginpluginプラグイン本体参照です。
privateBingoRewardManagerrewardManager関連マネージャーへの参照です。
privateBingoCardResetManagerresetManager関連マネージャーへの参照です。
privateNamespacedKeykeyBingoMobkeyBingoMob の状態を保持します。
privateNamespacedKeykeyBingoNumkeyBingoNum の状態を保持します。
privateNamespacedKeykeyBingoFixedkeyBingoFixed の状態を保持します。
privateRandomrandomrandom の状態を保持します。
privateScoreManagerscoreManager関連マネージャーへの参照です。
privateBingoRewarderbingoRewarderbingoRewarder の状態を保持します。
privateConcurrentHashMap<UUID, Long>nextNameRefreshAtnextNameRefreshAt の状態を保持します。
privatelongNAME_REFRESH_INTERVAL_MSNAME_REFRESH_INTERVAL_MS の状態を保持します。
privateorg.bukkit.NamespacedKeyKEY_FS_ACTIVEKEY_FS_ACTIVE の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
public BingoMobManager(JavaPlugin plugin, ScoreManager scoreManager, BingoRewardManager rewardManager, BingoCardResetManager resetManager, BingoRewarder bingoRewarder)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。getPluginManager → registerEvents

メソッド索引

NameVisibilityKind説明
BingoMobManagerpublicコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
onSpawnpublicイベント処理自然スポーン時に 1/106 でビンゴモブ化。
onDeathpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onPlayerMovepublicイベント処理近づいたら、確定モブには番号をネームタグ表示(通常は番号を隠す)

メソッド詳細

BingoMobManager

コンストラクタpublic
public BingoMobManager(JavaPlugin plugin, ScoreManager scoreManager, BingoRewardManager rewardManager, BingoCardResetManager resetManager, BingoRewarder bingoRewarder)

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

引数

throws

なし

主要な呼び出し順

getPluginManagerregisterEvents

onSpawn

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

自然スポーン時に 1/106 でビンゴモブ化。

引数

throws

なし

主要な呼び出し順

isEventWorldgetEntitygetWorldgetSpawnReasongetSpawnMultiplierisBingoSpawnBoostRunningmaxisBingo5x5Running

onDeath

イベント処理public
public void onDeath(EntityDeathEvent e)

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

引数

throws

なし

主要な呼び出し順

getEntitygetPersistentDataContainergetOrDefaultgetCustomNamestripColorstartsWithgetLastDamageCausegetDamager

onPlayerMove

イベント処理public
public void onPlayerMove(PlayerMoveEvent e)

近づいたら、確定モブには番号をネームタグ表示(通常は番号を隠す)

引数

throws

なし

主要な呼び出し順

blockedgetPlayergetTogetFromgetBlockXgetBlockYgetBlockZcurrentTimeMillis

代表的な処理フロー

  1. onDeath フロー
    onDeath → getEntity → getPersistentDataContainer → getOrDefault → getCustomName → stripColor
    イベント発生時の分岐と後続処理を担当します。
  2. onPlayerMove フロー
    onPlayerMove → blocked → getPlayer → getTo → getFrom → getBlockX
    近づいたら、確定モブには番号をネームタグ表示(通常は番号を隠す)
  3. onSpawn フロー
    onSpawn → isEventWorld → getEntity → getWorld → getSpawnReason → getSpawnMultiplier
    自然スポーン時に 1/106 でビンゴモブ化。
  4. 初期化フロー
    BingoMobManager → getPluginManager → registerEvents
    依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足