Ranking Plugin を担当するclassです。

58Fields
0Constructors
22Methods
1100Lines
Package
com.example.rankingplugin
Source
RankingPlugin.java
Kind
class
Roles
DB / 永続化非同期 / スケジューラ初期化 / ブートストラップ
このクラスにも章立て解説を追加しています。 自動抽出の一覧だけでなく、下の『重点クラスの詳細解説』で読む順番・内部サブシステム・変更時の注意点まで追えます。 全クラス章立てガイドを見る
サブシステム横断ガイドもあります。 このクラスを含む上位の流れは こちらの処理遷移図ページ から読むと把握しやすいです。

クラス説明

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

責務と見どころ

重点クラスの詳細解説

プラグイン全体の composition root です。サービス生成、コマンド bind、イベント登録、Web 起動、停止順序、config 再読込まで全部ここを通ります。

最初に追う読む順番

  1. onEnable
    全サービス立ち上げ順序を把握する最重要メソッドです。
  2. bind
    コマンド登録の共通口です。
  3. reloadAllConfig
    運用中リロード時にどこまで差し替えるかを確認します。
  4. onDisable
    停止順序と flush/close の出口です。

内部サブシステムの地図

コマンド・イベント公開

巨大プラグインの機能を Bukkit へ表出する接点です。新規機能を繋ぐときはまずここへ差し込みます。

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

リロードと再初期化

config 差分取り込み、Discord 再初期化、各サービスへの反映がここにあります。フル再起動せず直したい項目を扱う場所です。

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

代表フロー詳解

起動シーケンス

  1. onEnable
  2. config 初期化
  3. DataSource / Discord / 各 Service 生成
  4. イベント登録
  5. コマンド bind
  6. WebDataServer 起動

RankingPlugin は「全部を直接知っている」ため、起動順序がそのまま依存順序です。依存注入ミスはまずここで見つかります。

運用中の設定再読込

  1. reloadAllConfig
  2. mergeDefaults
  3. reloadConfig
  4. Discord 再生成
  5. 各サービスへ再反映

設定変更をその場で反映したいときの経路です。何が hot reload 対象で何が再起動必須かを分けて見る基準になります。

停止シーケンス

  1. onDisable
  2. Rhythm4Key 終了復旧
  3. 各サービス shutdown
  4. WebDataServer 停止
  5. DataSource close

停止時は reverse dependency を意識した順で止めています。あとから追加したサービスもこの順序へ合わせるのが安全です。

変更時の注意点

フィールド

