資源ワールド(Overworld / Nether / End)の管理。

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

クラス説明

資源ワールド(Overworld / Nether / End)の管理。
特に「岩盤ゲート前へ確実に出す」ことを最優先に、
ゲート配置・月次リセット・安全テレポートを面で保証する。

責務と見どころ

重点クラスの詳細解説

資源ワールド再生、ゲート再構築、安全テレポート、月次リセット、戻り位置保存までを持ち、「事故らない資源ワールド」を保証する責務が集中しています。

最初に追う読む順番

  1. ResourceWorldManager
    起動時に何を即時実行するかを確認します。
  2. setupWorlds
    資源 3 ワールドの用意とロード方針を見ます。
  3. refreshGateLocations
    ゲート原点の再計算場所です。
  4. ensureStaticGates
    ゲート構造の保証がどこで行われるかを掴みます。
  5. computePortalDestination
    ポータル遷移の中核です。
  6. findSafeArrival
    危険地形へ飛ばさないための安全着地点探索です。
  7. scheduleMonthlyReset
    定期リセットの入口です。
  8. resetAllResourceWorlds
    避難から削除・再生成までの本体です。

内部サブシステムの地図

代表フロー詳解

変更時の注意点

フィールド

VisibilityTypeName役割
privateintGATE_WIDTHGATE_WIDTH の状態を保持します。
privateintGATE_HEIGHTGATE_HEIGHT の状態を保持します。
privateJavaPluginpluginプラグイン本体参照です。
privateStringbaseWorldNamebaseWorldName の状態を保持します。
privateStringnetherWorldNamenetherWorldName の状態を保持します。
privateStringendWorldNameendWorldName の状態を保持します。
privateStringresourceWorldNameresourceWorldName の状態を保持します。
privateStringpreferredMainWorldNamepreferredMainWorldName の状態を保持します。
privateStringresolvedMainWorldNameresolvedMainWorldName の状態を保持します。
privateLocationmainGateLocmainGateLoc の状態を保持します。
privateLocationresourceGateLocresourceGateLoc の状態を保持します。
privateMap<UUID, Long>gateCooldownUntilMsgateCooldownUntilMs の状態を保持します。
privateMap<UUID, Location>backLocationsbackLocations の状態を保持します。
privateFilebackLocationFilebackLocationFile の状態を保持します。
privateBukkitTasknextResetWarnTask非同期処理やスケジューラ制御に使うハンドルです。
privateBukkitTasknextResetTask非同期処理やスケジューラ制御に使うハンドルです。
privatebooleanresetInProgressresetInProgress の状態を保持します。

コンストラクタ / 初期化

Signature説明主要呼び出し
public ResourceWorldManager(JavaPlugin plugin)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。getDataFolder → exists → mkdirs → getPluginManager → registerEvents → setupWorlds

メソッド索引

