/rg shop コマンドで開く簡易ショップGUI。

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

クラス説明

/rg shop コマンドで開く簡易ショップGUI。
プラグイン通貨と Vault 通貨の両対応。

責務と見どころ

重点クラスの詳細解説

/rg shop コマンドで開く簡易ショップGUI。shop パッケージの 小〜中規模クラスで、運用中の主ループ・Web 導線・スケジューラを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。

最初に追う読む順番

  1. ShopManager
    依存オブジェクトと初期状態を束ね、このクラスが担当するランタイムの前提を固めます。
  2. initShopItems
    不足テーブル・設定・内部状態を先に揃える入口です。変更を入れる前提条件の確認地点になります。
  3. openShop
    実体や対象状態を作る段階で、後続フローがどのデータを前提に動くかを掴めます。
  4. buildLore
    表示用または出力用のデータを組み立てます。
  5. handleNetworkStoragePurchase
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  6. handleItemPurchase
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  7. onCommand
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。
  8. onInventoryClick
    運用中の中心ループです。イベント受理から状態更新までの主経路を追えます。

内部サブシステムの地図

入口 API と対象解決

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

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

外部公開ルートとレスポンス

Web から見えるエンドポイント、セッション解決、レスポンス整形を含みます。画面追加や API 変更時の起点になります。

主なフィールド
なし

代表フロー詳解

初期化と起動の流れ

  1. ShopManager
  2. initShopItems
  3. openShop
  4. buildLore

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

変更時の注意点

フィールド

VisibilityTypeName役割
privateJavaPluginpluginプラグイン本体参照です。
privateCurrencyServicecurrencyService関連サービスへの参照です。
privateEconomyvaultEcovaultEco の状態を保持します。
privateList<ShopItem>shopItemsshopItems の状態を保持します。
privateNetworkStorageServicestoragestorage の状態を保持します。
privateStringSHOP_TITLESHOP_TITLE の状態を保持します。
privateMap<UUID, Boolean>useVaultModeuseVaultMode の状態を保持します。
privateintSWITCH_SLOTSWITCH_SLOT の状態を保持します。
privateintNS_EXPAND_SLOTNS_EXPAND_SLOT の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
public ShopManager(JavaPlugin plugin, CurrencyService currencyService, Economy vaultEco, NetworkStorageService storage)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。getCommand → setExecutor → getLogger → warning → getPluginManager → registerEvents

メソッド索引

NameVisibilityKind説明
fmtprivateメソッドfmt の主要処理を担当します。
fmtprivateメソッドfmt の主要処理を担当します。
ShopManagerpublicコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
initShopItemsprivateメソッド初期化と各種登録を行い、機能を有効化します。
onCommandpublicメソッドonCommand の主要処理を担当します。
toVaultprivateメソッドtoVault の主要処理を担当します。
openShopprivateメソッドopenShop の主要処理を担当します。
buildLoreprivateメソッド表示用または出力用のデータを組み立てます。
onInventoryClickpublicイベント処理イベント発生時の分岐と後続処理を担当します。
handleNetworkStoragePurchaseprivateメソッド入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。
handleItemPurchaseprivateメソッド入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。

メソッド詳細

fmt

メソッドprivatestatic
private static String fmt(long v)

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

引数

throws

なし

主要な呼び出し順

format

fmt

メソッドprivatestatic
private static String fmt(double v)

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

引数

throws

なし

主要な呼び出し順

floorformat

ShopManager

コンストラクタpublic
public ShopManager(JavaPlugin plugin, CurrencyService currencyService, Economy vaultEco, NetworkStorageService storage)

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

引数

throws

なし

主要な呼び出し順

getCommandsetExecutorgetLoggerwarninggetPluginManagerregisterEventsinitShopItems

initShopItems

メソッドprivate
private void initShopItems()

初期化と各種登録を行い、機能を有効化します。

引数

throws

なし

主要な呼び出し順

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

onCommand

メソッドpublic
public boolean onCommand(CommandSender sender, Command command, String label, String[] args)

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

引数

throws

なし

主要な呼び出し順

equalsIgnoreCaseopenShop

toVault

メソッドprivate
private double toVault(long coinCost)

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

引数

throws

なし

主要な呼び出し順

getConfiggetDoubleceil

openShop

メソッドprivate
private void openShop(Player p)

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

引数

throws

なし

主要な呼び出し順

getUniqueIdgetOrDefaultcreateInventorysizeclonerequireNonNullgetItemMetasetDisplayName

buildLore

メソッドprivate
private List<String> buildLore(ShopItem si, boolean vaultMode)

表示用または出力用のデータを組み立てます。

引数

throws

なし

主要な呼び出し順

fmt

onInventoryClick

イベント処理public
public void onInventoryClick(InventoryClickEvent e)

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

引数

throws

なし

主要な呼び出し順

equalsgetViewgetTitlesetCancelledgetWhoClickedgetRawSlotgetUniqueIdgetOrDefault

handleNetworkStoragePurchase

メソッドprivate
private void handleNetworkStoragePurchase(Player p, boolean vaultMode)

入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。

引数

throws

なし

主要な呼び出し順

getUniqueIdgetUnlockedsendMessagegetNextExpandCosttryTakeCurrencygetNamegetBalancefmt

handleItemPurchase

メソッドprivate
private void handleItemPurchase(Player p, ShopItem si, boolean vaultMode)

入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。

引数

throws

なし

主要な呼び出し順

tryTakeCurrencygetNamegetBalancesendMessagegetLoggerwarninggetTypegetInventory

代表的な処理フロー

  1. 初期化フロー
    ShopManager → getCommand → setExecutor → getLogger → warning → getPluginManager
    依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
  2. onInventoryClick フロー
    onInventoryClick → equals → getView → getTitle → setCancelled → getWhoClicked
    イベント発生時の分岐と後続処理を担当します。
  3. handleItemPurchase フロー
    handleItemPurchase → tryTakeCurrency → getName → getBalance → sendMessage → getLogger
    入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。
  4. handleNetworkStoragePurchase フロー
    handleNetworkStoragePurchase → getUniqueId → getUnlocked → sendMessage → getNextExpandCost → tryTakeCurrency
    入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。
  5. onCommand フロー
    onCommand → equalsIgnoreCase → openShop
    onCommand の主要処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足