VisibilityTypeName役割
privateScoreServiceservice関連サービスへの参照です。
privateAdvancementTrackertrackertracker の状態を保持します。
privateRewardServicerewardService関連サービスへの参照です。
privateScoreManagermanager関連マネージャーへの参照です。
privateBingoRewardManagerrewardManager関連マネージャーへの参照です。
privateBingoCardResetManagerresetManager関連マネージャーへの参照です。
privateDamageTrackerdamageTrackerdamageTracker の状態を保持します。
privateEventPointServiceeventPointService関連サービスへの参照です。
privateBossQuestServicebossQuestService関連サービスへの参照です。
privateJackpotServicejackpotService関連サービスへの参照です。
privateMiniJackpotServiceminiJackpotService関連サービスへの参照です。
privateMiniQuestManagerminiQuestManager関連マネージャーへの参照です。
privateWebCoopBootstrapwebcoopwebcoop の状態を保持します。
privateWebDataServerwebDataServerwebDataServer の状態を保持します。
privateDailyScoreEffectServicescoreEffectService関連サービスへの参照です。
privateHikariDataSourceds共有プール(Hikari 実体)
privateOnlineStatusServiceonlineStatusService関連サービスへの参照です。
privateAwakenedWardenManagerawakenedWardenManager関連マネージャーへの参照です。
privateCurrencyServicecurrencyService関連サービスへの参照です。
privateBingoDataServicebingoDataService関連サービスへの参照です。
privateStringserverIdserverId の状態を保持します。
privateOreDimensionManageroreDimensionManager関連マネージャーへの参照です。
privateVotingFeverManagervotingFevervotingFever の状態を保持します。
privateDeathFeverManagerdeathFeverdeathFever の状態を保持します。
privatePlayerCountBuffManagerbuffManager関連マネージャーへの参照です。
privateDefaultBattleQuestbattleQuestbattleQuest の状態を保持します。
privateServerBattleManagerbattleManager関連マネージャーへの参照です。
privateEventServiceeventService関連サービスへの参照です。
privateEventRuntimeServiceeventRuntimeeventRuntime の状態を保持します。
privateLevelServantServicelevelServantService関連サービスへの参照です。
privateAchievementManagerachievementsachievements の状態を保持します。
privateLoginTrackerloginTrackerloginTracker の状態を保持します。
privateIpLinkServiceipLinkipLink の状態を保持します。
privateChatServicechatService関連サービスへの参照です。
privateServerDifficultyServicedifficultyService関連サービスへの参照です。
privateServerStatusHeartbeatheartbeatheartbeat の状態を保持します。
privateWordPressStatusPusherwpStatusPusherwpStatusPusher の状態を保持します。
privateVerifiedScorePlayersverifiedScorePlayersverifiedScorePlayers の状態を保持します。
privatecom.example.rankingplugin.bingo.AnimaTreeEngineanimaTreeanimaTree の状態を保持します。
privateMinigameEngineengineengine の状態を保持します。
privateArenaServicearenaService関連サービスへの参照です。
privateMinigameDaodaodao の状態を保持します。
privateResourcePackManagerresourcePackManager関連マネージャーへの参照です。
privateKeyskeyskeys の状態を保持します。
privateBingoRewarderrewarderrewarder の状態を保持します。
privatecom.example.rankingplugin.discord.DiscordNotifierdiscorddiscord の状態を保持します。
privatecom.example.rankingplugin.discordlink.DiscordLinkServicediscordLinkService関連サービスへの参照です。
privatecom.example.rankingplugin.discordxp.DiscordXpServicediscordXpService関連サービスへの参照です。
privatePlayerReportServiceplayerReportService関連サービスへの参照です。
privatePlayerCardServiceplayerCardService関連サービスへの参照です。
privateMonthlyRankingRewardServicemonthlyRankingRewardService関連サービスへの参照です。
privatecom.example.rankingplugin.season.SeasonServiceseasonService関連サービスへの参照です。
privatecom.example.rankingplugin.guild.GuildServiceguildService関連サービスへの参照です。
privatecom.example.rankingplugin.webcoop.EventServicewebCoopEventswebCoopEvents の状態を保持します。
privateUltimateVexManagerultimateVexManager関連マネージャーへの参照です。
privateSidebarPrefssidebarPrefssidebarPrefs の状態を保持します。
privateSet<UUID>sidebarEnabledsidebarEnabled の状態を保持します。
privatecom.example.rankingplugin.newyear.NewYearCelebrationServicenewYearCelebrationnewYearCelebration の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
明示コンストラクタは抽出されませんでした。

メソッド索引

NameVisibilityKind説明
loadMySqlConfigprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
onEnablepublicメソッドDB への問い合わせまたは更新処理を担当します。
getAnimaTreepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getEventRuntimepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getDifficultyServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getDiscordLinkServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getScoreManagerpublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getDiscordXpServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getDiscordNotifierpublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getPlayerReportServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getPlayerCardServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getMonthlyRankingRewardServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getScoreServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getLevelServantServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getCurrencyServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getOnlineStatusServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getJackpotServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getMiniJackpotServicepublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getServerIdpublicメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
bindprivateメソッドbind の主要処理を担当します。
reloadAllConfigpublicメソッドconfig.yml を読み直す。
onDisablepublicメソッドonDisable の主要処理を担当します。