NameVisibilityKind説明
ResourceWorldManagerpublicコンストラクタ依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
resolveMainWorldprivateメソッドresolveMainWorld の主要処理を担当します。
getMainWorldNameprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getMainLevelNameprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
isMainWorldprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
isForbiddenMainGateWorldprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
isResourceGateWorldprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
isExplicitlyExcludedMainGateWorldprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
isCandidateMainWorldprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
hasGateStructureprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
forceMainGateToWorldprivateメソッドforceMainGateToWorld の主要処理を担当します。
ensureAllCandidateMainWorldGatesprivateメソッド必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。
cleanupExcludedMainGateArtifactsprivateメソッドcleanupExcludedMainGateArtifacts の主要処理を担当します。
removeGateSiteprivateメソッド対象データや登録状態を削除・解除します。
scheduleGateHealingprivateメソッドscheduleGateHealing の主要処理を担当します。
refreshGateLocationsprivateメソッドrefreshGateLocations の主要処理を担当します。
getMainGateLocprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
getResourceGateLocprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
computeGateOriginprivateメソッドワールドのスポーン基準からゲート原点を決める。
findGateGroundYprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
isBadGateGroundprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
ensureStaticGatesprivateメソッド必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。
ensureGateSiteprivateメソッド岩盤ゲート周辺を必ず整地し、 「前面プラットフォーム + クリア空間 + ゲート枠」を強制的に揃える。
isWithinGateprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
gateFrontSpawnprivateメソッドゲートの前面プラットフォーム中央へ確実に出す。
ensureWorldLoadedprivateメソッド必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。
applyWorldSettingsprivateメソッドapplyWorldSettings の主要処理を担当します。
setupWorldsprivateメソッド初期化と各種登録を行い、機能を有効化します。
ensureEndWorldStateprivateメソッド必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。
ensureFallbackEndExitprivateメソッド必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。
onServerLoadpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onWorldLoadpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onJoinpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onChangedWorldpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onPlayerMovepublicイベント処理イベント発生時の分岐と後続処理を担当します。
onPortalpublicイベント処理イベント発生時の分岐と後続処理を担当します。
onTeleportpublicイベント処理Paper/一部環境で PlayerPortalEvent が飛ばないケースの保険。
computePortalDestinationprivateメソッドcomputePortalDestination の主要処理を担当します。
findSafeArrivalprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
createEmergencyPlatformprivateメソッドcreateEmergencyPlatform の主要処理を担当します。
scheduleMonthlyResetprivateメソッドscheduleMonthlyReset の主要処理を担当します。
resetAllResourceWorldsprivateメソッドresetAllResourceWorlds の主要処理を担当します。
evacuatePlayersFromResourceWorldsprivateメソッドevacuatePlayersFromResourceWorlds の主要処理を担当します。
unloadAndDeleteWorldprivateメソッドunloadAndDeleteWorld の主要処理を担当します。
deleteFolderprivateメソッド対象データや登録状態を削除・解除します。
saveBackLocationprivateメソッド状態を永続化または更新し、最新状態へ反映します。
loadBackLocationprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
clearBackLocationprivateメソッドclearBackLocation の主要処理を担当します。
sanitizeBackLocationprivateメソッドsanitizeBackLocation の主要処理を担当します。
ensureSafeLocationprivateメソッド必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。
findSafeNearprivateメソッド必要な状態を取得し、呼び出し側で利用しやすい形へ返します。
isSafeStandprivateメソッド条件判定を行い、後続処理の分岐に使える真偽値を返します。
applyTeleportSafetyprivateメソッドapplyTeleportSafety の主要処理を担当します。

メソッド詳細

ResourceWorldManager

コンストラクタpublic
public ResourceWorldManager(JavaPlugin plugin)

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

引数

throws

なし

主要な呼び出し順

getDataFolderexistsmkdirsgetPluginManagerregisterEventssetupWorldsrefreshGateLocationsensureStaticGates

resolveMainWorld

メソッドprivate
private World resolveMainWorld()

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

引数

throws

なし

主要な呼び出し順

isBlankgetWorldgetEnvironmentisCandidateMainWorldgetName

getMainWorldName

メソッドprivate
private String getMainWorldName()

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

引数

throws

なし

主要な呼び出し順

resolveMainWorldgetName

getMainLevelName

メソッドprivate
private String getMainLevelName()

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

引数

throws

なし

主要な呼び出し順

resolveMainWorldgetNameisBlank

isMainWorld

メソッドprivate
private boolean isMainWorld(World world)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

resolveMainWorldgetUIDequalsmatchesLogicalWorld

isForbiddenMainGateWorld

メソッドprivate
private boolean isForbiddenMainGateWorld(World world)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

getNameequalsIgnoreCase

isResourceGateWorld

メソッドprivate
private boolean isResourceGateWorld(World world)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

matchesLogicalWorld

isExplicitlyExcludedMainGateWorld

メソッドprivate
private boolean isExplicitlyExcludedMainGateWorld(World world)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

isForbiddenMainGateWorldisResourceGateWorld

isCandidateMainWorld

メソッドprivate
private boolean isCandidateMainWorld(World world)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

getEnvironmentisExplicitlyExcludedMainGateWorld

hasGateStructure

メソッドprivate
private boolean hasGateStructure(Location origin)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

getWorldgetBlockXgetBlockYgetBlockZgetBlockAtgetTypeisPassable

