Arena Chunk Keeper を担当するclassです。

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

クラス説明

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

責務と見どころ

重点クラスの詳細解説

Arena Chunk Keeper を担当するclassです。minigame.arena パッケージの 小〜中規模クラスで、スケジューラを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. ArenaChunkKeeper
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. ckey
    ckey の主要処理を担当します。
  3. cx
    cx の主要処理を担当します。
  4. cz
    cz の主要処理を担当します。
  5. keep
    keep の主要処理を担当します。
  6. releaseAll
    releaseAll の主要処理を担当します。
  7. releaseKeys
    releaseKeys の主要処理を担当します。
  8. tryWorldAddTicket
    tryWorldAddTicket の主要処理を担当します。

内部サブシステムの地図

起動・前提準備

初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。

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

非同期処理と定期実行

メインスレッド境界とバックグラウンド処理が交差します。重い処理やタイミング起因の不具合を追うときの要所です。

主なフィールド
なし

代表フロー詳解

初期化と起動の流れ

  1. ArenaChunkKeeper

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

通常運用の中心フロー

  1. ArenaChunkKeeper
  2. ckey
  3. cx
  4. cz
  5. keep
  6. releaseAll

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

反映・保存・終了の流れ

  1. ArenaChunkKeeper
  2. ckey
  3. cx
  4. cz
  5. keep

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

変更時の注意点

フィールド

VisibilityTypeName役割
privateintMAX_R_CHUNKS最大保持半径(チャンク)。
privateMap<UUID, Map<Long, Integer>>refsrefs の状態を保持します。

コンストラクタ / 初期化

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

メソッド索引

NameVisibilityKind説明
ArenaChunkKeeperprivateコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
ckeyprivateメソッドckey の主要処理を担当します。
cxprivateメソッドcx の主要処理を担当します。
czprivateメソッドcz の主要処理を担当します。
keeppublicメソッドkeep の主要処理を担当します。
releaseAllpublicメソッドreleaseAll の主要処理を担当します。
releaseKeysprivateメソッドreleaseKeys の主要処理を担当します。
tryWorldAddTicketprivateメソッドtryWorldAddTicket の主要処理を担当します。
tryWorldRemoveTicketprivateメソッドtryWorldRemoveTicket の主要処理を担当します。

メソッド詳細

ArenaChunkKeeper

コンストラクタprivate
private ArenaChunkKeeper()

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

引数

throws

なし

主要な呼び出し順

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

ckey

メソッドprivatestatic
private static long ckey(int x, int z)

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

引数

throws

なし

主要な呼び出し順

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

cx

メソッドprivatestatic
private static int cx(long k)

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

引数

throws

なし

主要な呼び出し順

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

cz

メソッドprivatestatic
private static int cz(long k)

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

引数

throws

なし

主要な呼び出し順

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

keep

メソッドpublicstatic
public static Handle keep(Plugin plugin, World w, Location center, int radiusBlocks)

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

引数

throws

なし

主要な呼び出し順

isPrimaryThreadgetSchedulerrunTaskrungetBlockXgetBlockZmax

releaseAll

メソッドpublicstatic
public static void releaseAll(Plugin plugin)

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

引数

throws

なし

主要な呼び出し順

isPrimaryThreadgetSchedulerrunTaskrunentrySetgetKeygetWorld

releaseKeys

メソッドprivatestatic
private static void releaseKeys(Plugin plugin, World w, Map<Long, Boolean> touched)

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

引数

throws

なし

主要な呼び出し順

isPrimaryThreadgetSchedulerrunTaskrungetUIDkeySetremove

tryWorldAddTicket

メソッドprivatestatic
private static boolean tryWorldAddTicket(World w, int x, int z, Plugin plugin)

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

引数

throws

なし

主要な呼び出し順

getClassgetMethodinvoke

tryWorldRemoveTicket

メソッドprivatestatic
private static boolean tryWorldRemoveTicket(World w, int x, int z, Plugin plugin)

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

引数

throws

なし

主要な呼び出し順

getClassgetMethodinvoke

代表的な処理フロー

  1. keep フロー
    keep → isPrimaryThread → getScheduler → runTask → run → getBlockX
    keep の主要処理を担当します。
  2. releaseAll フロー
    releaseAll → isPrimaryThread → getScheduler → runTask → run → entrySet
    releaseAll の主要処理を担当します。
  3. releaseKeys フロー
    releaseKeys → isPrimaryThread → getScheduler → runTask → run → getUID
    releaseKeys の主要処理を担当します。
  4. tryWorldAddTicket フロー
    tryWorldAddTicket → getClass → getMethod → invoke
    tryWorldAddTicket の主要処理を担当します。
  5. tryWorldRemoveTicket フロー
    tryWorldRemoveTicket → getClass → getMethod → invoke
    tryWorldRemoveTicket の主要処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足