起動・前提準備
初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
Monthly Ranking Reward Service に関するサービス層・業務処理を担当します。
com.example.rankingpluginMonthlyRankingRewardService.javaclassクラス直前の Javadoc は見つかりませんでした。ソースとメソッド構成から責務を補完しています。
Monthly Ranking Reward Service に関するサービス層・業務処理を担当します。(root) パッケージの中でも 661 行規模の中核クラスで、運用中の主ループ・永続化境界・Web 導線が一か所に集まっています。中規模クラス群の中では変更影響が広く、章立てで読む価値が高いため重点解説へ追加しています。
MonthlyRankingRewardServiceensureConfigDefaultscreateRankItemopenRewardGuiopenMainopenEditorbuildPrestigePoolbuildBasicPoolhandleMainClick初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
外部から呼ばれる公開メソッドや、対象プレイヤー・対象データ・対象ワールドを引き当てる経路です。
イベント受理、定期監視、判定、進行更新など、実際に挙動を生む中心ロジックです。
メモリ状態と保存状態を揃え、結果を次の呼び出しや画面表示へ繋ぐ部分です。
Web から見えるエンドポイント、セッション解決、レスポンス整形を含みます。画面追加や API 変更時の起点になります。
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
onInventoryClickonJoinhandleMainClickhandleEditorClickqueuePendingsaveConfiguredMaterialssaveDataConfigイベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
| Signature | 説明 | 主要呼び出し |
|---|---|---|
public MonthlyRankingRewardService(RankingPlugin plugin) | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 | getDataFolder → loadConfiguration → unmodifiableList → buildPrestigePool → buildBasicPool → ensureConfigDefaults |
| Name | Visibility | Kind | 説明 |
|---|---|---|---|
| MonthlyRankingRewardService | public | コンストラクタ | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 |
| openRewardGui | public | メソッド | openRewardGui の主要処理を担当します。 |
| awardMonthlyRankingRewards | public | メソッド | awardMonthlyRankingRewards の主要処理を担当します。 |
| onInventoryClick | public | イベント処理 | イベント発生時の分岐と後続処理を担当します。 |
| onJoin | public | イベント処理 | イベント発生時の分岐と後続処理を担当します。 |
| handleMainClick | private | メソッド | 入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。 |
| handleEditorClick | private | メソッド | 入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。 |
| toggleMaterial | private | メソッド | toggleMaterial の主要処理を担当します。 |
| openMain | private | メソッド | openMain の主要処理を担当します。 |
| createRankItem | private | メソッド | createRankItem の主要処理を担当します。 |
| openEditor | private | メソッド | Web リクエストの受理とレスポンス生成を担当します。 |
| deliverOrQueue | private | メソッド | deliverOrQueue の主要処理を担当します。 |
| deliverPendingRewards | private | メソッド | deliverPendingRewards の主要処理を担当します。 |
| deliverPendingFromKey | private | メソッド | deliverPendingFromKey の主要処理を担当します。 |
| deliverNow | private | メソッド | deliverNow の主要処理を担当します。 |
| queuePending | private | メソッド | queuePending の主要処理を担当します。 |
| isAlreadyAwarded | private | メソッド | 条件判定を行い、後続処理の分岐に使える真偽値を返します。 |
| markAwarded | private | メソッド | markAwarded の主要処理を担当します。 |
| resolveStorageKey | private | メソッド | resolveStorageKey の主要処理を担当します。 |
| readItemStackList | private | メソッド | readItemStackList の主要処理を担当します。 |
| parseMonth | private | メソッド | 入力テキストや設定値を解析して内部表現へ変換します。 |
| getConfiguredMaterials | private | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| saveConfiguredMaterials | private | メソッド | 状態を永続化または更新し、最新状態へ反映します。 |
| getRankLimit | private | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| getPoolForRank | private | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| getAllowedMaterials | private | メソッド | 必要な状態を取得し、呼び出し側で利用しやすい形へ返します。 |
| ensureConfigDefaults | private | メソッド | 必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。 |
| saveDataConfig | private | メソッド | 状態を永続化または更新し、最新状態へ反映します。 |
| buildPrestigePool | private | メソッド | 表示用または出力用のデータを組み立てます。 |
| buildBasicPool | private | メソッド | 表示用または出力用のデータを組み立てます。 |
| isWoodMaterial | private | メソッド | 条件判定を行い、後続処理の分岐に使える真偽値を返します。 |
| isStoneMaterial | private | メソッド | 条件判定を行い、後続処理の分岐に使える真偽値を返します。 |
| isBasicOreMaterial | private | メソッド | 条件判定を行い、後続処理の分岐に使える真偽値を返します。 |
| addIfPresent | private | メソッド | addIfPresent の主要処理を担当します。 |
| fill | private | メソッド | fill の主要処理を担当します。 |
| item | private | メソッド | item の主要処理を担当します。 |
| summarizeItems | private | メソッド | summarizeItems の主要処理を担当します。 |
| prettyName | private | メソッド | prettyName の主要処理を担当します。 |
| normalizeName | private | メソッド | normalizeName の主要処理を担当します。 |
| safe | private | メソッド | safe の主要処理を担当します。 |
public MonthlyRankingRewardService(RankingPlugin plugin)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
RankingPlugin pluginなし
public boolean openRewardGui(CommandSender sender)openRewardGui の主要処理を担当します。
CommandSender senderなし
public void awardMonthlyRankingRewards(YearMonth month, Map<String, Long> scores)awardMonthlyRankingRewards の主要処理を担当します。
YearMonth monthMap<String, Long> scoresなし
public void onInventoryClick(InventoryClickEvent event)イベント発生時の分岐と後続処理を担当します。
InventoryClickEvent eventなし
public void onJoin(PlayerJoinEvent event)イベント発生時の分岐と後続処理を担当します。
PlayerJoinEvent eventなし
private void handleMainClick(Player player, int slot)入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。
Player playerint slotなし
private void handleEditorClick(Player player, RewardGuiHolder holder, int slot)入力やリクエストを受けて、検証・処理・応答までをまとめて担当します。
Player playerRewardGuiHolder holderint slotなし
private void toggleMaterial(Player player, int rank, Material material, int page)toggleMaterial の主要処理を担当します。
Player playerint rankMaterial materialint pageなし
private void openMain(Player player)openMain の主要処理を担当します。
Player playerなし
private ItemStack createRankItem(int rank)createRankItem の主要処理を担当します。
int rankなし
private void openEditor(Player player, int rank, int requestedPage)Web リクエストの受理とレスポンス生成を担当します。
Player playerint rankint requestedPageなし
private void deliverOrQueue(String playerName, List<ItemStack> rewards, YearMonth month, int rank)deliverOrQueue の主要処理を担当します。
String playerNameList<ItemStack> rewardsYearMonth monthint rankなし
private void deliverPendingRewards(Player player)deliverPendingRewards の主要処理を担当します。
Player playerなし
private boolean deliverPendingFromKey(Player player, String key)deliverPendingFromKey の主要処理を担当します。
Player playerString keyなし
private void deliverNow(Player player, List<ItemStack> rewards, YearMonth month, int rank, boolean notify)deliverNow の主要処理を担当します。
Player playerList<ItemStack> rewardsYearMonth monthint rankboolean notifyなし
private void queuePending(String playerName, List<ItemStack> rewards, YearMonth month, int rank)queuePending の主要処理を担当します。
String playerNameList<ItemStack> rewardsYearMonth monthint rankなし
private boolean isAlreadyAwarded(String monthKey, int rank, String playerName)条件判定を行い、後続処理の分岐に使える真偽値を返します。
String monthKeyint rankString playerNameなし
private void markAwarded(String monthKey, int rank, String playerName)markAwarded の主要処理を担当します。
String monthKeyint rankString playerNameなし
private String resolveStorageKey(String playerName)resolveStorageKey の主要処理を担当します。
String playerNameなし
private List<ItemStack> readItemStackList(String path)readItemStackList の主要処理を担当します。
String pathなし
private YearMonth parseMonth(String text)入力テキストや設定値を解析して内部表現へ変換します。
String textなし
private List<Material> getConfiguredMaterials(int rank)必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
int rankなし
private void saveConfiguredMaterials(int rank, List<Material> materials)状態を永続化または更新し、最新状態へ反映します。
int rankList<Material> materialsなし
private int getRankLimit(int rank)必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
int rankなし
private RewardPool getPoolForRank(int rank)必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
int rankなし
private List<Material> getAllowedMaterials(int rank)必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
int rankなし
private void ensureConfigDefaults()必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。
なし
private void saveDataConfig()状態を永続化または更新し、最新状態へ反映します。
なし
private List<Material> buildPrestigePool()表示用または出力用のデータを組み立てます。
なし
private List<Material> buildBasicPool()表示用または出力用のデータを組み立てます。
なし
private boolean isWoodMaterial(Material material)条件判定を行い、後続処理の分岐に使える真偽値を返します。
Material materialなし
private boolean isStoneMaterial(Material material)条件判定を行い、後続処理の分岐に使える真偽値を返します。
Material materialなし
private boolean isBasicOreMaterial(Material material)条件判定を行い、後続処理の分岐に使える真偽値を返します。
Material materialなし
private void addIfPresent(Set<Material> set, String... names)addIfPresent の主要処理を担当します。
Set<Material> setString... namesなし
private void fill(Inventory inv, Material material, String name)fill の主要処理を担当します。
Inventory invMaterial materialString nameなし
private ItemStack item(Material material, String name, String... lore)item の主要処理を担当します。
Material materialString nameString... loreなし
private String summarizeItems(List<ItemStack> items)summarizeItems の主要処理を担当します。
List<ItemStack> itemsなし
private String prettyName(Material material)prettyName の主要処理を担当します。
Material materialなし
private String normalizeName(String playerName)normalizeName の主要処理を担当します。
String playerNameなし
private String safe(String value)safe の主要処理を担当します。
String valueなし
MonthlyRankingRewardService → getDataFolder → loadConfiguration → unmodifiableList → buildPrestigePool → buildBasicPoolonInventoryClick → getWhoClicked → getView → getTopInventory → getHolder → setCancelledonJoin → getScheduler → runTaskLater → deliverPendingRewards → getPlayerhandleEditorClick → getAllowedMaterials → size → toggleMaterial → getConfiguredMaterials → removehandleMainClick → openEditorsaveConfiguredMaterials → getAllowedMaterials → contains → name → size → getRankLimit