forceMainGateToWorld

メソッドprivatesynchronized
private synchronized void forceMainGateToWorld(World world, String reason)

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

引数

throws

なし

主要な呼び出し順

isCandidateMainWorldgetNamecomputeGateOriginhasGateStructureensureGateSitegetLoggerisLoggableinfo

ensureAllCandidateMainWorldGates

メソッドprivate
private void ensureAllCandidateMainWorldGates(String reason)

必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。

引数

throws

なし

主要な呼び出し順

resolveMainWorldisCandidateMainWorldcomputeGateOriginhasGateStructureensureGateSitegetLoggerinfoformat

cleanupExcludedMainGateArtifacts

メソッドprivate
private void cleanupExcludedMainGateArtifacts()

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

引数

throws

なし

主要な呼び出し順

getWorldsisForbiddenMainGateWorldcomputeGateOriginhasGateStructureremoveGateSitegetLoggerinfoformat

removeGateSite

メソッドprivate
private void removeGateSite(Location origin)

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

引数

throws

なし

主要な呼び出し順

getWorldgetBlockXgetBlockYgetBlockZgetBlockAtgetTypesetType

scheduleGateHealing

メソッドprivate
private void scheduleGateHealing()

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

引数

throws

なし

主要な呼び出し順

getSchedulerrunTaskLaterrefreshGateLocationsensureStaticGatesgetLoggerlog

refreshGateLocations

メソッドprivatesynchronized
private synchronized void refreshGateLocations()

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

引数

throws

なし

主要な呼び出し順

computeGateOriginresolveMainWorldgetWorld

getMainGateLoc

メソッドprivate
private Location getMainGateLoc()

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

引数

throws

なし

主要な呼び出し順

resolveMainWorldgetWorldgetUIDequalscomputeGateOriginclone

getResourceGateLoc

メソッドprivate
private Location getResourceGateLoc()

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

引数

throws

なし

主要な呼び出し順

getWorldgetUIDequalscomputeGateOriginclone

computeGateOrigin

メソッドprivate
private Location computeGateOrigin(World world)

ワールドのスポーン基準からゲート原点を決める。

引数

throws

なし

主要な呼び出し順

getSpawnLocationgetBlockgetLocationgetBlockXgetBlockZfindGateGroundY

findGateGroundY

メソッドprivate
private int findGateGroundY(World world, int x, int z)

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

引数

throws

なし

主要な呼び出し順

getHighestBlockYAtgetMinHeightgetMaxHeightmaxmingetBlockAtisBadGateGroundgetType

isBadGateGround

メソッドprivate
private boolean isBadGateGround(Material material)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

isSolid

ensureStaticGates

メソッドprivate
private void ensureStaticGates()

必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。

引数

throws

なし

主要な呼び出し順

cleanupExcludedMainGateArtifactsgetMainGateLocgetResourceGateLocisCandidateMainWorldgetWorldensureGateSiteensureAllCandidateMainWorldGates

ensureGateSite

メソッドprivate
private void ensureGateSite(Location origin, Material frameMaterial)

岩盤ゲート周辺を必ず整地し、 「前面プラットフォーム + クリア空間 + ゲート枠」を強制的に揃える。

引数

throws

なし

主要な呼び出し順

getWorldgetBlockXgetBlockYgetBlockZgetChunkAtloadgetBlockAtsetType

isWithinGate

メソッドprivate
private boolean isWithinGate(Location origin, Location pos)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

getWorldgetUIDequalsgetBlockXgetBlockYgetBlockZ

gateFrontSpawn

メソッドprivate
private Location gateFrontSpawn(Location gateOrigin)

ゲートの前面プラットフォーム中央へ確実に出す。

引数

throws

なし

主要な呼び出し順

getWorldensureGateSitegetBlockXgetBlockYgetBlockZ

ensureWorldLoaded

メソッドprivate
private World ensureWorldLoaded(String name, World.Environment env)

必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。

引数

throws

なし

主要な呼び出し順

getWorldcreateOrLoadWorldgetMainLevelNameapplyWorldSettingsensureEndWorldStategetLoggerwarning

