1.21.11 / 26.1+ 両対応向けの AttributeModifier 互換ヘルパ。

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

クラス説明

1.21.11 / 26.1+ 両対応向けの AttributeModifier 互換ヘルパ。
UUID ベースではなく key ベースで管理する。

責務と見どころ

重点クラスの詳細解説

1.21.11 / 26.1+ 両対応向けの AttributeModifier 互換ヘルパ。compat パッケージの 小〜中規模クラスで、責務境界の要点を確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. AttributeModifierCompat
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. create
    実体や対象状態を作る段階で、後続フローがどのデータを前提に動くかを掴めます。
  3. replace
    replace の主要処理を担当します。
  4. remove
    対象データや登録状態を削除・解除します。
  5. removeLegacyUuidModifiers
    対象データや登録状態を削除・解除します。
  6. bukkitKey
    bukkitKey の主要処理を担当します。
  7. adventureKey
    adventureKey の主要処理を担当します。
  8. tryGetLegacyUuid
    tryGetLegacyUuid の主要処理を担当します。

内部サブシステムの地図

起動・前提準備

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

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

入口 API と対象解決

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

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

状態反映と永続化

メモリ状態と保存状態を揃え、結果を次の呼び出しや画面表示へ繋ぐ部分です。

主なフィールド
なし

代表フロー詳解

初期化と起動の流れ

  1. AttributeModifierCompat
  2. create

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

通常運用の中心フロー

  1. remove
  2. removeLegacyUuidModifiers

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

反映・保存・終了の流れ

  1. remove
  2. removeLegacyUuidModifiers

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

変更時の注意点

フィールド

VisibilityTypeName役割
フィールドは抽出されませんでした。

コンストラクタ / 初期化

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

メソッド索引

NameVisibilityKind説明
AttributeModifierCompatprivateコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
createpublicメソッドcreate の主要処理を担当します。
createpublicメソッドcreate の主要処理を担当します。
replacepublicメソッドreplace の主要処理を担当します。
replacepublicメソッドreplace の主要処理を担当します。
replacepublicメソッドreplace の主要処理を担当します。
replacepublicメソッドreplace の主要処理を担当します。
removeprivateメソッド対象データや登録状態を削除・解除します。
removeLegacyUuidModifierspublicメソッド対象データや登録状態を削除・解除します。
bukkitKeyprivateメソッドbukkitKey の主要処理を担当します。
bukkitKeyprivateメソッドbukkitKey の主要処理を担当します。
adventureKeyprivateメソッドadventureKey の主要処理を担当します。
tryGetLegacyUuidprivateメソッドtryGetLegacyUuid の主要処理を担当します。
sanitizeNamespaceprivateメソッドsanitizeNamespace の主要処理を担当します。
sanitizePathprivateメソッドsanitizePath の主要処理を担当します。

メソッド詳細

AttributeModifierCompat

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

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

引数

throws

なし

主要な呼び出し順

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

create

メソッドpublicstatic
public static AttributeModifier create(Plugin plugin, String path, double amount, AttributeModifier.Operation operation)

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

引数

throws

なし

主要な呼び出し順

bukkitKey

create

メソッドpublicstatic
public static AttributeModifier create(String namespace, String path, double amount, AttributeModifier.Operation operation)

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

引数

throws

なし

主要な呼び出し順

bukkitKey

replace

メソッドpublicstatic
public static void replace(Plugin plugin, AttributeInstance instance, String path, double amount, AttributeModifier.Operation operation)

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

引数

throws

なし

主要な呼び出し順

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

replace

メソッドpublicstatic
public static void replace(Plugin plugin, AttributeInstance instance, String path, double amount, AttributeModifier.Operation operation, UUID... legacyUuids)

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

引数

throws

なし

主要な呼び出し順

bukkitKeyremoveaddModifier

replace

メソッドpublicstatic
public static void replace(String namespace, AttributeInstance instance, String path, double amount, AttributeModifier.Operation operation)

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

引数

throws

なし

主要な呼び出し順

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

replace

メソッドpublicstatic
public static void replace(String namespace, AttributeInstance instance, String path, double amount, AttributeModifier.Operation operation, UUID... legacyUuids)

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

引数

throws

なし

主要な呼び出し順

bukkitKeyremoveaddModifier

remove

メソッドprivatestatic
private static void remove(AttributeInstance instance, NamespacedKey key, UUID... legacyUuids)

対象データや登録状態を削除・解除します。

引数

throws

なし

主要な呼び出し順

getModifieradventureKeyremoveModifierremoveLegacyUuidModifiers

removeLegacyUuidModifiers

メソッドpublicstatic
public static void removeLegacyUuidModifiers(AttributeInstance instance, UUID... legacyUuids)

対象データや登録状態を削除・解除します。

引数

throws

なし

主要な呼び出し順

isEmptygetModifierstryGetLegacyUuidcontainsremoveModifier

bukkitKey

メソッドprivatestatic
private static NamespacedKey bukkitKey(Plugin plugin, String path)

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

引数

throws

なし

主要な呼び出し順

sanitizePath

bukkitKey

メソッドprivatestatic
private static NamespacedKey bukkitKey(String namespace, String path)

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

引数

throws

なし

主要な呼び出し順

sanitizeNamespacesanitizePath

adventureKey

メソッドprivatestatic
private static Key adventureKey(NamespacedKey key)

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

引数

throws

なし

主要な呼び出し順

keygetNamespacegetKey

tryGetLegacyUuid

メソッドprivatestatic
private static UUID tryGetLegacyUuid(AttributeModifier modifier)

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

引数

throws

なし

主要な呼び出し順

getClassgetMethodinvokeserializeisBlankfromString

sanitizeNamespace

メソッドprivatestatic
private static String sanitizeNamespace(String namespace)

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

引数

throws

なし

主要な呼び出し順

isBlanktoLowerCasereplaceAll

sanitizePath

メソッドprivatestatic
private static String sanitizePath(String path)

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

引数

throws

なし

主要な呼び出し順

isBlanktoLowerCasereplaceAll

代表的な処理フロー

  1. tryGetLegacyUuid フロー
    tryGetLegacyUuid → getClass → getMethod → invoke → serialize → isBlank
    tryGetLegacyUuid の主要処理を担当します。
  2. removeLegacyUuidModifiers フロー
    removeLegacyUuidModifiers → isEmpty → getModifiers → tryGetLegacyUuid → contains → removeModifier
    対象データや登録状態を削除・解除します。
  3. remove フロー
    remove → getModifier → adventureKey → removeModifier → removeLegacyUuidModifiers
    対象データや登録状態を削除・解除します。
  4. adventureKey フロー
    adventureKey → key → getNamespace → getKey
    adventureKey の主要処理を担当します。
  5. replace フロー
    replace → bukkitKey → remove → addModifier
    replace の主要処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足