メソッド詳細

loadMySqlConfig

メソッドprivate
private MySQLConfig loadMySqlConfig()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

getConfiggetStringtrimgetIntisEmptygetLoggerwarning

onEnable

メソッドpublic
public void onEnable()

DB への問い合わせまたは更新処理を担当します。

引数

throws

なし

主要な呼び出し順

restoreSuppressedMovementForOnlinerestoreStaleJudgeVisualSnapshotsgetServergetSchedulerrunTaskgetDataFolderexistsmkdirs

getAnimaTree

メソッドpublic
public com.example.rankingplugin.bingo.AnimaTreeEngine getAnimaTree()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getEventRuntime

メソッドpublic
public EventRuntimeService getEventRuntime()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getDifficultyService

メソッドpublic
public ServerDifficultyService getDifficultyService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getDiscordLinkService

メソッドpublic
public com.example.rankingplugin.discordlink.DiscordLinkService getDiscordLinkService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getScoreManager

メソッドpublic
public ScoreManager getScoreManager()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getDiscordXpService

メソッドpublic
public com.example.rankingplugin.discordxp.DiscordXpService getDiscordXpService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getDiscordNotifier

メソッドpublic
public com.example.rankingplugin.discord.DiscordNotifier getDiscordNotifier()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getPlayerReportService

メソッドpublic
public PlayerReportService getPlayerReportService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getPlayerCardService

メソッドpublic
public PlayerCardService getPlayerCardService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getMonthlyRankingRewardService

メソッドpublic
public MonthlyRankingRewardService getMonthlyRankingRewardService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getScoreService

メソッドpublic
public ScoreService getScoreService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getLevelServantService

メソッドpublic
public LevelServantService getLevelServantService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getCurrencyService

メソッドpublic
public CurrencyService getCurrencyService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getOnlineStatusService

メソッドpublic
public OnlineStatusService getOnlineStatusService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getJackpotService

メソッドpublic
public JackpotService getJackpotService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getMiniJackpotService

メソッドpublic
public MiniJackpotService getMiniJackpotService()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

getServerId

メソッドpublic
public String getServerId()

必要な状態を取得し、呼び出し側で利用しやすい形へ返します。

引数

throws

なし

主要な呼び出し順

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

bind

メソッドprivate
private void bind(String name, CommandExecutor exec)

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

引数

throws

なし

主要な呼び出し順

getCommandgetLoggerseveresetExecutor

reloadAllConfig

メソッドpublicsynchronized
public synchronized void reloadAllConfig(CommandSender requester)

config.yml を読み直す。

引数

throws

なし

主要な呼び出し順

currentTimeMillissendMessagemergeDefaultsreloadConfigshutdownGracefullycreatebindDiscordListenerreload

onDisable

メソッドpublic
public void onDisable()

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

引数

throws

なし

主要な呼び出し順

shutdownRegisteredSessionsrestoreSuppressedMovementForOnlinestopshutdowngetConfiggetConfigurationSectiongetBooleangetLogger

代表的な処理フロー

  1. onDisable フロー
    onDisable → shutdownRegisteredSessions → restoreSuppressedMovementForOnline → stop → shutdown → getConfig
    onDisable の主要処理を担当します。
  2. onEnable フロー
    onEnable → restoreSuppressedMovementForOnline → restoreStaleJudgeVisualSnapshots → getServer → getScheduler → runTask
    DB への問い合わせまたは更新処理を担当します。
  3. loadMySqlConfig フロー
    loadMySqlConfig → getConfig → getString → trim → getInt → isEmpty
    必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
  4. reloadAllConfig フロー
    reloadAllConfig → currentTimeMillis → sendMessage → mergeDefaults → reloadConfig → shutdownGracefully
    config.yml を読み直す。
  5. bind フロー
    bind → getCommand → getLogger → severe → setExecutor
    bind の主要処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

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

関連クラス

補足