applyWorldSettings

メソッドprivate
private void applyWorldSettings(World world, Difficulty diff)

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

引数

throws

なし

主要な呼び出し順

setDifficulty

setupWorlds

メソッドprivate
private void setupWorlds()

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

引数

throws

なし

主要な呼び出し順

getWorldcreateOrLoadWorldgetMainLevelNameapplyWorldSettingsensureEndWorldState

ensureEndWorldState

メソッドprivate
private void ensureEndWorldState(World end)

必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。

引数

throws

なし

主要な呼び出し順

getEnvironmentensureFallbackEndExitgetEnderDragonBattlegetEndPortalLocationgenerateEndPortalgetEnderDragonisDeadresetCrystals

ensureFallbackEndExit

メソッドprivate
private void ensureFallbackEndExit(World end)

必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。

引数

throws

なし

主要な呼び出し順

getSpawnLocationgetBlockXgetBlockYgetBlockZgetBlockAtgetTypesetTypeabs

onServerLoad

イベント処理public
public void onServerLoad(ServerLoadEvent e)

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

引数

throws

なし

主要な呼び出し順

getSchedulerrunTasksetupWorldsrefreshGateLocationsensureStaticGatesscheduleGateHealinggetLoggerlog

onWorldLoad

イベント処理public
public void onWorldLoad(WorldLoadEvent e)

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

引数

throws

なし

主要な呼び出し順

getWorldgetNamematchesLogicalWorldisMainWorldisCandidateMainWorldgetSchedulerrunTaskrefreshGateLocations

onJoin

イベント処理public
public void onJoin(PlayerJoinEvent e)

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

引数

throws

なし

主要な呼び出し順

getSchedulerrunTaskgetPlayergetWorldisCandidateMainWorldforceMainGateToWorldensureStaticGatesgetLogger

onChangedWorld

イベント処理public
public void onChangedWorld(PlayerChangedWorldEvent e)

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

引数

throws

なし

主要な呼び出し順

getSchedulerrunTaskgetPlayergetWorldisCandidateMainWorldforceMainGateToWorldgetLoggerlog

onPlayerMove

イベント処理public
public void onPlayerMove(PlayerMoveEvent e)

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

引数

throws

なし

主要な呼び出し順

getMainGateLocgetResourceGateLocgetTogetWorldgetPlayerisCandidateMainWorldisMainWorldhasGateStructure

onPortal

イベント処理public
public void onPortal(PlayerPortalEvent e)

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

引数

throws

なし

主要な呼び出し順

getCausegetFromgetWorldgetPlayercomputePortalDestinationsetCancelledteleportapplyTeleportSafety

onTeleport

イベント処理public
public void onTeleport(PlayerTeleportEvent e)

Paper/一部環境で PlayerPortalEvent が飛ばないケースの保険。

引数

throws

なし

主要な呼び出し順

getCausegetFromgetWorldmatchesLogicalWorldcomputePortalDestinationsetCancelledgetPlayerteleport

computePortalDestination

メソッドprivate
private Location computePortalDestination(Location from, PlayerTeleportEvent.TeleportCause cause)

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

引数

throws

なし

主要な呼び出し順

getWorldmatchesLogicalWorldensureWorldLoadedgateFrontSpawngetResourceGateLocgetEnvironmentensureEndWorldStategetSpawnLocation

findSafeArrival

メソッドprivate
private Location findSafeArrival(World world, double targetX, double targetZ, int preferredY)

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

引数

throws

なし

主要な呼び出し順

floorgetMinHeightgetMaxHeightmaxminabsisSafeStandgetHighestBlockYAt

createEmergencyPlatform

メソッドprivate
private Location createEmergencyPlatform(World world, int x, int z)

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

引数

throws

なし

主要な呼び出し順

getHighestBlockYAtmaxgetMinHeightmingetMaxHeightgetBlockAtsetType

scheduleMonthlyReset

メソッドprivate
private void scheduleMonthlyReset()

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

引数

throws

なし

主要な呼び出し順

cancelnowwithDayOfMonthplusMonthstruncatedTobetweengetSecondsmax

resetAllResourceWorlds

メソッドprivatesynchronized
private synchronized void resetAllResourceWorlds()

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

引数

throws

なし

主要な呼び出し順

evacuatePlayersFromResourceWorldsclearunloadAndDeleteWorldsetupWorldsrefreshGateLocationsensureStaticGates

evacuatePlayersFromResourceWorlds

メソッドprivate
private void evacuatePlayersFromResourceWorlds()

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

引数

throws

なし

主要な呼び出し順

gateFrontSpawngetMainGateLocresolveMainWorldensureSafeLocationgetSpawnLocationgetOnlinePlayersgetWorldgetName

unloadAndDeleteWorld

メソッドprivate
private void unloadAndDeleteWorld(String name)

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

引数

throws

なし

主要な呼び出し順

getWorldunloadWorldgetLoggerwarningdeleteFoldergetResetFoldergetMainLevelName

deleteFolder

メソッドprivate
private void deleteFolder(File folder)

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

引数

throws

なし

主要な呼び出し順

existslistFilesisDirectorydeletegetLoggerfinegetAbsolutePath

saveBackLocation

メソッドprivate
private void saveBackLocation(Player p, Location loc)

状態を永続化または更新し、最新状態へ反映します。

引数

throws

なし

主要な呼び出し順

getUniqueIdcloneloadConfigurationtoStringgetWorldgetNamegetMainWorldNamegetX

loadBackLocation

メソッドprivate
private Location loadBackLocation(Player p)

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

引数

throws

なし

主要な呼び出し順

getUniqueIdcloneexistsloadConfigurationtoStringcontainsgetStringgetMainWorldName

clearBackLocation

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

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

引数

throws

なし

主要な呼び出し順

removegetUniqueIdexistsloadConfigurationtoStringsave

sanitizeBackLocation

メソッドprivate
private Location sanitizeBackLocation(Location loc)

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

引数

throws

なし

主要な呼び出し順

clonesetXgetBlockXsetZgetBlockZ

ensureSafeLocation

メソッドprivate
private Location ensureSafeLocation(Location base)

必要なテーブル・状態・前提条件が揃っているかを確認し、不足分を補います。

引数

throws

なし

主要な呼び出し順

getWorldclonegetXgetYgetZgetYawgetPitchisSafeStand

findSafeNear

メソッドprivate
private Location findSafeNear(World w, Location base)

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

引数

throws

なし

主要な呼び出し順

getBlockXgetBlockYgetBlockZgetYawgetPitchabsisSafeStand

isSafeStand

メソッドprivate
private boolean isSafeStand(World w, Location loc)

条件判定を行い、後続処理の分岐に使える真偽値を返します。

引数

throws

なし

主要な呼び出し順

getBlockAtclonegetRelativegetTypeisSolidisPassable

applyTeleportSafety

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

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

引数

throws

なし

主要な呼び出し順

setFallDistanceaddPotionEffect

代表的な処理フロー

  1. 初期化フロー
    ResourceWorldManager → getDataFolder → exists → mkdirs → getPluginManager → registerEvents
    依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
  2. onChangedWorld フロー
    onChangedWorld → getScheduler → runTask → getPlayer → getWorld → isCandidateMainWorld
    イベント発生時の分岐と後続処理を担当します。
  3. onJoin フロー
    onJoin → getScheduler → runTask → getPlayer → getWorld → isCandidateMainWorld
    イベント発生時の分岐と後続処理を担当します。
  4. onPlayerMove フロー
    onPlayerMove → getMainGateLoc → getResourceGateLoc → getTo → getWorld → getPlayer
    イベント発生時の分岐と後続処理を担当します。
  5. onPortal フロー
    onPortal → getCause → getFrom → getWorld → getPlayer → computePortalDestination
    イベント発生時の分岐と後続処理を担当します。
  6. onServerLoad フロー
    onServerLoad → getScheduler → runTask → setupWorlds → refreshGateLocations → ensureStaticGates
    イベント発生時の分岐と後続処理を担当します。

外部との接点

Web ルート

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

SQL / テーブル

forbidden

関連クラス

補足