dev b9ab67ed679e cached
1742 files
8.1 MB
2.2M tokens
17449 symbols
1 requests
Download .txt
Showing preview only (9,030K chars total). Download the full file or copy to clipboard to get everything.
Repository: BG-Software-LLC/SuperiorSkyblock2
Branch: dev
Commit: b9ab67ed679e
Files: 1742
Total size: 8.1 MB

Directory structure:
gitextract_b7lsuvt_/

├── .claudeignore
├── .gitattributes
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug-report.yaml
│   │   └── config.yml
│   └── workflows/
│       └── gemini.yml
├── .gitignore
├── API/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── bgsoftware/
│                       └── superiorskyblock/
│                           └── api/
│                               ├── SuperiorSkyblock.java
│                               ├── SuperiorSkyblockAPI.java
│                               ├── commands/
│                               │   └── SuperiorCommand.java
│                               ├── config/
│                               │   └── SettingsManager.java
│                               ├── data/
│                               │   ├── DatabaseBridge.java
│                               │   ├── DatabaseBridgeMode.java
│                               │   ├── DatabaseFilter.java
│                               │   └── IDatabaseBridgeHolder.java
│                               ├── entity/
│                               │   └── EntityCategory.java
│                               ├── enums/
│                               │   ├── BankAction.java
│                               │   ├── BorderColor.java
│                               │   ├── HitActionResult.java
│                               │   ├── MemberRemoveReason.java
│                               │   ├── Rating.java
│                               │   ├── SyncStatus.java
│                               │   └── TopIslandMembersSorting.java
│                               ├── events/
│                               │   ├── AttemptPlayerSendMessageEvent.java
│                               │   ├── BlockStackEvent.java
│                               │   ├── BlockUnstackEvent.java
│                               │   ├── IslandBanEvent.java
│                               │   ├── IslandBankDepositEvent.java
│                               │   ├── IslandBankWithdrawEvent.java
│                               │   ├── IslandBiomeChangeEvent.java
│                               │   ├── IslandChangeBankLimitEvent.java
│                               │   ├── IslandChangeBlockLimitEvent.java
│                               │   ├── IslandChangeBorderSizeEvent.java
│                               │   ├── IslandChangeCoopLimitEvent.java
│                               │   ├── IslandChangeCropGrowthEvent.java
│                               │   ├── IslandChangeDescriptionEvent.java
│                               │   ├── IslandChangeDiscordEvent.java
│                               │   ├── IslandChangeEffectLevelEvent.java
│                               │   ├── IslandChangeEntityLimitEvent.java
│                               │   ├── IslandChangeGeneratorRateEvent.java
│                               │   ├── IslandChangeLevelBonusEvent.java
│                               │   ├── IslandChangeMembersLimitEvent.java
│                               │   ├── IslandChangeMobDropsEvent.java
│                               │   ├── IslandChangePaypalEvent.java
│                               │   ├── IslandChangePlayerPrivilegeEvent.java
│                               │   ├── IslandChangeRoleLimitEvent.java
│                               │   ├── IslandChangeRolePrivilegeEvent.java
│                               │   ├── IslandChangeSpawnerRatesEvent.java
│                               │   ├── IslandChangeWarpCategoryIconEvent.java
│                               │   ├── IslandChangeWarpCategorySlotEvent.java
│                               │   ├── IslandChangeWarpIconEvent.java
│                               │   ├── IslandChangeWarpLocationEvent.java
│                               │   ├── IslandChangeWarpsLimitEvent.java
│                               │   ├── IslandChangeWorthBonusEvent.java
│                               │   ├── IslandChatEvent.java
│                               │   ├── IslandChunkResetEvent.java
│                               │   ├── IslandClearFlagsEvent.java
│                               │   ├── IslandClearGeneratorRatesEvent.java
│                               │   ├── IslandClearPlayerPrivilegesEvent.java
│                               │   ├── IslandClearRatingsEvent.java
│                               │   ├── IslandClearRolesPrivilegesEvent.java
│                               │   ├── IslandCloseEvent.java
│                               │   ├── IslandCloseWarpEvent.java
│                               │   ├── IslandCoopPlayerEvent.java
│                               │   ├── IslandCreateEvent.java
│                               │   ├── IslandCreateWarpCategoryEvent.java
│                               │   ├── IslandCreateWarpEvent.java
│                               │   ├── IslandDeleteWarpEvent.java
│                               │   ├── IslandDisableFlagEvent.java
│                               │   ├── IslandDisbandEvent.java
│                               │   ├── IslandEnableFlagEvent.java
│                               │   ├── IslandEnterEvent.java
│                               │   ├── IslandEnterPortalEvent.java
│                               │   ├── IslandEnterProtectedEvent.java
│                               │   ├── IslandEvent.java
│                               │   ├── IslandGenerateBlockEvent.java
│                               │   ├── IslandHomeTeleportEvent.java
│                               │   ├── IslandInviteEvent.java
│                               │   ├── IslandJoinEvent.java
│                               │   ├── IslandKickEvent.java
│                               │   ├── IslandLeaveEvent.java
│                               │   ├── IslandLeaveProtectedEvent.java
│                               │   ├── IslandLockWorldEvent.java
│                               │   ├── IslandOpenEvent.java
│                               │   ├── IslandOpenWarpEvent.java
│                               │   ├── IslandQuitEvent.java
│                               │   ├── IslandRateEvent.java
│                               │   ├── IslandRemoveBlockLimitEvent.java
│                               │   ├── IslandRemoveEffectEvent.java
│                               │   ├── IslandRemoveEntityLimitEvent.java
│                               │   ├── IslandRemoveGeneratorRateEvent.java
│                               │   ├── IslandRemoveRatingEvent.java
│                               │   ├── IslandRemoveRoleLimitEvent.java
│                               │   ├── IslandRemoveVisitorHomeEvent.java
│                               │   ├── IslandRenameEvent.java
│                               │   ├── IslandRenameWarpCategoryEvent.java
│                               │   ├── IslandRenameWarpEvent.java
│                               │   ├── IslandRestrictMoveEvent.java
│                               │   ├── IslandSchematicPasteEvent.java
│                               │   ├── IslandSetHomeEvent.java
│                               │   ├── IslandSetVisitorHomeEvent.java
│                               │   ├── IslandTransferEvent.java
│                               │   ├── IslandUnbanEvent.java
│                               │   ├── IslandUncoopPlayerEvent.java
│                               │   ├── IslandUnlockWorldEvent.java
│                               │   ├── IslandUpgradeEvent.java
│                               │   ├── IslandVisitorHomeTeleportEvent.java
│                               │   ├── IslandWarpTeleportEvent.java
│                               │   ├── IslandWorldResetEvent.java
│                               │   ├── IslandWorthCalculatedEvent.java
│                               │   ├── IslandWorthUpdateEvent.java
│                               │   ├── MissionCompleteEvent.java
│                               │   ├── MissionResetEvent.java
│                               │   ├── PlayerChangeBorderColorEvent.java
│                               │   ├── PlayerChangeLanguageEvent.java
│                               │   ├── PlayerChangeNameEvent.java
│                               │   ├── PlayerChangeRoleEvent.java
│                               │   ├── PlayerCloseMenuEvent.java
│                               │   ├── PlayerOpenMenuEvent.java
│                               │   ├── PlayerReplaceEvent.java
│                               │   ├── PlayerToggleBlocksStackerEvent.java
│                               │   ├── PlayerToggleBorderEvent.java
│                               │   ├── PlayerToggleBypassEvent.java
│                               │   ├── PlayerToggleFlyEvent.java
│                               │   ├── PlayerTogglePanelEvent.java
│                               │   ├── PlayerToggleSpyEvent.java
│                               │   ├── PlayerToggleTeamChatEvent.java
│                               │   ├── PluginInitializeEvent.java
│                               │   ├── PluginInitializedEvent.java
│                               │   ├── PluginLoadDataEvent.java
│                               │   ├── PostIslandCreateEvent.java
│                               │   ├── PreIslandCreateEvent.java
│                               │   └── SendMessageEvent.java
│                               ├── factory/
│                               │   ├── BanksFactory.java
│                               │   ├── DatabaseBridgeFactory.java
│                               │   ├── DelegateBanksFactory.java
│                               │   ├── DelegateDatabaseBridgeFactory.java
│                               │   ├── DelegateIslandsFactory.java
│                               │   ├── DelegatePlayersFactory.java
│                               │   ├── IslandsFactory.java
│                               │   └── PlayersFactory.java
│                               ├── handlers/
│                               │   ├── BlockValuesManager.java
│                               │   ├── CommandsManager.java
│                               │   ├── FactoriesManager.java
│                               │   ├── GridManager.java
│                               │   ├── KeysManager.java
│                               │   ├── MenusManager.java
│                               │   ├── MissionsManager.java
│                               │   ├── ModulesManager.java
│                               │   ├── PlayersManager.java
│                               │   ├── ProvidersManager.java
│                               │   ├── RolesManager.java
│                               │   ├── SchematicManager.java
│                               │   ├── StackedBlocksManager.java
│                               │   └── UpgradesManager.java
│                               ├── hooks/
│                               │   ├── AFKProvider.java
│                               │   ├── ChunksProvider.java
│                               │   ├── EconomyProvider.java
│                               │   ├── EntitiesProvider.java
│                               │   ├── LazyWorldsProvider.java
│                               │   ├── MenusProvider.java
│                               │   ├── PermissionsProvider.java
│                               │   ├── PricesProvider.java
│                               │   ├── SpawnersProvider.java
│                               │   ├── SpawnersSnapshotProvider.java
│                               │   ├── StackedBlocksProvider.java
│                               │   ├── StackedBlocksSnapshotProvider.java
│                               │   ├── VanishProvider.java
│                               │   ├── WorldsProvider.java
│                               │   ├── listener/
│                               │   │   ├── ISkinsListener.java
│                               │   │   ├── IStackedBlocksListener.java
│                               │   │   ├── IWorldLoadListener.java
│                               │   │   └── IWorldsListener.java
│                               │   └── world/
│                               │       └── WorldLoadFlags.java
│                               ├── island/
│                               │   ├── BlockChangeResult.java
│                               │   ├── DelegateIsland.java
│                               │   ├── DelegateIslandChest.java
│                               │   ├── DelegateIslandPreview.java
│                               │   ├── DelegatePermissionNode.java
│                               │   ├── Island.java
│                               │   ├── IslandBlockFlags.java
│                               │   ├── IslandChest.java
│                               │   ├── IslandChunkFlags.java
│                               │   ├── IslandFlag.java
│                               │   ├── IslandPreview.java
│                               │   ├── IslandPrivilege.java
│                               │   ├── PermissionNode.java
│                               │   ├── PlayerRole.java
│                               │   ├── SortingType.java
│                               │   ├── algorithms/
│                               │   │   ├── DelegateIslandBlocksTrackerAlgorithm.java
│                               │   │   ├── DelegateIslandCalculationAlgorithm.java
│                               │   │   ├── DelegateIslandEntitiesTrackerAlgorithm.java
│                               │   │   ├── IslandBlocksTrackerAlgorithm.java
│                               │   │   ├── IslandCalculationAlgorithm.java
│                               │   │   └── IslandEntitiesTrackerAlgorithm.java
│                               │   ├── bank/
│                               │   │   ├── BankTransaction.java
│                               │   │   ├── DelegateBankTransaction.java
│                               │   │   ├── DelegateIslandBank.java
│                               │   │   └── IslandBank.java
│                               │   ├── cache/
│                               │   │   ├── IslandCache.java
│                               │   │   └── IslandCacheKey.java
│                               │   ├── container/
│                               │   │   ├── DelegateIslandsContainer.java
│                               │   │   └── IslandsContainer.java
│                               │   └── warps/
│                               │       ├── DelegateIslandWarp.java
│                               │       ├── DelegateWarpCategory.java
│                               │       ├── IslandWarp.java
│                               │       └── WarpCategory.java
│                               ├── key/
│                               │   ├── CustomKeyParser.java
│                               │   ├── Key.java
│                               │   ├── KeyMap.java
│                               │   └── KeySet.java
│                               ├── menu/
│                               │   ├── BaseMenu.java
│                               │   ├── ISuperiorMenu.java
│                               │   ├── Menu.java
│                               │   ├── MenuCommands.java
│                               │   ├── MenuIslandCreationConfig.java
│                               │   ├── PagedMenu.java
│                               │   ├── button/
│                               │   │   ├── MenuTemplateButton.java
│                               │   │   ├── MenuViewButton.java
│                               │   │   ├── PagedMenuTemplateButton.java
│                               │   │   └── PagedMenuViewButton.java
│                               │   ├── layout/
│                               │   │   ├── MenuLayout.java
│                               │   │   └── PagedMenuLayout.java
│                               │   ├── parser/
│                               │   │   ├── MenuParseException.java
│                               │   │   └── MenuParser.java
│                               │   └── view/
│                               │       ├── BaseMenuView.java
│                               │       ├── BasePagedMenuView.java
│                               │       ├── MenuView.java
│                               │       ├── PagedMenuView.java
│                               │       └── ViewArgs.java
│                               ├── missions/
│                               │   ├── IMissionsHolder.java
│                               │   ├── Mission.java
│                               │   ├── MissionCategory.java
│                               │   └── MissionLoadException.java
│                               ├── modules/
│                               │   ├── ModuleInitializeData.java
│                               │   ├── ModuleLoadTime.java
│                               │   ├── ModuleLogger.java
│                               │   ├── ModuleResources.java
│                               │   └── PluginModule.java
│                               ├── objects/
│                               │   ├── Enumerable.java
│                               │   └── Pair.java
│                               ├── persistence/
│                               │   ├── DelegatePersistentDataContainer.java
│                               │   ├── IPersistentDataHolder.java
│                               │   ├── PersistentDataContainer.java
│                               │   ├── PersistentDataType.java
│                               │   └── PersistentDataTypeContext.java
│                               ├── platform/
│                               │   └── IEventsDispatcher.java
│                               ├── player/
│                               │   ├── DelegateSuperiorPlayer.java
│                               │   ├── PlayerStatus.java
│                               │   ├── algorithm/
│                               │   │   ├── DelegatePlayerTeleportAlgorithm.java
│                               │   │   └── PlayerTeleportAlgorithm.java
│                               │   ├── cache/
│                               │   │   ├── PlayerCache.java
│                               │   │   └── PlayerCacheKey.java
│                               │   ├── container/
│                               │   │   ├── DelegatePlayersContainer.java
│                               │   │   └── PlayersContainer.java
│                               │   ├── inventory/
│                               │   │   └── ClearAction.java
│                               │   └── respawn/
│                               │       └── RespawnAction.java
│                               ├── schematic/
│                               │   ├── Schematic.java
│                               │   ├── SchematicOptions.java
│                               │   └── parser/
│                               │       ├── SchematicParseException.java
│                               │       └── SchematicParser.java
│                               ├── scripts/
│                               │   └── IScriptEngine.java
│                               ├── service/
│                               │   ├── bossbar/
│                               │   │   ├── BossBar.java
│                               │   │   └── BossBarsService.java
│                               │   ├── dragon/
│                               │   │   ├── DragonBattleResetResult.java
│                               │   │   └── DragonBattleService.java
│                               │   ├── hologram/
│                               │   │   ├── Hologram.java
│                               │   │   └── HologramsService.java
│                               │   ├── message/
│                               │   │   ├── IMessageComponent.java
│                               │   │   └── MessagesService.java
│                               │   ├── placeholders/
│                               │   │   ├── IslandPlaceholderParser.java
│                               │   │   ├── PlaceholdersService.java
│                               │   │   └── PlayerPlaceholderParser.java
│                               │   ├── portals/
│                               │   │   ├── EntityPortalResult.java
│                               │   │   └── PortalsManagerService.java
│                               │   ├── region/
│                               │   │   ├── InteractionResult.java
│                               │   │   ├── MoveResult.java
│                               │   │   └── RegionManagerService.java
│                               │   ├── stackedblocks/
│                               │   │   ├── InteractionResult.java
│                               │   │   └── StackedBlocksInteractionService.java
│                               │   └── world/
│                               │       ├── RecordResult.java
│                               │       ├── WorldRecordFlags.java
│                               │       └── WorldRecordService.java
│                               ├── upgrades/
│                               │   ├── Upgrade.java
│                               │   ├── UpgradeLevel.java
│                               │   └── cost/
│                               │       ├── UpgradeCost.java
│                               │       ├── UpgradeCostLoadException.java
│                               │       └── UpgradeCostLoader.java
│                               ├── world/
│                               │   ├── Dimension.java
│                               │   ├── GameSound.java
│                               │   ├── WorldInfo.java
│                               │   └── algorithm/
│                               │       ├── DelegateIslandCreationAlgorithm.java
│                               │       └── IslandCreationAlgorithm.java
│                               └── wrappers/
│                                   ├── BlockOffset.java
│                                   ├── BlockPosition.java
│                                   ├── SuperiorPlayer.java
│                                   └── WorldPosition.java
├── Hooks/
│   ├── AdvancedSlimePaper/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── AdvancedSlimePaperHook.java
│   ├── AdvancedSpawners/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_AdvancedSpawners.java
│   ├── CMI/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── afk/
│   │                               │   └── AFKProvider_CMI.java
│   │                               └── vanish/
│   │                                   └── VanishProvider_CMI.java
│   ├── CandcSilkSpawners/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_CandcSilkSpawners.java
│   ├── ChangeSkin/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── ChangeSkinHook.java
│   ├── CoreProtect/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── CoreProtectHook.java
│   ├── CraftEngine/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── CraftEngineHook.java
│   ├── EpicSpawners6/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_EpicSpawners6.java
│   ├── EpicSpawners7/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_EpicSpawners7.java
│   ├── EpicSpawners8/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_EpicSpawners8.java
│   ├── EpicSpawners9/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_EpicSpawners9.java
│   ├── Essentials/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── afk/
│   │                               │   └── AFKProvider_Essentials.java
│   │                               └── vanish/
│   │                                   └── VanishProvider_Essentials.java
│   ├── FastAsyncWorldEdit/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── world/
│   │                               └── schematic/
│   │                                   ├── impl/
│   │                                   │   └── WorldEditSchematic.java
│   │                                   └── parser/
│   │                                       └── FAWESchematicParser.java
│   ├── ItemsAdder/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── ItemsAdderHook.java
│   ├── JetsMinions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── JetsMinionsHook.java
│   ├── LuckPerms/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── permissions/
│   │                                   └── PermissionsProvider_LuckPerms.java
│   ├── MVdWPlaceholderAPI/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── placeholders/
│   │                                   └── PlaceholdersProvider_MVdWPlaceholderAPI.java
│   ├── MergedSpawner/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_MergedSpawner.java
│   ├── MiniMessage/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── MiniMessageHook.java
│   ├── Nexo/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── NexoHook.java
│   ├── OpenJdkNashornEngine/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── core/
│   │                               └── engine/
│   │                                   └── OpenJdkNashornEngine.java
│   ├── Oraxen/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── OraxenHook.java
│   ├── PaperMC/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── async/
│   │                               │   └── AsyncProvider_Paper.java
│   │                               ├── chunks/
│   │                               │   └── ChunksProvider_Paper.java
│   │                               └── remapper/
│   │                                   └── PluginRemapperFilesLookupProvider.java
│   ├── PlaceholderAPI/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── placeholders/
│   │                                   └── PlaceholdersProvider_PlaceholderAPI.java
│   ├── Plan/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── PlanHook.java
│   ├── ProtocolLib/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── ProtocolLibHook.java
│   ├── PvpingSpawners/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_PvpingSpawners.java
│   ├── RoseStacker/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── entities/
│   │                               │   └── EntitiesProvider_RoseStacker.java
│   │                               ├── spawners/
│   │                               │   └── SpawnersProvider_RoseStacker.java
│   │                               └── stackedblocks/
│   │                                   └── StackedBlocksProvider_RoseStacker.java
│   ├── SkinsRestorer/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SkinsRestorerHook.java
│   ├── SkinsRestorer14/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SkinsRestorer14Hook.java
│   ├── SkinsRestorer15/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SkinsRestorer15Hook.java
│   ├── SlimeWorldManager/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SlimeWorldManagerHook.java
│   ├── Slimefun/
│   │   ├── ProtectionModule_Dev999/
│   │   │   ├── build.gradle
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── com/
│   │   │                   └── bgsoftware/
│   │   │                       └── superiorskyblock/
│   │   │                           └── external/
│   │   │                               └── slimefun/
│   │   │                                   └── ProtectionModule_Dev999.java
│   │   ├── ProtectionModule_RC13/
│   │   │   ├── build.gradle
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── com/
│   │   │                   └── bgsoftware/
│   │   │                       └── superiorskyblock/
│   │   │                           └── external/
│   │   │                               └── slimefun/
│   │   │                                   └── ProtectionModule_RC13.java
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SlimefunHook.java
│   ├── SmoothTimber/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SmoothTimberHook.java
│   ├── SuperVanish/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── vanish/
│   │                                   └── VanishProvider_SuperVanish.java
│   ├── TimbruSilkSpawners/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── TimbruSilkSpawnersHook.java
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_TimbruSilkSpawners.java
│   ├── UltimateStacker/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_UltimateStacker.java
│   ├── UltimateStacker3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_UltimateStacker3.java
│   ├── UltimateStacker4/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_UltimateStacker4.java
│   ├── VanishNoPacket/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── vanish/
│   │                                   └── VanishProvider_VanishNoPacket.java
│   ├── Vault/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── economy/
│   │                                   └── EconomyProvider_Vault.java
│   ├── WildStacker/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           ├── external/
│   │                           │   ├── WildStackerSnapshotsContainer.java
│   │                           │   ├── spawners/
│   │                           │   │   └── SpawnersProvider_WildStacker.java
│   │                           │   └── stackedblocks/
│   │                           │       └── StackedBlocksProvider_WildStacker.java
│   │                           └── module/
│   │                               └── upgrades/
│   │                                   └── listeners/
│   │                                       └── WildStackerListener.java
│   └── build.gradle
├── LICENSE
├── Missions/
│   ├── BlocksMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               ├── BlocksMissions.java
│   │                               └── blocks/
│   │                                   ├── BlocksTracker.java
│   │                                   ├── BlocksTrackingComponent.java
│   │                                   ├── ChunkBitSet.java
│   │                                   └── TrackedBlocksData.java
│   ├── BrewingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── BrewingMissions.java
│   ├── CraftingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── CraftingMissions.java
│   ├── EnchantingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── EnchantingMissions.java
│   ├── FarmingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               ├── FarmingMissions.java
│   │                               └── farming/
│   │                                   ├── PlantType.java
│   │                                   ├── PlantsTracker.java
│   │                                   ├── PlantsTrackingComponent.java
│   │                                   └── TrackedPlantsData.java
│   ├── FishingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── FishingMissions.java
│   ├── IslandMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               ├── IslandMissions.java
│   │                               └── island/
│   │                                   ├── DynamicRegisteredListener.java
│   │                                   ├── EventsHelper.java
│   │                                   └── timings/
│   │                                       ├── DummyTimings.java
│   │                                       ├── ITimings.java
│   │                                       ├── LegacyTimingsWrapper.java
│   │                                       └── TimingsWrapper.java
│   ├── ItemsMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── ItemsMissions.java
│   ├── KillsMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── KillsMissions.java
│   ├── StatisticsMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── StatisticsMissions.java
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── bgsoftware/
│                       └── superiorskyblock/
│                           └── missions/
│                               └── common/
│                                   ├── BuiltinMission.java
│                                   ├── Placeholders.java
│                                   ├── requirements/
│                                   │   ├── CustomRequirements.java
│                                   │   ├── IRequirements.java
│                                   │   ├── KeyRequirements.java
│                                   │   ├── Requirements.java
│                                   │   └── RequirementsAbstract.java
│                                   └── tracker/
│                                       ├── DataTracker.java
│                                       ├── KeyDataTracker.java
│                                       └── RawDataTracker.java
├── NMS/
│   ├── Paper/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── algorithms/
│   │                                   └── PaperGlowEnchantment.java
│   ├── Paper-1_20_3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_20_3/
│   │                                   └── algorithms/
│   │                                       └── PaperGlowEnchantment.java
│   ├── Spigot/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── algorithms/
│   │                                   ├── NMSCachedBlock.java
│   │                                   └── SpigotGlowEnchantment.java
│   ├── Spigot-1_20_3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_20_3/
│   │                                   └── algorithms/
│   │                                       ├── NMSCachedBlock.java
│   │                                       └── SpigotGlowEnchantment.java
│   ├── build.gradle
│   ├── src/
│   │   └── main/
│   │       └── templates/
│   │           ├── AbstractNMSAlgorithms.java.template
│   │           ├── AbstractNMSChunks.java.template
│   │           ├── AbstractNMSEntities.java.template
│   │           ├── AbstractNMSTags.java.template
│   │           ├── AbstractNMSWorld.java.template
│   │           ├── NMSDragonFightImpl.java.template
│   │           ├── NMSHologramsImpl.java.template
│   │           ├── NMSPlayersImpl.java.template
│   │           ├── NMSUtils.java.template
│   │           ├── crops/
│   │           │   ├── CropsBlockEntity.java.template
│   │           │   ├── CropsTickingBlockEntity.java.template
│   │           │   └── CropsTickingMethod.java.template
│   │           ├── dragon/
│   │           │   ├── AbstractIslandEntityEnderDragon.java.template
│   │           │   ├── DragonUtils.java.template
│   │           │   ├── EndWorldEndDragonFightHandler.java.template
│   │           │   ├── IslandEndDragonFight.java.template
│   │           │   └── SpikesCache.java.template
│   │           ├── generator/
│   │           │   └── IslandsGeneratorImpl.java.template
│   │           ├── hologram/
│   │           │   └── AbstractEntityHologram.java.template
│   │           ├── menu/
│   │           │   ├── MenuBrewingStandBlockEntity.java.template
│   │           │   ├── MenuDispenserBlockEntity.java.template
│   │           │   ├── MenuFurnaceBlockEntity.java.template
│   │           │   └── MenuHopperBlockEntity.java.template
│   │           ├── player/
│   │           │   └── OfflinePlayerDataImpl.java.template
│   │           ├── spawners/
│   │           │   └── TickingSpawnerBlockEntityNotifier.java.template
│   │           ├── utils/
│   │           │   ├── SetBlockContext.java.template
│   │           │   └── TickingBlockList.java.template
│   │           └── world/
│   │               ├── BlockEntityCache.java.template
│   │               ├── ChunkReaderImpl.java.template
│   │               ├── KeyBlocksCache.java.template
│   │               ├── PropertiesMapper.java.template
│   │               ├── WorldEditSessionDataImpl.java.template
│   │               └── WorldEditSessionImpl.java.template
│   ├── v1_12_R1/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_12_R1/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSCachedBlock.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSDragonFightImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSHologramsImpl.java
│   │                                   ├── NMSPlayersImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSUtils.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── chunks/
│   │                                   │   ├── CropsTickingTileEntity.java
│   │                                   │   └── EmptyCounterChunkSection.java
│   │                                   ├── dragon/
│   │                                   │   ├── DragonUtils.java
│   │                                   │   ├── EndWorldEnderDragonBattleHandler.java
│   │                                   │   ├── IslandEnderDragonBattle.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── generator/
│   │                                   │   └── IslandsGeneratorImpl.java
│   │                                   ├── player/
│   │                                   │   └── OfflinePlayerDataImpl.java
│   │                                   ├── spawners/
│   │                                   │   └── MobSpawnerAbstractNotifier.java
│   │                                   └── world/
│   │                                       ├── BlockEntityCache.java
│   │                                       ├── ChunkReaderImpl.java
│   │                                       ├── KeyBlocksCache.java
│   │                                       ├── WorldEditSessionDataImpl.java
│   │                                       └── WorldEditSessionImpl.java
│   ├── v1_16_R3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_16_R3/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSDragonFightImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSHologramsImpl.java
│   │                                   ├── NMSPlayersImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSUtils.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── crops/
│   │                                   │   ├── CropsTickingMethod.java
│   │                                   │   └── CropsTickingTileEntity.java
│   │                                   ├── dragon/
│   │                                   │   ├── DragonUtils.java
│   │                                   │   ├── EndWorldEnderDragonBattleHandler.java
│   │                                   │   ├── IslandEnderDragonBattle.java
│   │                                   │   ├── IslandEntityEnderDragon.java
│   │                                   │   └── SpikesCache.java
│   │                                   ├── generator/
│   │                                   │   └── IslandsGeneratorImpl.java
│   │                                   ├── menu/
│   │                                   │   ├── MenuTileEntityBrewing.java
│   │                                   │   ├── MenuTileEntityDispenser.java
│   │                                   │   ├── MenuTileEntityFurnace.java
│   │                                   │   └── MenuTileEntityHopper.java
│   │                                   ├── player/
│   │                                   │   └── OfflinePlayerDataImpl.java
│   │                                   ├── spawners/
│   │                                   │   └── TileEntityMobSpawnerNotifier.java
│   │                                   └── world/
│   │                                       ├── BlockEntityCache.java
│   │                                       ├── BlockStatesMapper.java
│   │                                       ├── BlockTickListServerTracker.java
│   │                                       ├── ChunkReaderImpl.java
│   │                                       ├── KeyBlocksCache.java
│   │                                       ├── WorldEditSessionDataImpl.java
│   │                                       └── WorldEditSessionImpl.java
│   ├── v1_17/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_17/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandSculkSensorBlockEntity.java
│   │                                   └── world/
│   │                                       ├── BlockServerTickListTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_18/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_18/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandSculkSensorBlockEntity.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_19/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_19/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandSculkSensorBlockEntity.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_20_3/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_20_3/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_20_4/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_20_4/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_10/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_10/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_3/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_3/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_4/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_4/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_5/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_5/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_7/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_7/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_9/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_9/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_8_R3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_8_R3/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSCachedBlock.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSHologramsImpl.java
│   │                                   ├── NMSPlayersImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSUtils.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── chunks/
│   │                                   │   └── CropsTickingTileEntity.java
│   │                                   ├── generator/
│   │                                   │   └── IslandsGeneratorImpl.java
│   │                                   ├── player/
│   │                                   │   └── OfflinePlayerDataImpl.java
│   │                                   ├── spawners/
│   │                                   │   └── MobSpawnerAbstractNotifier.java
│   │                                   └── world/
│   │                                       ├── BlockEntityCache.java
│   │                                       ├── ChunkReaderImpl.java
│   │                                       ├── KeyBlocksCache.java
│   │                                       ├── WorldEditSessionDataImpl.java
│   │                                       └── WorldEditSessionImpl.java
│   └── v26_1/
│       ├── build.gradle
│       ├── properties
│       └── src/
│           └── main/
│               └── java/
│                   └── com/
│                       └── bgsoftware/
│                           └── superiorskyblock/
│                               └── nms/
│                                   └── v26_1/
│                                       ├── NMSAlgorithmsImpl.java
│                                       ├── NMSChunksImpl.java
│                                       ├── NMSEntitiesImpl.java
│                                       ├── NMSTagsImpl.java
│                                       ├── NMSWorldImpl.java
│                                       ├── dragon/
│                                       │   ├── EndDragonFightWrapper.java
│                                       │   └── IslandEntityEnderDragon.java
│                                       ├── hologram/
│                                       │   └── EntityHologram.java
│                                       ├── trial/
│                                       │   └── IslandPlayerDetector.java
│                                       ├── utils/
│                                       │   └── NMSUtilsVersioned.java
│                                       ├── vibration/
│                                       │   └── IslandVibrationUser.java
│                                       └── world/
│                                           ├── BlockLevelTicksTracker.java
│                                           ├── CollectingNeighborUpdaterTracker.java
│                                           └── PropertiesMapperVersioned.java
├── README.md
├── build.gradle
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src/
    └── main/
        ├── java/
        │   └── com/
        │       └── bgsoftware/
        │           └── superiorskyblock/
        │               ├── SuperiorSkyblockPlugin.java
        │               ├── commands/
        │               │   ├── CommandTabCompletes.java
        │               │   ├── CommandsHelper.java
        │               │   ├── CommandsManagerImpl.java
        │               │   ├── CommandsMap.java
        │               │   ├── IAdminIslandCommand.java
        │               │   ├── IAdminPlayerCommand.java
        │               │   ├── IPermissibleCommand.java
        │               │   ├── ISuperiorCommand.java
        │               │   ├── admin/
        │               │   │   ├── AdminCommandsMap.java
        │               │   │   ├── CmdAdminAdd.java
        │               │   │   ├── CmdAdminAddBonus.java
        │               │   │   ├── CmdAdminAddCoopLimit.java
        │               │   │   ├── CmdAdminAddDisbands.java
        │               │   │   ├── CmdAdminAddSize.java
        │               │   │   ├── CmdAdminAddTeamLimit.java
        │               │   │   ├── CmdAdminAddWarpsLimit.java
        │               │   │   ├── CmdAdminBypass.java
        │               │   │   ├── CmdAdminChest.java
        │               │   │   ├── CmdAdminClose.java
        │               │   │   ├── CmdAdminCmdAll.java
        │               │   │   ├── CmdAdminCount.java
        │               │   │   ├── CmdAdminData.java
        │               │   │   ├── CmdAdminDebug.java
        │               │   │   ├── CmdAdminDelWarp.java
        │               │   │   ├── CmdAdminDemote.java
        │               │   │   ├── CmdAdminDisband.java
        │               │   │   ├── CmdAdminFly.java
        │               │   │   ├── CmdAdminIgnore.java
        │               │   │   ├── CmdAdminJoin.java
        │               │   │   ├── CmdAdminKick.java
        │               │   │   ├── CmdAdminModules.java
        │               │   │   ├── CmdAdminMsg.java
        │               │   │   ├── CmdAdminMsgAll.java
        │               │   │   ├── CmdAdminName.java
        │               │   │   ├── CmdAdminOpen.java
        │               │   │   ├── CmdAdminOpenMenu.java
        │               │   │   ├── CmdAdminPromote.java
        │               │   │   ├── CmdAdminPurge.java
        │               │   │   ├── CmdAdminRecalc.java
        │               │   │   ├── CmdAdminReload.java
        │               │   │   ├── CmdAdminRemoveRatings.java
        │               │   │   ├── CmdAdminResetPermissions.java
        │               │   │   ├── CmdAdminResetSettings.java
        │               │   │   ├── CmdAdminResetWorld.java
        │               │   │   ├── CmdAdminSchematic.java
        │               │   │   ├── CmdAdminSetBiome.java
        │               │   │   ├── CmdAdminSetBlockAmount.java
        │               │   │   ├── CmdAdminSetBonus.java
        │               │   │   ├── CmdAdminSetChestRow.java
        │               │   │   ├── CmdAdminSetCoopLimit.java
        │               │   │   ├── CmdAdminSetDisbands.java
        │               │   │   ├── CmdAdminSetIslandPreview.java
        │               │   │   ├── CmdAdminSetLeader.java
        │               │   │   ├── CmdAdminSetPermission.java
        │               │   │   ├── CmdAdminSetRate.java
        │               │   │   ├── CmdAdminSetRoleLimit.java
        │               │   │   ├── CmdAdminSetSettings.java
        │               │   │   ├── CmdAdminSetSize.java
        │               │   │   ├── CmdAdminSetSpawn.java
        │               │   │   ├── CmdAdminSetTeamLimit.java
        │               │   │   ├── CmdAdminSetWarpsLimit.java
        │               │   │   ├── CmdAdminSettings.java
        │               │   │   ├── CmdAdminShow.java
        │               │   │   ├── CmdAdminSpawn.java
        │               │   │   ├── CmdAdminSpy.java
        │               │   │   ├── CmdAdminStats.java
        │               │   │   ├── CmdAdminSyncBonus.java
        │               │   │   ├── CmdAdminTeleport.java
        │               │   │   ├── CmdAdminTitle.java
        │               │   │   ├── CmdAdminTitleAll.java
        │               │   │   ├── CmdAdminUnignore.java
        │               │   │   └── CmdAdminUnlockWorld.java
        │               │   ├── arguments/
        │               │   │   ├── Argument.java
        │               │   │   ├── CommandArguments.java
        │               │   │   ├── IslandArgument.java
        │               │   │   ├── IslandsListArgument.java
        │               │   │   └── NumberArgument.java
        │               │   └── player/
        │               │       ├── CmdAccept.java
        │               │       ├── CmdAdmin.java
        │               │       ├── CmdBan.java
        │               │       ├── CmdBans.java
        │               │       ├── CmdBiome.java
        │               │       ├── CmdBorder.java
        │               │       ├── CmdChest.java
        │               │       ├── CmdClose.java
        │               │       ├── CmdCoop.java
        │               │       ├── CmdCoops.java
        │               │       ├── CmdCounts.java
        │               │       ├── CmdCreate.java
        │               │       ├── CmdDelWarp.java
        │               │       ├── CmdDemote.java
        │               │       ├── CmdDisband.java
        │               │       ├── CmdExpel.java
        │               │       ├── CmdFly.java
        │               │       ├── CmdHelp.java
        │               │       ├── CmdInvite.java
        │               │       ├── CmdKick.java
        │               │       ├── CmdLang.java
        │               │       ├── CmdLeave.java
        │               │       ├── CmdMembers.java
        │               │       ├── CmdName.java
        │               │       ├── CmdOpen.java
        │               │       ├── CmdPanel.java
        │               │       ├── CmdPardon.java
        │               │       ├── CmdPermissions.java
        │               │       ├── CmdPromote.java
        │               │       ├── CmdRate.java
        │               │       ├── CmdRatings.java
        │               │       ├── CmdRecalc.java
        │               │       ├── CmdSetDiscord.java
        │               │       ├── CmdSetPaypal.java
        │               │       ├── CmdSetRole.java
        │               │       ├── CmdSetTeleport.java
        │               │       ├── CmdSetWarp.java
        │               │       ├── CmdSettings.java
        │               │       ├── CmdShow.java
        │               │       ├── CmdTeam.java
        │               │       ├── CmdTeamChat.java
        │               │       ├── CmdTeleport.java
        │               │       ├── CmdToggle.java
        │               │       ├── CmdTop.java
        │               │       ├── CmdTransfer.java
        │               │       ├── CmdUncoop.java
        │               │       ├── CmdValue.java
        │               │       ├── CmdValues.java
        │               │       ├── CmdVisit.java
        │               │       ├── CmdVisitors.java
        │               │       ├── CmdWarp.java
        │               │       ├── CmdWarps.java
        │               │       └── PlayerCommandsMap.java
        │               ├── config/
        │               │   ├── SettingsContainer.java
        │               │   ├── SettingsContainerHolder.java
        │               │   ├── SettingsManagerImpl.java
        │               │   └── section/
        │               │       ├── AFKIntegrationsSection.java
        │               │       ├── DatabaseSection.java
        │               │       ├── DefaultContainersSection.java
        │               │       ├── DefaultValuesSection.java
        │               │       ├── EntityCategoriesSection.java
        │               │       ├── GlobalSection.java
        │               │       ├── InteractablesSection.java
        │               │       ├── IslandChestsSection.java
        │               │       ├── IslandNamesSection.java
        │               │       ├── IslandPreviewsSection.java
        │               │       ├── IslandRolesSection.java
        │               │       ├── SpawnSection.java
        │               │       ├── StackedBlocksSection.java
        │               │       ├── VisitorsSignSection.java
        │               │       ├── VoidTeleportSection.java
        │               │       └── WorldsSection.java
        │               ├── core/
        │               │   ├── BaseCacheImpl.java
        │               │   ├── BigBitSet.java
        │               │   ├── ByteBigArray.java
        │               │   ├── CalculatedChunk.java
        │               │   ├── ChunkPosition.java
        │               │   ├── Counter.java
        │               │   ├── DirtyChunk.java
        │               │   ├── DynamicArray.java
        │               │   ├── Either.java
        │               │   ├── EnumHelper.java
        │               │   ├── GameSoundImpl.java
        │               │   ├── IslandArea.java
        │               │   ├── IslandPosition.java
        │               │   ├── IslandWorlds.java
        │               │   ├── IslandWorldsPlayersStrategy.java
        │               │   ├── JavaVersion.java
        │               │   ├── LazyReference.java
        │               │   ├── LazyWorldLocation.java
        │               │   ├── Manager.java
        │               │   ├── Materials.java
        │               │   ├── MutableChunkPosition.java
        │               │   ├── ObjectsPool.java
        │               │   ├── ObjectsPools.java
        │               │   ├── PlayerHand.java
        │               │   ├── PluginLoadingStage.java
        │               │   ├── PluginReloadReason.java
        │               │   ├── Precision.java
        │               │   ├── SBlockOffset.java
        │               │   ├── SBlockPosition.java
        │               │   ├── SWorldPosition.java
        │               │   ├── SequentialListBuilder.java
        │               │   ├── ServerVersion.java
        │               │   ├── Text.java
        │               │   ├── VarintArray.java
        │               │   ├── WorldInfoImpl.java
        │               │   ├── collections/
        │               │   │   ├── ArrayMap.java
        │               │   │   ├── AutoRemovalCollection.java
        │               │   │   ├── AutoRemovalMap.java
        │               │   │   ├── Chunk2ObjectMap.java
        │               │   │   ├── CollectionsFactory.java
        │               │   │   ├── CompletableFutureList.java
        │               │   │   ├── EnumerateMap.java
        │               │   │   ├── EnumerateSet.java
        │               │   │   ├── IslandPosition2ObjectMap.java
        │               │   │   ├── Location2ObjectMap.java
        │               │   │   ├── creator/
        │               │   │   │   ├── CollectionsCreator.java
        │               │   │   │   ├── FastUtilCollectionsCreator.java
        │               │   │   │   └── JavaCollectionsCreator.java
        │               │   │   └── view/
        │               │   │       ├── Char2ObjectMapView.java
        │               │   │       ├── CharIterator.java
        │               │   │       ├── EmptyInt2IntMapView.java
        │               │   │       ├── EmptyIntIterator.java
        │               │   │       ├── Int2IntMapView.java
        │               │   │       ├── Int2ObjectMapView.java
        │               │   │       ├── IntIterator.java
        │               │   │       ├── Long2ObjectMapView.java
        │               │   │       └── LongIterator.java
        │               │   ├── config/
        │               │   │   └── PvPWorldsCache.java
        │               │   ├── database/
        │               │   │   ├── DBColumn.java
        │               │   │   ├── DataManager.java
        │               │   │   ├── DatabaseResult.java
        │               │   │   ├── bridge/
        │               │   │   │   ├── EmptyDatabaseBridge.java
        │               │   │   │   ├── GridDatabaseBridge.java
        │               │   │   │   ├── IslandsDatabaseBridge.java
        │               │   │   │   ├── PlayersDatabaseBridge.java
        │               │   │   │   └── StackedBlocksDatabaseBridge.java
        │               │   │   ├── cache/
        │               │   │   │   └── DatabaseCache.java
        │               │   │   ├── loader/
        │               │   │   │   ├── DatabaseLoader.java
        │               │   │   │   ├── MachineStateDatabaseLoader.java
        │               │   │   │   ├── backup/
        │               │   │   │   │   └── BackupDatabase.java
        │               │   │   │   └── sql/
        │               │   │   │       ├── SQLDatabase.java
        │               │   │   │       ├── SQLDatabaseLoader.java
        │               │   │   │       └── upgrade/
        │               │   │   │           ├── v0/
        │               │   │   │           │   ├── DatabaseConverter.java
        │               │   │   │           │   ├── DatabaseUpgrade_V0.java
        │               │   │   │           │   ├── attributes/
        │               │   │   │           │   │   ├── AttributesRegistry.java
        │               │   │   │           │   │   ├── BankTransactionsAttributes.java
        │               │   │   │           │   │   ├── GridAttributes.java
        │               │   │   │           │   │   ├── IslandAttributes.java
        │               │   │   │           │   │   ├── IslandChestAttributes.java
        │               │   │   │           │   │   ├── IslandWarpAttributes.java
        │               │   │   │           │   │   ├── PlayerAttributes.java
        │               │   │   │           │   │   ├── StackedBlockAttributes.java
        │               │   │   │           │   │   └── WarpCategoryAttributes.java
        │               │   │   │           │   └── deserializer/
        │               │   │   │           │       ├── EmptyParameterGuardDeserializer.java
        │               │   │   │           │       ├── IDeserializer.java
        │               │   │   │           │       ├── JsonDeserializer.java
        │               │   │   │           │       ├── MultipleDeserializer.java
        │               │   │   │           │       └── RawDeserializer.java
        │               │   │   │           ├── v1/
        │               │   │   │           │   └── DatabaseUpgrade_V1.java
        │               │   │   │           ├── v2/
        │               │   │   │           │   └── DatabaseUpgrade_V2.java
        │               │   │   │           └── v3/
        │               │   │   │               └── DatabaseUpgrade_V3.java
        │               │   │   ├── serialization/
        │               │   │   │   ├── IslandsDeserializer.java
        │               │   │   │   ├── IslandsSerializer.java
        │               │   │   │   └── PlayersDeserializer.java
        │               │   │   └── sql/
        │               │   │       ├── DBSession.java
        │               │   │       ├── ResultSetMapBridge.java
        │               │   │       └── SQLDatabaseBridge.java
        │               │   ├── engine/
        │               │   │   ├── EnginesFactory.java
        │               │   │   ├── NashornEngine.java
        │               │   │   └── NashornEngineDownloader.java
        │               │   ├── errors/
        │               │   │   └── ManagerLoadException.java
        │               │   ├── events/
        │               │   │   ├── EventCallback.java
        │               │   │   ├── EventType.java
        │               │   │   ├── EventsDispatcher.java
        │               │   │   ├── IEvent.java
        │               │   │   ├── args/
        │               │   │   │   ├── IEventArgs.java
        │               │   │   │   └── PluginEventArgs.java
        │               │   │   └── plugin/
        │               │   │       ├── PluginEvent.java
        │               │   │       ├── PluginEventPriority.java
        │               │   │       ├── PluginEventType.java
        │               │   │       ├── PluginEventsDispatcher.java
        │               │   │       └── PluginEventsFactory.java
        │               │   ├── factory/
        │               │   │   ├── DefaultBanksFactory.java
        │               │   │   ├── DefaultDatabaseBridgeFactory.java
        │               │   │   ├── DefaultIslandsFactory.java
        │               │   │   ├── DefaultPlayersFactory.java
        │               │   │   └── FactoriesManagerImpl.java
        │               │   ├── formatting/
        │               │   │   ├── Formatters.java
        │               │   │   ├── IBiFormatter.java
        │               │   │   ├── IFormatter.java
        │               │   │   └── impl/
        │               │   │       ├── BlockPositionFormatter.java
        │               │   │       ├── BooleanFormatter.java
        │               │   │       ├── BorderColorFormatter.java
        │               │   │       ├── CapitalizedFormatter.java
        │               │   │       ├── ChatFormatter.java
        │               │   │       ├── ColorFormatter.java
        │               │   │       ├── CommaFormatter.java
        │               │   │       ├── DateFormatter.java
        │               │   │       ├── FancyNumberFormatter.java
        │               │   │       ├── LocaleFormatter.java
        │               │   │       ├── LocationFormatter.java
        │               │   │       ├── NumberFormatter.java
        │               │   │       ├── RatingFormatter.java
        │               │   │       ├── StripColorFormatter.java
        │               │   │       └── TimeFormatter.java
        │               │   ├── io/
        │               │   │   ├── ClassProcessor.java
        │               │   │   ├── FileClassLoader.java
        │               │   │   ├── Files.java
        │               │   │   ├── IOUtils.java
        │               │   │   ├── JarFiles.java
        │               │   │   ├── MenuParserImpl.java
        │               │   │   ├── Resources.java
        │               │   │   ├── ZipFiles.java
        │               │   │   └── loader/
        │               │   │       ├── DefaultFilesLookupProvider.java
        │               │   │       ├── FilesLookup.java
        │               │   │       ├── FilesLookupFactory.java
        │               │   │       └── FilesLookupProvider.java
        │               │   ├── itemstack/
        │               │   │   ├── ItemBuilder.java
        │               │   │   ├── ItemSkulls.java
        │               │   │   ├── MinecraftNamesMapper.java
        │               │   │   └── heads/
        │               │   │       └── MinecraftHeadsClient.java
        │               │   ├── key/
        │               │   │   ├── BaseKey.java
        │               │   │   ├── ConstantKeys.java
        │               │   │   ├── KeyIndicator.java
        │               │   │   ├── Keys.java
        │               │   │   ├── KeysManagerImpl.java
        │               │   │   ├── MaterialKeySource.java
        │               │   │   ├── map/
        │               │   │   │   ├── AbstractKeyMap.java
        │               │   │   │   ├── CustomKeyMap.java
        │               │   │   │   ├── EntityTypeKeyMap.java
        │               │   │   │   ├── KeyMapStrategy.java
        │               │   │   │   ├── KeyMaps.java
        │               │   │   │   ├── LazyLoadedKeyMap.java
        │               │   │   │   └── MaterialKeyMap.java
        │               │   │   ├── set/
        │               │   │   │   ├── AbstractKeySet.java
        │               │   │   │   ├── CustomKeySet.java
        │               │   │   │   ├── EntityTypeKeySet.java
        │               │   │   │   ├── KeySetStrategy.java
        │               │   │   │   ├── KeySets.java
        │               │   │   │   ├── LazyLoadedKeySet.java
        │               │   │   │   └── MaterialKeySet.java
        │               │   │   └── types/
        │               │   │       ├── CustomKey.java
        │               │   │       ├── EntityTypeKey.java
        │               │   │       ├── LazyKey.java
        │               │   │       ├── MaterialKey.java
        │               │   │       └── SpawnerKey.java
        │               │   ├── logging/
        │               │   │   ├── Debug.java
        │               │   │   ├── Log.java
        │               │   │   └── StackTrace.java
        │               │   ├── menu/
        │               │   │   ├── AbstractMenu.java
        │               │   │   ├── AbstractPagedMenu.java
        │               │   │   ├── MenuActions.java
        │               │   │   ├── MenuCommandsImpl.java
        │               │   │   ├── MenuConfig.java
        │               │   │   ├── MenuIdentifiers.java
        │               │   │   ├── MenuParseResult.java
        │               │   │   ├── MenuPatternSlots.java
        │               │   │   ├── Menus.java
        │               │   │   ├── MenusManagerImpl.java
        │               │   │   ├── TemplateItem.java
        │               │   │   ├── button/
        │               │   │   │   ├── AbstractMenuTemplateButton.java
        │               │   │   │   ├── AbstractMenuViewButton.java
        │               │   │   │   ├── AbstractPagedMenuButton.java
        │               │   │   │   ├── MenuTemplateButtonImpl.java
        │               │   │   │   ├── PagedMenuTemplateButtonImpl.java
        │               │   │   │   └── impl/
        │               │   │   │       ├── BackButton.java
        │               │   │   │       ├── BanButton.java
        │               │   │   │       ├── BankBalanceButton.java
        │               │   │   │       ├── BankCustomDepositButton.java
        │               │   │   │       ├── BankCustomWithdrawButton.java
        │               │   │   │       ├── BankDepositButton.java
        │               │   │   │       ├── BankLogsPagedObjectButton.java
        │               │   │   │       ├── BankLogsSortButton.java
        │               │   │   │       ├── BankWithdrawButton.java
        │               │   │   │       ├── BannedPlayersPagedObjectButton.java
        │               │   │   │       ├── BiomeButton.java
        │               │   │   │       ├── BorderColorButton.java
        │               │   │   │       ├── BorderColorToggleButton.java
        │               │   │   │       ├── ChangeSortingTypeButton.java
        │               │   │   │       ├── ConfigEditorPagedObjectButton.java
        │               │   │   │       ├── ConfigEditorSaveButton.java
        │               │   │   │       ├── ControlPanelButton.java
        │               │   │   │       ├── CoopsPagedObjectButton.java
        │               │   │   │       ├── CountsPagedObjectButton.java
        │               │   │   │       ├── CurrentPageButton.java
        │               │   │   │       ├── DisbandButton.java
        │               │   │   │       ├── DummyButton.java
        │               │   │   │       ├── GlobalWarpsPagedObjectButton.java
        │               │   │   │       ├── IconDisplayButton.java
        │               │   │   │       ├── IconEditLoreButton.java
        │               │   │   │       ├── IconEditTypeButton.java
        │               │   │   │       ├── IconRenameButton.java
        │               │   │   │       ├── IslandChestPagedObjectButton.java
        │               │   │   │       ├── IslandCreationButton.java
        │               │   │   │       ├── IslandFlagPagedObjectButton.java
        │               │   │   │       ├── IslandPrivilegePagedObjectButton.java
        │               │   │   │       ├── KickButton.java
        │               │   │   │       ├── LanguageButton.java
        │               │   │   │       ├── LeaveButton.java
        │               │   │   │       ├── MemberManageButton.java
        │               │   │   │       ├── MemberRoleButton.java
        │               │   │   │       ├── MembersPagedObjectButton.java
        │               │   │   │       ├── MissionsPagedObjectButton.java
        │               │   │   │       ├── NextPageButton.java
        │               │   │   │       ├── OpenBankLogsButton.java
        │               │   │   │       ├── OpenMissionCategoryButton.java
        │               │   │   │       ├── OpenUniqueVisitorsButton.java
        │               │   │   │       ├── PreviousPageButton.java
        │               │   │   │       ├── RateIslandButton.java
        │               │   │   │       ├── RatingsPagedObjectButton.java
        │               │   │   │       ├── TopIslandsPagedObjectButton.java
        │               │   │   │       ├── TopIslandsSelfIslandButton.java
        │               │   │   │       ├── TransferButton.java
        │               │   │   │       ├── UniqueVisitorPagedObjectButton.java
        │               │   │   │       ├── UpgradeButton.java
        │               │   │   │       ├── ValuesButton.java
        │               │   │   │       ├── VisitorPagedObjectButton.java
        │               │   │   │       ├── WarpCategoryIconEditConfirmButton.java
        │               │   │   │       ├── WarpCategoryManageIconButton.java
        │               │   │   │       ├── WarpCategoryManageRenameButton.java
        │               │   │   │       ├── WarpCategoryManageWarpsButton.java
        │               │   │   │       ├── WarpCategoryPagedObjectButton.java
        │               │   │   │       ├── WarpIconEditConfirmButton.java
        │               │   │   │       ├── WarpManageIconButton.java
        │               │   │   │       ├── WarpManageLocationButton.java
        │               │   │   │       ├── WarpManagePrivateButton.java
        │               │   │   │       ├── WarpManageRenameButton.java
        │               │   │   │       └── WarpPagedObjectButton.java
        │               │   │   ├── converter/
        │               │   │   │   └── MenuConverter.java
        │               │   │   ├── impl/
        │               │   │   │   ├── MenuBankLogs.java
        │               │   │   │   ├── MenuBiomes.java
        │               │   │   │   ├── MenuBorderColor.java
        │               │   │   │   ├── MenuConfirmBan.java
        │               │   │   │   ├── MenuConfirmDisband.java
        │               │   │   │   ├── MenuConfirmKick.java
        │               │   │   │   ├── MenuConfirmLeave.java
        │               │   │   │   ├── MenuConfirmTransfer.java
        │               │   │   │   ├── MenuControlPanel.java
        │               │   │   │   ├── MenuCoops.java
        │               │   │   │   ├── MenuCounts.java
        │               │   │   │   ├── MenuGlobalWarps.java
        │               │   │   │   ├── MenuIslandBank.java
        │               │   │   │   ├── MenuIslandBannedPlayers.java
        │               │   │   │   ├── MenuIslandChest.java
        │               │   │   │   ├── MenuIslandCreation.java
        │               │   │   │   ├── MenuIslandFlags.java
        │               │   │   │   ├── MenuIslandMembers.java
        │               │   │   │   ├── MenuIslandPrivileges.java
        │               │   │   │   ├── MenuIslandRate.java
        │               │   │   │   ├── MenuIslandRatings.java
        │               │   │   │   ├── MenuIslandUniqueVisitors.java
        │               │   │   │   ├── MenuIslandUpgrades.java
        │               │   │   │   ├── MenuIslandValues.java
        │               │   │   │   ├── MenuIslandVisitors.java
        │               │   │   │   ├── MenuMemberManage.java
        │               │   │   │   ├── MenuMemberRole.java
        │               │   │   │   ├── MenuMissions.java
        │               │   │   │   ├── MenuMissionsCategory.java
        │               │   │   │   ├── MenuPlayerLanguage.java
        │               │   │   │   ├── MenuTopIslands.java
        │               │   │   │   ├── MenuWarpCategories.java
        │               │   │   │   ├── MenuWarpCategoryIconEdit.java
        │               │   │   │   ├── MenuWarpCategoryManage.java
        │               │   │   │   ├── MenuWarpIconEdit.java
        │               │   │   │   ├── MenuWarpManage.java
        │               │   │   │   ├── MenuWarps.java
        │               │   │   │   └── internal/
        │               │   │   │       ├── MenuBlank.java
        │               │   │   │       ├── MenuConfigEditor.java
        │               │   │   │       ├── MenuCustom.java
        │               │   │   │       └── StackedBlocksDepositMenu.java
        │               │   │   ├── layout/
        │               │   │   │   ├── AbstractMenuLayout.java
        │               │   │   │   ├── PagedMenuLayoutImpl.java
        │               │   │   │   ├── RegularMenuLayoutImpl.java
        │               │   │   │   └── order/
        │               │   │   │       ├── CustomPagedLayoutOrder.java
        │               │   │   │       └── PagedLayoutOrder.java
        │               │   │   └── view/
        │               │   │       ├── AbstractIconProviderMenu.java
        │               │   │       ├── AbstractMenuView.java
        │               │   │       ├── AbstractPagedMenuView.java
        │               │   │       ├── BaseMenuView.java
        │               │   │       ├── IIslandMenuView.java
        │               │   │       ├── IPlayerMenuView.java
        │               │   │       ├── MenuViewWrapper.java
        │               │   │       ├── args/
        │               │   │       │   ├── EmptyViewArgs.java
        │               │   │       │   ├── IslandViewArgs.java
        │               │   │       │   └── PlayerViewArgs.java
        │               │   │       └── impl/
        │               │   │           ├── IslandMenuView.java
        │               │   │           └── PlayerMenuView.java
        │               │   ├── messages/
        │               │   │   ├── Message.java
        │               │   │   ├── MessageContent.java
        │               │   │   └── component/
        │               │   │       ├── EmptyMessageComponent.java
        │               │   │       ├── MultipleComponents.java
        │               │   │       └── impl/
        │               │   │           ├── ActionBarComponent.java
        │               │   │           ├── BossBarComponent.java
        │               │   │           ├── ComplexMessageComponent.java
        │               │   │           ├── RawMessageComponent.java
        │               │   │           ├── SoundComponent.java
        │               │   │           └── TitleComponent.java
        │               │   ├── mutable/
        │               │   │   ├── MutableBoolean.java
        │               │   │   ├── MutableInt.java
        │               │   │   ├── MutableLong.java
        │               │   │   └── MutableObject.java
        │               │   ├── persistence/
        │               │   │   ├── EmptyPersistentDataContainer.java
        │               │   │   ├── PersistenceDataTypeSerializer.java
        │               │   │   └── PersistentDataContainerImpl.java
        │               │   ├── profiler/
        │               │   │   ├── ProfileType.java
        │               │   │   ├── Profiler.java
        │               │   │   └── ProfilerSession.java
        │               │   ├── schematic/
        │               │   │   ├── SchematicBlock.java
        │               │   │   ├── SchematicBlockData.java
        │               │   │   ├── SchematicEntity.java
        │               │   │   └── SchematicEntityFilter.java
        │               │   ├── serialization/
        │               │   │   ├── ISerializer.java
        │               │   │   ├── Serializers.java
        │               │   │   └── impl/
        │               │   │       ├── BlockPositionSerializer.java
        │               │   │       ├── InventorySerializer.java
        │               │   │       ├── ItemStack2TagSerializer.java
        │               │   │       ├── ItemStackSerializer.java
        │               │   │       ├── LocationSerializer.java
        │               │   │       ├── OffsetSerializer.java
        │               │   │       ├── PersistentDataSerializer.java
        │               │   │       └── WorldPositionSerializer.java
        │               │   ├── stackedblocks/
        │               │   │   ├── StackedBlock.java
        │               │   │   ├── StackedBlocksManagerImpl.java
        │               │   │   └── container/
        │               │   │       ├── DefaultStackedBlocksContainer.java
        │               │   │       └── StackedBlocksContainer.java
        │               │   ├── stats/
        │               │   │   ├── IStatsCollector.java
        │               │   │   ├── StatsClient.java
        │               │   │   ├── StatsIslandsCounter.java
        │               │   │   ├── StatsPlayersCounter.java
        │               │   │   ├── StatsProfilers.java
        │               │   │   └── StatsSchematicsSizes.java
        │               │   ├── task/
        │               │   │   ├── CalcTask.java
        │               │   │   └── ShutdownTask.java
        │               │   ├── threads/
        │               │   │   ├── BukkitExecutor.java
        │               │   │   ├── Synchronized.java
        │               │   │   └── SynchronizedTasks.java
        │               │   ├── value/
        │               │   │   ├── DoubleValue.java
        │               │   │   ├── DoubleValueFixed.java
        │               │   │   ├── DoubleValueFixedSynced.java
        │               │   │   ├── DoubleValueSuppliedSynced.java
        │               │   │   ├── IntValue.java
        │               │   │   ├── IntValueFixed.java
        │               │   │   ├── IntValueFixedSynced.java
        │               │   │   ├── IntValueSuppliedSynced.java
        │               │   │   ├── Value.java
        │               │   │   ├── ValueFixed.java
        │               │   │   ├── ValueFixedSynced.java
        │               │   │   ├── ValueSuppliedSynced.java
        │               │   │   └── ValuesCache.java
        │               │   └── values/
        │               │       ├── BlockValue.java
        │               │       ├── BlockValuesManagerImpl.java
        │               │       └── container/
        │               │           └── BlockValuesContainer.java
        │               ├── external/
        │               │   ├── ProvidersManagerImpl.java
        │               │   ├── async/
        │               │   │   ├── AsyncProvider.java
        │               │   │   └── AsyncProvider_Default.java
        │               │   ├── blocks/
        │               │   │   └── ICustomBlocksProvider.java
        │               │   ├── chunks/
        │               │   │   └── ChunksProvider_Default.java
        │               │   ├── economy/
        │               │   │   └── EconomyProvider_Default.java
        │               │   ├── menus/
        │               │   │   └── MenusProvider_Default.java
        │               │   ├── permissions/
        │               │   │   └── PermissionsProvider_Default.java
        │               │   ├── placeholders/
        │               │   │   └── PlaceholdersProvider.java
        │               │   ├── prices/
        │               │   │   ├── PricesProvider_Default.java
        │               │   │   └── PricesProvider_ShopsBridgeWrapper.java
        │               │   ├── spawners/
        │               │   │   ├── SpawnersProviderItemMetaSpawnerType.java
        │               │   │   ├── SpawnersProvider_AutoDetect.java
        │               │   │   └── SpawnersProvider_Default.java
        │               │   ├── stackedblocks/
        │               │   │   ├── StackedBlocksProvider_AutoDetect.java
        │               │   │   └── StackedBlocksProvider_Default.java
        │               │   ├── text/
        │               │   │   └── ITextFormatter.java
        │               │   ├── vanish/
        │               │   │   └── VanishProvider_Default.java
        │               │   └── worlds/
        │               │       ├── DefaultWorldLoadListener.java
        │               │       └── WorldsProvider_Default.java
        │               ├── island/
        │               │   ├── GridManagerImpl.java
        │               │   ├── IslandNames.java
        │               │   ├── IslandUtils.java
        │               │   ├── SIsland.java
        │               │   ├── SIslandChest.java
        │               │   ├── SpawnIsland.java
        │               │   ├── algorithm/
        │               │   │   ├── DefaultIslandBlocksTrackerAlgorithm.java
        │               │   │   ├── DefaultIslandCalculationAlgorithm.java
        │               │   │   ├── DefaultIslandCreationAlgorithm.java
        │               │   │   ├── DefaultIslandEntitiesTrackerAlgorithm.java
        │               │   │   ├── SpawnIslandBlocksTrackerAlgorithm.java
        │               │   │   ├── SpawnIslandCalculationAlgorithm.java
        │               │   │   └── SpawnIslandEntitiesTrackerAlgorithm.java
        │               │   ├── bank/
        │               │   │   ├── SBankTransaction.java
        │               │   │   ├── SIslandBank.java
        │               │   │   └── logs/
        │               │   │       ├── CacheBankLogs.java
        │               │   │       ├── DatabaseBankLogs.java
        │               │   │       └── IBankLogs.java
        │               │   ├── builder/
        │               │   │   ├── IslandBuilderImpl.java
        │               │   │   ├── WarpCategoryRecord.java
        │               │   │   └── WarpRecord.java
        │               │   ├── cache/
        │               │   │   ├── IslandCacheImpl.java
        │               │   │   └── IslandCacheKeys.java
        │               │   ├── chunk/
        │               │   │   └── DirtyChunksContainer.java
        │               │   ├── container/
        │               │   │   ├── DefaultIslandsContainer.java
        │               │   │   └── grid/
        │               │   │       ├── IslandsGrid.java
        │               │   │       ├── MultiWorldIslandsGrid.java
        │               │   │       └── SingleWorldIslandsGrid.java
        │               │   ├── flag/
        │               │   │   └── IslandFlags.java
        │               │   ├── notifications/
        │               │   │   └── IslandNotifications.java
        │               │   ├── preview/
        │               │   │   ├── DefaultIslandPreviews.java
        │               │   │   ├── IslandPreviews.java
        │               │   │   └── SIslandPreview.java
        │               │   ├── privilege/
        │               │   │   ├── IslandPrivileges.java
        │               │   │   ├── PlayerPrivilegeNode.java
        │               │   │   ├── PrivilegeNodeAbstract.java
        │               │   │   └── RolePrivilegeNode.java
        │               │   ├── purge/
        │               │   │   ├── DefaultIslandsPurger.java
        │               │   │   └── IslandsPurger.java
        │               │   ├── role/
        │               │   │   ├── RolesManagerImpl.java
        │               │   │   ├── SPlayerRole.java
        │               │   │   └── container/
        │               │   │       ├── DefaultRolesContainer.java
        │               │   │       └── RolesContainer.java
        │               │   ├── signs/
        │               │   │   └── IslandSigns.java
        │               │   ├── top/
        │               │   │   ├── SortingComparators.java
        │               │   │   ├── SortingTypes.java
        │               │   │   └── metadata/
        │               │   │       ├── IslandSortMetadata.java
        │               │   │       ├── IslandSortPlayerMetadata.java
        │               │   │       ├── IslandSortRatingMetadata.java
        │               │   │       └── IslandSortValueMetadata.java
        │               │   ├── upgrade/
        │               │   │   ├── DefaultUpgrade.java
        │               │   │   ├── DefaultUpgradeLevel.java
        │               │   │   ├── IslandUpgradeConstants.java
        │               │   │   ├── SUpgrade.java
        │               │   │   ├── SUpgradeLevel.java
        │               │   │   ├── UpgradeRequirement.java
        │               │   │   ├── UpgradesManagerImpl.java
        │               │   │   ├── container/
        │               │   │   │   ├── DefaultUpgradesContainer.java
        │               │   │   │   ├── IslandUpgrades.java
        │               │   │   │   └── UpgradesContainer.java
        │               │   │   ├── cost/
        │               │   │   │   ├── EmptyUpgradeCost.java
        │               │   │   │   ├── PlaceholdersUpgradeCost.java
        │               │   │   │   ├── UpgradeCostAbstract.java
        │               │   │   │   └── VaultUpgradeCost.java
        │               │   │   └── loaders/
        │               │   │       ├── PlaceholdersUpgradeCostLoader.java
        │               │   │       └── VaultUpgradeCostLoader.java
        │               │   └── warp/
        │               │       ├── SIslandWarp.java
        │               │       ├── SWarpCategory.java
        │               │       ├── SignWarp.java
        │               │       └── WarpIcons.java
        │               ├── listener/
        │               │   ├── AbstractGameEventListener.java
        │               │   ├── AdminPlayersListener.java
        │               │   ├── BlockChangesListener.java
        │               │   ├── BukkitEventsListener.java
        │               │   ├── BukkitListeners.java
        │               │   ├── ChunksListener.java
        │               │   ├── EntityTrackingListener.java
        │               │   ├── FeaturesListener.java
        │               │   ├── IslandFlagsListener.java
        │               │   ├── IslandOutsideListener.java
        │               │   ├── IslandPreviewListener.java
        │               │   ├── IslandWorldEventsListener.java
        │               │   ├── MenusListener.java
        │               │   ├── PlayersListener.java
        │               │   ├── PortalsListener.java
        │               │   ├── ProtectionListener.java
        │               │   ├── SignsListener.java
        │               │   ├── StackedBlocksListener.java
        │               │   └── WorldDestructionListener.java
        │               ├── mission/
        │               │   ├── MissionData.java
        │               │   ├── MissionReference.java
        │               │   ├── MissionsManagerImpl.java
        │               │   ├── SMissionCategory.java
        │               │   └── container/
        │               │       ├── DefaultMissionsContainer.java
        │               │       └── MissionsContainer.java
        │               ├── module/
        │               │   ├── BuiltinModule.java
        │               │   ├── BuiltinModules.java
        │               │   ├── IModuleConfiguration.java
        │               │   ├── ModuleData.java
        │               │   ├── ModulesManagerImpl.java
        │               │   ├── bank/
        │               │   │   ├── BankModule.java
        │               │   │   └── commands/
        │               │   │       ├── CmdAdminAddBankLimit.java
        │               │   │       ├── CmdAdminDeposit.java
        │               │   │       ├── CmdAdminSetBankLimit.java
        │               │   │       ├── CmdAdminWithdraw.java
        │               │   │       ├── CmdBalance.java
        │               │   │       ├── CmdBank.java
        │               │   │       ├── CmdDeposit.java
        │               │   │       └── CmdWithdraw.java
        │               │   ├── container/
        │               │   │   ├── DefaultModulesContainer.java
        │               │   │   └── ModulesContainer.java
        │               │   ├── generators/
        │               │   │   ├── GeneratorsModule.java
        │               │   │   ├── commands/
        │               │   │   │   ├── CmdAdminAddGenerator.java
        │               │   │   │   ├── CmdAdminClearGenerator.java
        │               │   │   │   └── CmdAdminSetGenerator.java
        │               │   │   └── listeners/
        │               │   │       └── GeneratorsListener.java
        │               │   ├── logging/
        │               │   │   └── ModuleLoggerFileHandler.java
        │               │   ├── missions/
        │               │   │   ├── MissionsModule.java
        │               │   │   └── commands/
        │               │   │       ├── CmdAdminMission.java
        │               │   │       ├── CmdMission.java
        │               │   │       └── CmdMissions.java
        │               │   └── upgrades/
        │               │       ├── UpgradesModule.java
        │               │       ├── commands/
        │               │       │   ├── CmdAdminAddBlockLimit.java
        │               │       │   ├── CmdAdminAddCropGrowth.java
        │               │       │   ├── CmdAdminAddEffect.java
        │               │       │   ├── CmdAdminAddEntityLimit.java
        │               │       │   ├── CmdAdminAddMobDrops.java
        │               │       │   ├── CmdAdminAddSpawnerRates.java
        │               │       │   ├── CmdAdminRankup.java
        │               │       │   ├── CmdAdminRemoveBlockLimit.java
        │               │       │   ├── CmdAdminRemoveEntityLimit.java
        │               │       │   ├── CmdAdminSetBlockLimit.java
        │               │       │   ├── CmdAdminSetCropGrowth.java
        │               │       │   ├── CmdAdminSetEffect.java
        │               │       │   ├── CmdAdminSetEntityLimit.java
        │               │       │   ├── CmdAdminSetMobDrops.java
        │               │       │   ├── CmdAdminSetSpawnerRates.java
        │               │       │   ├── CmdAdminSetUpgrade.java
        │               │       │   ├── CmdAdminSyncUpgrades.java
        │               │       │   ├── CmdRankup.java
        │               │       │   └── CmdUpgrade.java
        │               │       └── type/
        │               │           ├── IUpgradeType.java
        │               │           ├── UpgradeTypeBlockLimits.java
        │               │           ├── UpgradeTypeCropGrowth.java
        │               │           ├── UpgradeTypeEntityLimits.java
        │               │           ├── UpgradeTypeIslandEffects.java
        │               │           ├── UpgradeTypeMobDrops.java
        │               │           └── UpgradeTypeSpawnerRates.java
        │               ├── nms/
        │               │   ├── ICachedBlock.java
        │               │   ├── NMSAlgorithms.java
        │               │   ├── NMSChunks.java
        │               │   ├── NMSDragonFight.java
        │               │   ├── NMSDragonFightChooser.java
        │               │   ├── NMSDragonFightImpl.java
        │               │   ├── NMSEntities.java
        │               │   ├── NMSHolograms.java
        │               │   ├── NMSPlayers.java
        │               │   ├── NMSTags.java
        │               │   ├── NMSWorld.java
        │               │   ├── bridge/
        │               │   │   └── PistonPushReaction.java
        │               │   ├── player/
        │               │   │   └── OfflinePlayerData.java
        │               │   └── world/
        │               │       ├── ChunkReader.java
        │               │       └── WorldEditSession.java
        │               ├── platform/
        │               │   ├── IPlatform.java
        │               │   └── event/
        │               │       ├── GameEvent.java
        │               │       ├── GameEventCallback.java
        │               │       ├── GameEventFlags.java
        │               │       ├── GameEventPriority.java
        │               │       ├── GameEventType.java
        │               │       ├── GameEventsDispatcher.java
        │               │       └── args/
        │               │           ├── GameEventArgs.java
        │               │           └── IEventArgs.java
        │               ├── player/
        │               │   ├── PlayerLocales.java
        │               │   ├── PlayersManagerImpl.java
        │               │   ├── SSuperiorPlayer.java
        │               │   ├── SuperiorNPCPlayer.java
        │               │   ├── algorithm/
        │               │   │   └── DefaultPlayerTeleportAlgorithm.java
        │               │   ├── builder/
        │               │   │   └── SuperiorPlayerBuilderImpl.java
        │               │   ├── cache/
        │               │   │   └── PlayerCacheImpl.java
        │               │   ├── chat/
        │               │   │   └── PlayerChat.java
        │               │   ├── container/
        │               │   │   └── DefaultPlayersContainer.java
        │               │   ├── inventory/
        │               │   │   └── ClearActions.java
        │               │   ├── permissions/
        │               │   │   └── PlayerPermissionsStore.java
        │               │   └── respawn/
        │               │       └── RespawnActions.java
        │               ├── service/
        │               │   ├── IService.java
        │               │   ├── ServicesHandler.java
        │               │   ├── bossbar/
        │               │   │   ├── BossBarTask.java
        │               │   │   ├── BossBarsServiceImpl.java
        │               │   │   └── EmptyBossBar.java
        │               │   ├── dragon/
        │               │   │   └── DragonBattleServiceImpl.java
        │               │   ├── hologram/
        │               │   │   └── HologramsServiceImpl.java
        │               │   ├── message/
        │               │   │   └── MessagesServiceImpl.java
        │               │   ├── placeholders/
        │               │   │   └── PlaceholdersServiceImpl.java
        │               │   ├── portals/
        │               │   │   └── PortalsManagerServiceImpl.java
        │               │   ├── region/
        │               │   │   ├── ProtectionHelper.java
        │               │   │   └── RegionManagerServiceImpl.java
        │               │   ├── stackedblocks/
        │               │   │   ├── StackedBlocksInteractionServiceImpl.java
        │               │   │   └── StackedBlocksServiceHelper.java
        │               │   └── world/
        │               │       └── WorldRecordServiceImpl.java
        │               ├── tag/
        │               │   ├── BigDecimalTag.java
        │               │   ├── ByteArrayTag.java
        │               │   ├── ByteTag.java
        │               │   ├── CompoundTag.java
        │               │   ├── DoubleTag.java
        │               │   ├── EndTag.java
        │               │   ├── FloatTag.java
        │               │   ├── IntArrayTag.java
        │               │   ├── IntTag.java
        │               │   ├── ListTag.java
        │               │   ├── LongTag.java
        │               │   ├── NBTTags.java
        │               │   ├── NBTUtils.java
        │               │   ├── NMSTagConverter.java
        │               │   ├── NumberTag.java
        │               │   ├── PersistentDataTag.java
        │               │   ├── PersistentDataTagSerialized.java
        │               │   ├── ShortTag.java
        │               │   ├── StringTag.java
        │               │   ├── Tag.java
        │               │   └── UUIDTag.java
        │               └── world/
        │                   ├── BukkitEntities.java
        │                   ├── BukkitItems.java
        │                   ├── Dimensions.java
        │                   ├── EntityTeleports.java
        │                   ├── GeneratorType.java
        │                   ├── SignType.java
        │                   ├── WorldBlocks.java
        │                   ├── WorldGenerator.java
        │                   ├── WorldReader.java
        │                   ├── chunk/
        │                   │   ├── ChunkLoadReason.java
        │                   │   └── ChunksProvider.java
        │                   ├── entity/
        │                   │   ├── BuiltinEntityCategory.java
        │                   │   └── EntityCategoryImpl.java
        │                   ├── generator/
        │                   │   └── IslandsGenerator.java
        │                   └── schematic/
        │                       ├── BaseSchematic.java
        │                       ├── SchematicBuilder.java
        │                       ├── SchematicsManagerImpl.java
        │                       ├── container/
        │                       │   ├── DefaultSchematicsContainer.java
        │                       │   └── SchematicsContainer.java
        │                       ├── impl/
        │                       │   ├── CachedSuperiorSchematic.java
        │                       │   ├── SuperiorSchematic.java
        │                       │   └── SuperiorSchematicDeserializer.java
        │                       ├── options/
        │                       │   ├── SchematicOptionsBuilderImpl.java
        │                       │   └── SchematicOptionsImpl.java
        │                       └── parser/
        │                           └── DefaultSchematicParser.java
        └── resources/
            ├── block-values/
            │   ├── levels.yml
            │   └── worth.yml
            ├── config.yml
            ├── entity-categories.yml
            ├── heads.yml
            ├── interactables.yml
            ├── lang/
            │   ├── de-DE.yml
            │   ├── en-US.yml
            │   ├── es-ES.yml
            │   ├── fr-FR.yml
            │   ├── it-IT.yml
            │   ├── iw-IL.yml
            │   ├── pl-PL.yml
            │   ├── pt-BR.yml
            │   ├── ru-RU.yml
            │   ├── tr-TR.yml
            │   ├── vi-VN.yml
            │   └── zh-CN.yml
            ├── menus/
            │   ├── bank-logs.yml
            │   ├── bank-logs1_12.yml
            │   ├── bank-logs1_13.yml
            │   ├── banned-players.yml
            │   ├── banned-players1_12.yml
            │   ├── banned-players1_13.yml
            │   ├── biomes.yml
            │   ├── biomes1_12.yml
            │   ├── biomes1_13.yml
            │   ├── border-color.yml
            │   ├── border-color1_12.yml
            │   ├── border-color1_13.yml
            │   ├── confirm-ban.yml
            │   ├── confirm-ban1_12.yml
            │   ├── confirm-ban1_13.yml
            │   ├── confirm-disband.yml
            │   ├── confirm-disband1_12.yml
            │   ├── confirm-disband1_13.yml
            │   ├── confirm-kick.yml
            │   ├── confirm-kick1_12.yml
            │   ├── confirm-kick1_13.yml
            │   ├── confirm-leave.yml
            │   ├── confirm-leave1_12.yml
            │   ├── confirm-leave1_13.yml
            │   ├── confirm-transfer.yml
            │   ├── confirm-transfer1_12.yml
            │   ├── confirm-transfer1_13.yml
            │   ├── control-panel.yml
            │   ├── control-panel1_12.yml
            │   ├── control-panel1_13.yml
            │   ├── coops.yml
            │   ├── coops1_12.yml
            │   ├── coops1_13.yml
            │   ├── counts.yml
            │   ├── counts1_12.yml
            │   ├── counts1_13.yml
            │   ├── counts1_20.yml
            │   ├── global-warps.yml
            │   ├── global-warps1_12.yml
            │   ├── global-warps1_13.yml
            │   ├── island-bank.yml
            │   ├── island-bank1_12.yml
            │   ├── island-bank1_13.yml
            │   ├── island-chest.yml
            │   ├── island-chest1_12.yml
            │   ├── island-chest1_13.yml
            │   ├── island-creation.yml
            │   ├── island-creation1_12.yml
            │   ├── island-creation1_13.yml
            │   ├── island-rate.yml
            │   ├── island-rate1_12.yml
            │   ├── island-rate1_13.yml
            │   ├── island-ratings.yml
            │   ├── island-ratings1_13.yml
            │   ├── member-manage.yml
            │   ├── member-manage1_12.yml
            │   ├── member-manage1_13.yml
            │   ├── member-role.yml
            │   ├── member-role1_12.yml
            │   ├── member-role1_13.yml
            │   ├── members.yml
            │   ├── members1_12.yml
            │   ├── members1_13.yml
            │   ├── missions-category.yml
            │   ├── missions-category1_12.yml
            │   ├── missions-category1_13.yml
            │   ├── missions.yml
            │   ├── missions1_12.yml
            │   ├── missions1_13.yml
            │   ├── permissions.yml
            │   ├── permissions1_12.yml
            │   ├── permissions1_16.yml
            │   ├── permissions1_17.yml
            │   ├── permissions1_19.yml
            │   ├── permissions1_20.yml
            │   ├── permissions1_21.yml
            │   ├── player-language.yml
            │   ├── player-language1_12.yml
            │   ├── player-language1_13.yml
            │   ├── settings.yml
            │   ├── settings1_12.yml
            │   ├── settings1_13.yml
            │   ├── settings1_20.yml
            │   ├── top-islands.yml
            │   ├── top-islands1_12.yml
            │   ├── top-islands1_13.yml
            │   ├── unique-visitors.yml
            │   ├── unique-visitors1_12.yml
            │   ├── unique-visitors1_13.yml
            │   ├── upgrades.yml
            │   ├── upgrades1_12.yml
            │   ├── upgrades1_13.yml
            │   ├── upgrades1_20.yml
            │   ├── values.yml
            │   ├── values1_13.yml
            │   ├── values1_20.yml
            │   ├── visitors.yml
            │   ├── visitors1_12.yml
            │   ├── visitors1_13.yml
            │   ├── warp-categories.yml
            │   ├── warp-categories1_13.yml
            │   ├── warp-category-icon-edit.yml
            │   ├── warp-category-icon-edit1_12.yml
            │   ├── warp-category-manage.yml
            │   ├── warp-category-manage1_12.yml
            │   ├── warp-icon-edit.yml
            │   ├── warp-icon-edit1_12.yml
            │   ├── warp-manage.yml
            │   ├── warp-manage1_12.yml
            │   ├── warps.yml
            │   ├── warps1_12.yml
            │   └── warps1_13.yml
            ├── modules/
            │   ├── bank/
            │   │   └── config.yml
            │   ├── generators/
            │   │   └── config.yml
            │   ├── missions/
            │   │   ├── categories/
            │   │   │   ├── explorer/
            │   │   │   │   ├── explorer_1.yml
            │   │   │   │   └── explorer_2.yml
            │   │   │   ├── farmer/
            │   │   │   │   ├── farmer_1.yml
            │   │   │   │   ├── farmer_11_12.yml
            │   │   │   │   ├── farmer_2.yml
            │   │   │   │   ├── farmer_21_12.yml
            │   │   │   │   ├── farmer_3.yml
            │   │   │   │   ├── farmer_31_12.yml
            │   │   │   │   ├── farmer_4.yml
            │   │   │   │   ├── farmer_41_12.yml
            │   │   │   │   ├── farmer_5.yml
            │   │   │   │   └── farmer_51_12.yml
            │   │   │   ├── fisherman/
            │   │   │   │   ├── fisherman_1.yml
            │   │   │   │   ├── fisherman_11_13.yml
            │   │   │   │   ├── fisherman_2.yml
            │   │   │   │   ├── fisherman_21_13.yml
            │   │   │   │   ├── fisherman_3.yml
            │   │   │   │   └── fisherman_31_13.yml
            │   │   │   ├── miner/
            │   │   │   │   ├── miner_1.yml
            │   │   │   │   ├── miner_2.yml
            │   │   │   │   ├── miner_3.yml
            │   │   │   │   ├── miner_4.yml
            │   │   │   │   └── miner_5.yml
            │   │   │   └── slayer/
            │   │   │       ├── slayer_1.yml
            │   │   │       ├── slayer_2.yml
            │   │   │       ├── slayer_3.yml
            │   │   │       └── slayer_4.yml
            │   │   └── config.yml
            │   └── upgrades/
            │       └── config.yml
            ├── plugin.yml
            ├── safe_blocks.yml
            └── schematics/
                ├── desert.schematic
                ├── desert1_16.schematic
                ├── mycel.schematic
                ├── mycel1_16.schematic
                ├── normal.schematic
                ├── normal1_16.schematic
                ├── normal_nether.schematic
                ├── normal_nether1_16.schematic
                ├── normal_the_end.schematic
                ├── normal_the_end1_12.schematic
                └── normal_the_end1_16.schematic

================================================
FILE CONTENTS
================================================

================================================
FILE: .claudeignore
================================================
gradle/
.git/
.github/
*.jar
*.class


================================================
FILE: .gitattributes
================================================
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# These are explicitly windows files and should use crlf
*.bat           text eol=crlf



================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

custom: https://bg-software.com/patreon


================================================
FILE: .github/ISSUE_TEMPLATE/bug-report.yaml
================================================
name: Bug Report
description: Report a Bug or an Issue in the plugin.
labels: [ 'Bug Report', 'Pending' ]
assignees: OmerBenGera

body:
  - type: markdown
    attributes:
      value: |
        ## SuperiorSkyblock2 Issues Tracker
        You may be able to find the answer on our [Wiki](https://wiki.bg-software.com/#/superiorskyblock/), or get a quick answer to basic questions on our [Discord](https://bg-software.com/discord/).
        Be sure to check for existing [Issues](https://github.com/BG-Software-LLC/SuperiorSkyblock2/issues).
        <br />

  - id: minecraft
    type: textarea
    validations:
      required: true
    attributes:
      label: 'Minecraft''s Version'
      description: |
        The minecraft version your server run on. Use /version to find which version you use.
        Make sure you give the exact output of the command.
      placeholder: |
        [Insert minecraft version and server jar.]

  - id: plugin
    type: textarea
    validations:
      required: true
    attributes:
      label: 'Plugin''s Version'
      description: |
        The version of the plugin. Use /version SuperiorSkyblock2 and find which version you use.
        Make sure you give the exact output of the command.
      placeholder: |
        [Insert plugin version and if it is a dev build.]

  - id: description
    type: textarea
    validations:
      required: true
    attributes:
      label: 'Describe the bug'
      description: |
        A clear and concise description of what the bug is.
      placeholder: |
        [Insert what exactly the problem is.]

  - id: reproduction
    type: textarea
    validations:
      required: true
    attributes:
      label: 'To Reproduce'
      description: |
        Steps to reproduce the bug.
      placeholder: |
        [Insert what exactly happened and the steps to reproduce the issue.]

  - id: extra
    type: textarea
    attributes:
      label: 'Additional Information'
      description: |
        Additional information that can help understanding the issue.
        Config file, clips, etc are more than welcome.
      placeholder: |
        Drag and drop an image or video onto this field to upload it. Otherwise please use pastebin for configs.

  - type: markdown
    attributes:
      value: |
        ## Thank you for helping improve SuperiorSkyblock2!
        Please remember to check back for any questions being asked and reply back as soon as you can!


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
  - name: Feature Requests
    url: https://github.com/OmerBenGera/SuperiorSkyblock2/discussions
    about: Create feature requests, any posted in issue tracker will be removed.


================================================
FILE: .github/workflows/gemini.yml
================================================
name: Gemini Issue Fixer
on:
  issues:
    types: [opened, edited]
  issue_comment:
    types: [created]

jobs:
  gemini-fix:
    if: contains(github.event.issue.labels.*.name, 'bug') || contains(github.event.comment.body, '@gemini')
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
    steps:
      - uses: actions/checkout@v4
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.10'
      - name: Install Aider (The Agent Engine)
        run: |
          python -m pip install --upgrade pip
          pip install aider-chat
      - name: Run Gemini Fix
        env:
          GEMINI_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config --global user.name "Gemini AI"
          git config --global user.email "gemini-ai@github.com"
          
          BRANCH_NAME="bugfix/issue-${{ github.event.issue.number }}"
          git checkout -b "$BRANCH_NAME"
          
          aider --model gemini/gemini-3-flash-preview \
            --yes \
            --commit \
            --message "Analyze the following issue and provide a fix in a new branch with a PR. Make changes to the source code and commit the changes to the branch $$BRANCH_NAME. Title: ${{ github.event.issue.title }} Description: ${{ github.event.issue.body }}"
          
          git push origin "$BRANCH_NAME"
          
          gh pr create \
            --title "Fix: ${{ github.event.issue.title }}" \
            --body "Automated fix for #${{ github.event.issue.number }} generated by Gemini." \
            --base dev \
            --head "$BRANCH_NAME"

================================================
FILE: .gitignore
================================================
# Ignore Gradle project-specific cache directory
.gradle
gradle.properties

# Ignore Gradle build output directory
build

# Ignore intellij files
.idea
*.iml

# Ignore output generated files
target
out

================================================
FILE: API/build.gradle
================================================
plugins {
    id 'maven-publish'
}

java {
    withSourcesJar()
}

group 'API'

dependencies {
    compileOnly "org.spigotmc:v1_8_R1:latest"
}


publishing {
    publications {
        maven(MavenPublication) {
            groupId = 'com.bgsoftware'
            artifactId = 'SuperiorSkyblockAPI'
            version = parent.version

            from components.java
        }
    }

    repositories {
        String mavenUsername = System.getenv('mavenUsername');
        String mavenPassword = System.getenv('mavenPassword');

        if (mavenUsername != null && mavenPassword != null) {
            maven {
                url 'https://repo.bg-software.com/repository/api/'
                credentials {
                    username mavenUsername
                    password mavenPassword
                }
            }
        }
    }

}

task generateAPIDocs(type: Javadoc) {
    source = sourceSets.main.allJava
}

================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/SuperiorSkyblock.java
================================================
package com.bgsoftware.superiorskyblock.api;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.config.SettingsManager;
import com.bgsoftware.superiorskyblock.api.handlers.BlockValuesManager;
import com.bgsoftware.superiorskyblock.api.handlers.CommandsManager;
import com.bgsoftware.superiorskyblock.api.handlers.FactoriesManager;
import com.bgsoftware.superiorskyblock.api.handlers.GridManager;
import com.bgsoftware.superiorskyblock.api.handlers.KeysManager;
import com.bgsoftware.superiorskyblock.api.handlers.MenusManager;
import com.bgsoftware.superiorskyblock.api.handlers.MissionsManager;
import com.bgsoftware.superiorskyblock.api.handlers.ModulesManager;
import com.bgsoftware.superiorskyblock.api.handlers.PlayersManager;
import com.bgsoftware.superiorskyblock.api.handlers.ProvidersManager;
import com.bgsoftware.superiorskyblock.api.handlers.RolesManager;
import com.bgsoftware.superiorskyblock.api.handlers.SchematicManager;
import com.bgsoftware.superiorskyblock.api.handlers.StackedBlocksManager;
import com.bgsoftware.superiorskyblock.api.handlers.UpgradesManager;
import com.bgsoftware.superiorskyblock.api.platform.IEventsDispatcher;
import com.bgsoftware.superiorskyblock.api.scripts.IScriptEngine;
import org.bukkit.plugin.Plugin;

public interface SuperiorSkyblock extends Plugin {

    /**
     * Get the grid of the core.
     */
    GridManager getGrid();

    /**
     * Get the stacked-blocks manager of the core.
     */
    StackedBlocksManager getStackedBlocks();

    /**
     * Get the blocks manager of the core.
     */
    BlockValuesManager getBlockValues();

    /**
     * Get the schematics manager of the core.
     */
    SchematicManager getSchematics();

    /**
     * Get the players manager of the core.
     */
    PlayersManager getPlayers();

    /**
     * Get the roles manager of the core.
     */
    RolesManager getRoles();

    /**
     * Get the missions manager of the core.
     */
    MissionsManager getMissions();

    /**
     * Get the menus manager of the core.
     */
    MenusManager getMenus();

    /**
     * Get the keys manager of the core.
     */
    KeysManager getKeys();

    /**
     * Get the providers manager of the core.
     */
    ProvidersManager getProviders();

    /**
     * Get the upgrades manager of the core.
     */
    UpgradesManager getUpgrades();

    /**
     * Get the commands manager of the core.
     */
    CommandsManager getCommands();

    /**
     * Get the settings of the plugin.
     */
    SettingsManager getSettings();

    /**
     * Get the objects factory of the plugin.
     */
    FactoriesManager getFactory();

    /**
     * Get the modules manager of the plugin.
     */
    ModulesManager getModules();

    /**
     * Get the script engine of the plugin.
     */
    IScriptEngine getScriptEngine();

    /**
     * Set the script engine of the plugin.
     *
     * @param scriptEngine The script engine to set.
     *                     When null, the default java script engine will be set instead.
     */
    void setScriptEngine(@Nullable IScriptEngine scriptEngine);

    /**
     * Get the events dispatcher of the plugin.
     *
     * @return The events dispatcher, or null if the default events dispatcher is used.
     */
    @Nullable
    IEventsDispatcher getEventsDispatcher();

    /**
     * Sets a custom events dispatcher for the plugin.
     *
     * @param eventsDispatcher The new events dispatcher to set.
     *                         When null, the default events dispatcher will be used instead.
     */
    void setEventsDispatcher(@Nullable IEventsDispatcher eventsDispatcher);

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/SuperiorSkyblockAPI.java
================================================
package com.bgsoftware.superiorskyblock.api;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.commands.SuperiorCommand;
import com.bgsoftware.superiorskyblock.api.config.SettingsManager;
import com.bgsoftware.superiorskyblock.api.handlers.BlockValuesManager;
import com.bgsoftware.superiorskyblock.api.handlers.CommandsManager;
import com.bgsoftware.superiorskyblock.api.handlers.FactoriesManager;
import com.bgsoftware.superiorskyblock.api.handlers.GridManager;
import com.bgsoftware.superiorskyblock.api.handlers.KeysManager;
import com.bgsoftware.superiorskyblock.api.handlers.MenusManager;
import com.bgsoftware.superiorskyblock.api.handlers.MissionsManager;
import com.bgsoftware.superiorskyblock.api.handlers.ModulesManager;
import com.bgsoftware.superiorskyblock.api.handlers.PlayersManager;
import com.bgsoftware.superiorskyblock.api.handlers.ProvidersManager;
import com.bgsoftware.superiorskyblock.api.handlers.RolesManager;
import com.bgsoftware.superiorskyblock.api.handlers.SchematicManager;
import com.bgsoftware.superiorskyblock.api.handlers.StackedBlocksManager;
import com.bgsoftware.superiorskyblock.api.handlers.UpgradesManager;
import com.bgsoftware.superiorskyblock.api.hooks.SpawnersProvider;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.schematic.Schematic;
import com.bgsoftware.superiorskyblock.api.world.Dimension;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.entity.Player;

import java.math.BigDecimal;
import java.util.UUID;

public class SuperiorSkyblockAPI {

    private static SuperiorSkyblock plugin;

    /**
     * Private constructor to prevent people from creating an instance of this class.
     */
    private SuperiorSkyblockAPI() {

    }

    /*
     * General Methods
     */

    /**
     * Get the plugin instance.
     */
    public static SuperiorSkyblock getSuperiorSkyblock() {
        return plugin;
    }

    /**
     * Set the plugin's instance for the API.
     * Do not use this method on your own, as it may cause an undefined behavior when using the API.
     *
     * @param plugin The instance of the plugin to set to the API.
     */
    public static void setPluginInstance(SuperiorSkyblock plugin) {
        if (SuperiorSkyblockAPI.plugin != null) {
            throw new UnsupportedOperationException("You cannot initialize the plugin instance after it was initialized.");
        }

        SuperiorSkyblockAPI.plugin = plugin;
    }

    /**
     * Get the version of the API.
     * Everytime a change is made to the API, the version of it changes.
     */
    public static int getAPIVersion() {
        return 16;
    }

    /*
     *  Player Methods
     */

    /**
     * Get the superior player object from a player instance.
     */
    public static SuperiorPlayer getPlayer(Player player) {
        return plugin.getPlayers().getSuperiorPlayer(player.getUniqueId());
    }

    /**
     * Get the superior player object by a player's name.
     */
    @Nullable
    public static SuperiorPlayer getPlayer(String name) {
        return plugin.getPlayers().getSuperiorPlayer(name);
    }

    /**
     * Get the superior player object from a player's uuid.
     *
     * @param uuid player uuid
     * @return The superior player object. null if doesn't exist.
     */
    public static SuperiorPlayer getPlayer(UUID uuid) {
        return plugin.getPlayers().getSuperiorPlayer(uuid);
    }

    /*
     *  Island Methods
     */

    /**
     * Create a new island.
     *
     * @param superiorPlayer owner of the island
     * @param schemName      the schematic of the island to be pasted
     * @param bonus          The default island bonus level
     * @param biome          The default island biome
     * @param islandName     The island name
     */
    public static void createIsland(SuperiorPlayer superiorPlayer, String schemName, BigDecimal bonus, Biome biome, String islandName) {
        plugin.getGrid().createIsland(superiorPlayer, schemName, bonus, biome, islandName);
    }

    /**
     * Create a new island.
     *
     * @param superiorPlayer The new owner for the island.
     * @param schemName      The schematic that should be used.
     * @param bonus          A starting worth for the island.
     * @param biome          A starting biome for the island.
     * @param islandName     The name of the new island.
     * @param offset         Should the island have an offset for it's values? If disabled, the bonus will be given.
     */
    public static void createIsland(SuperiorPlayer superiorPlayer, String schemName, BigDecimal bonus, Biome biome, String islandName, boolean offset) {
        plugin.getGrid().createIsland(superiorPlayer, schemName, bonus, biome, islandName, offset);
    }

    /**
     * Create a new island.
     *
     * @param superiorPlayer The new owner for the island.
     * @param schemName      The schematic that should be used.
     * @param bonusWorth     A starting worth for the island.
     * @param bonusLevel     A starting level for the island.
     * @param biome          A starting biome for the island.
     * @param islandName     The name of the new island.
     * @param offset         Should the island have an offset for it's values? If disabled, the bonus will be given.
     */
    public static void createIsland(SuperiorPlayer superiorPlayer, String schemName, BigDecimal bonusWorth, BigDecimal bonusLevel, Biome biome, String islandName, boolean offset) {
        plugin.getGrid().createIsland(superiorPlayer, schemName, bonusWorth, bonusLevel, biome, islandName, offset);
    }

    /**
     * Delete an island
     */
    public static void deleteIsland(Island island) {
        plugin.getGrid().deleteIsland(island);
    }

    /**
     * Get an island by it's name.
     */
    @Nullable
    public static Island getIsland(String islandName) {
        return plugin.getGrid().getIsland(islandName);
    }

    /**
     * Get an island by it's uuid.
     */
    @Nullable
    public static Island getIslandByUUID(UUID uuid) {
        return plugin.getGrid().getIslandByUUID(uuid);
    }

    /**
     * Get the spawn island.
     */
    public static Island getSpawnIsland() {
        return plugin.getGrid().getSpawnIsland();
    }

    /**
     * Get the world of an island by the world's dimension.
     */
    @Nullable
    public static World getIslandsWorld(Island island, Dimension dimension) {
        return plugin.getGrid().getIslandsWorld(island, dimension);
    }

    /**
     * Get an island at a location.
     */
    @Nullable
    public static Island getIslandAt(Location location) {
        return plugin.getGrid().getIslandAt(location);
    }

    /**
     * Calculate all island worths on the server
     */
    public static void calcAllIslands() {
        plugin.getGrid().calcAllIslands();
    }

    /*
     *  Schematic Methods
     */

    /**
     * Get a schematic object by its name
     */
    @Nullable
    public static Schematic getSchematic(String name) {
        return plugin.getSchematics().getSchematic(name);
    }

    /*
     *  Providers Methods
     */

    /**
     * Set custom spawners provider for the plugin.
     *
     * @param spawnersProvider The spawner provider to set.
     */
    public static void setSpawnersProvider(SpawnersProvider spawnersProvider) {
        plugin.getProviders().setSpawnersProvider(spawnersProvider);
    }

    /*
     *  Commands Methods
     */

    /**
     * Register a sub-command.
     *
     * @param superiorCommand The sub command to register.
     */
    public static void registerCommand(SuperiorCommand superiorCommand) {
        plugin.getCommands().registerCommand(superiorCommand);
    }

    /*
     *  Main Method
     */

    /**
     * Get the grid of the core.
     */
    public static GridManager getGrid() {
        return plugin.getGrid();
    }

    /**
     * Get the stacked-blocks manager of the core.
     */
    public static StackedBlocksManager getStackedBlocks() {
        return plugin.getStackedBlocks();
    }

    /**
     * Get the blocks manager of the core.
     */
    public static BlockValuesManager getBlockValues() {
        return plugin.getBlockValues();
    }

    /**
     * Get the schematics manager of the core.
     */
    public static SchematicManager getSchematics() {
        return plugin.getSchematics();
    }

    /**
     * Get the players manager of the core.
     */
    public static PlayersManager getPlayers() {
        return plugin.getPlayers();
    }

    /**
     * Get the roles manager of the core.
     */
    public static RolesManager getRoles() {
        return plugin.getRoles();
    }

    /**
     * Get the missions manager of the core.
     */
    public static MissionsManager getMissions() {
        return plugin.getMissions();
    }

    /**
     * Get the menus manager of the core.
     */
    public static MenusManager getMenus() {
        return plugin.getMenus();
    }

    /**
     * Get the keys manager of the core.
     */
    public static KeysManager getKeys() {
        return plugin.getKeys();
    }

    /**
     * Get the providers manager of the core.
     */
    public static ProvidersManager getProviders() {
        return plugin.getProviders();
    }

    /**
     * Get the upgrades manager of the core.
     */
    public static UpgradesManager getUpgrades() {
        return plugin.getUpgrades();
    }

    /**
     * Get the commands manager of the core.
     */
    public static CommandsManager getCommands() {
        return plugin.getCommands();
    }

    /**
     * Get the settings of the plugin.
     */
    public static SettingsManager getSettings() {
        return plugin.getSettings();
    }

    /**
     * Get the objects factory of the plugin.
     */
    public static FactoriesManager getFactory() {
        return plugin.getFactory();
    }

    /**
     * Get the modules manager of the plugin.
     */
    public static ModulesManager getModules() {
        return plugin.getModules();
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/commands/SuperiorCommand.java
================================================
package com.bgsoftware.superiorskyblock.api.commands;

import com.bgsoftware.superiorskyblock.api.SuperiorSkyblock;
import org.bukkit.command.CommandSender;

import java.util.List;
import java.util.Locale;

public interface SuperiorCommand {

    /**
     * Get the aliases of the sub command.
     */
    List<String> getAliases();

    /**
     * Get the required permission to use the sub command.
     * If no permission is required, can be empty.
     */
    String getPermission();

    /**
     * Get the usage of the sub command.
     *
     * @param locale The locale of the player.
     */
    String getUsage(Locale locale);

    /**
     * Get the description of the sub command.
     *
     * @param locale The locale of the player.
     */
    String getDescription(Locale locale);

    /**
     * Get the minimum arguments required for the command.
     * For example, the command /is example PLAYER_NAME has 2 arguments.
     */
    int getMinArgs();

    /**
     * Get the maximum arguments required for the command.
     * For example, the command /is example PLAYER_NAME has 2 arguments.
     */
    int getMaxArgs();

    /**
     * Can the command be executed from console?
     * If true, sender cannot be casted directly into a player. Otherwise, it can be.
     */
    boolean canBeExecutedByConsole();


    /**
     * Should the command be displayed in /is help (or /is admin for admin commands)?
     */
    boolean displayCommand();

    /**
     * The method to be executed when the command is running.
     *
     * @param plugin The instance of the plugin.
     * @param sender The sender who ran the command.
     * @param args   The arguments of the command.
     */
    void execute(SuperiorSkyblock plugin, CommandSender sender, String[] args);

    /**
     * Get the tab-complete arguments of the command.
     *
     * @param plugin The instance of the plugin.
     * @param sender The sender who ran the command.
     * @param args   The arguments of the command.
     */
    List<String> tabComplete(SuperiorSkyblock plugin, CommandSender sender, String[] args);

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/config/SettingsManager.java
================================================
package com.bgsoftware.superiorskyblock.api.config;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.entity.EntityCategory;
import com.bgsoftware.superiorskyblock.api.enums.TopIslandMembersSorting;
import com.bgsoftware.superiorskyblock.api.handlers.BlockValuesManager;
import com.bgsoftware.superiorskyblock.api.island.IslandPrivilege;
import com.bgsoftware.superiorskyblock.api.key.Key;
import com.bgsoftware.superiorskyblock.api.key.KeySet;
import com.bgsoftware.superiorskyblock.api.objects.Pair;
import com.bgsoftware.superiorskyblock.api.player.inventory.ClearAction;
import com.bgsoftware.superiorskyblock.api.player.respawn.RespawnAction;
import com.bgsoftware.superiorskyblock.api.world.Dimension;
import com.bgsoftware.superiorskyblock.api.wrappers.BlockOffset;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.PortalType;
import org.bukkit.World;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.potion.PotionEffectType;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;

public interface SettingsManager {

    /**
     * The amount of time between auto-calculations that the plugin runs.
     * If set to 0, it means the task is disabled.
     * Config path: calc-interval
     */
    long getCalcInterval();

    /**
     * All settings related to the database of the plugin.
     * Config path: database
     */
    Database getDatabase();

    /**
     * The main command of the plugin.
     * Aliases can be added by adding "," after the command name, and split them using ",".
     * Config path: island-command
     */
    String getIslandCommand();

    /**
     * The maximum island size.
     * Config path: max-island-size
     */
    int getMaxIslandSize();

    /**
     * All the default values for new islands that are created.
     * Config path: default-values
     */
    DefaultValues getDefaultValues();

    /**
     * The default height islands will generate.
     * Config path: islands-height
     */
    int getIslandHeight();

    /**
     * Whether world borders are enabled for islands or not.
     * Config path: world-borders
     */
    boolean isWorldBorders();

    /**
     * All settings related to the stacked-blocks system of the plugin.
     * Config path: stacked-blocks
     */
    StackedBlocks getStackedBlocks();

    /**
     * The formula used to calculate a block's level when it has a worth defined but no level specified.
     * The formula can contain a placeholder: `{}`, which is replaced with the block worth.
     * Config path: block-level-formula
     */
    String getIslandLevelFormula();

    /**
     * Whether island levels should be rounded or not.
     * Config path: rounded-island-level
     */
    boolean isRoundedIslandLevels();

    /**
     * The rounding mode used for the island level when rounded-island-level feature is enabled.
     * Config path: island-level-rounding-mode
     */
    RoundingMode getIslandLevelRoundingMode();

    /**
     * Whether to automatic track block counts when players place and break blocks.
     * Config path: auto-blocks-tracking
     */
    boolean isAutoBlocksTracking();

    /**
     * The default island-top sorting type.
     * Config path: island-top-order
     */
    String getIslandTopOrder();

    /**
     * The default global-warps sorting type.
     * Config path: global-warps-order
     */
    String getGlobalWarpsOrder();

    /**
     * Whether coop members are enabled.
     * Config path: coop-members
     */
    boolean isCoopMembers();

    /**
     * Should players be able to edit island privileges for other players?
     * Config path: edit-player-permissions
     */
    boolean isEditPlayerPermissions();

    /**
     * All settings related to the island-roles.
     * Config path: island-roles
     */
    IslandRoles getIslandRoles();

    /**
     * The line that determines if a sign is created as an island warp.
     * Config path: sign-warp-line
     */
    String getSignWarpLine();

    /**
     * The lines to be set for warp signs.
     * Config path: sign-warp
     */
    List<String> getSignWarp();

    /**
     * All settings related to the visitors-sign.
     * Config path: visitors-sign
     */
    VisitorsSign getVisitorsSign();

    /**
     * All settings related to the worlds of the plugin.
     * Config path: worlds
     */
    Worlds getWorlds();

    /**
     * All settings related to the spawn island.
     * Config path: spawn
     */
    Spawn getSpawn();

    /**
     * A list of permissions players will have in the islands world, outside of islands.
     * Config path: world-permissions
     */
    Collection<String> getWorldPermissions();

    /**
     * All settings related to the void teleportation.
     * Config path: void-teleport
     */
    VoidTeleport getVoidTeleport();

    /**
     * Get all the interactable blocks.
     *
     * @deprecated See {@link #getInteractablesMap}
     */
    @Deprecated
    List<String> getInteractables();

    /**
     * Get all the interactable blocks and their interact privilege.
     */
    Interactables getInteractablesMap();

    /**
     * Get all the safe blocks.
     */
    Collection<Key> getSafeBlocks();

    /**
     * Whether visitors should take damage on islands or not.
     * Config path: visitors-damage
     */
    boolean isVisitorsDamage();

    /**
     * Whether coop players should take damage on islands or not.
     * Config-path: coop-damage
     */
    boolean isCoopDamage();

    /**
     * The default number of disbands players receive when they first join the server.
     * If -1, then the disbands limit is disabled.
     * Config-path: default-disband-count
     */
    int getDisbandCount();

    /**
     * Whether the members list shown in island top should include the leader or not.
     * Config-path: island-top-include-leader
     */
    boolean isIslandTopIncludeLeader();

    /**
     * Default placeholders to be returned when no island exists.
     * Config-path: default-placeholders
     */
    Map<String, String> getDefaultPlaceholders();

    /**
     * Whether confirmation menu should be opened before banning a player from an island or not.
     * Config-path: ban-confirm
     */
    boolean isBanConfirm();

    /**
     * Whether confirmation menu should be opened before disbanding an island or not.
     * Config-path: disband-confirm
     */
    boolean isDisbandConfirm();

    /**
     * Whether confirmation menu should be opened before kicking an island member from an island or not.
     * Config-path: kick-confirm
     */
    boolean isKickConfirm();

    /**
     * Whether confirmation menu should be opened before leaving an island or not.
     * Config-path: leave-confirm
     */
    boolean isLeaveConfirm();

    /**
     * Whether confirmation menu should be opened before transfering an island or not.
     * Config-path: transfer-confirm
     */
    boolean isTransferConfirm();

    /**
     * The spawners-provider to use.
     * If set to AUTO, the plugin will automatically detect an available spawners provider and use it.
     * Config-path: spawners-provider
     */
    String getSpawnersProvider();

    /**
     * The stacked-blocks provider to use.
     * If set to AUTO, the plugin will automatically detect an available stacked-blocks provider and use it.
     * Config-path: stacked-blocks-provider
     */
    String getStackedBlocksProvider();

    /**
     * Whether inventory of island members should be cleared when their island is disbanded or not.
     * Return true if clear-on-disband contains both ENDER_CHEST and INVENTORY.
     * This method will be deleted in the future!
     *
     * @deprecated See {@link #getClearActionsOnDisband()}
     */
    @Deprecated
    boolean isDisbandInventoryClear();

    /**
     * All settings related to island-names.
     * Config path: island-names
     */
    IslandNames getIslandNames();

    /**
     * Whether to teleport players to their island when they create it or not.
     * Config path: teleport-on-create
     */
    boolean isTeleportOnCreate();

    /**
     * Whether to teleport players to their island when they join it or not.
     * Config-path: teleport-on-join
     */
    boolean isTeleportOnJoin();

    /**
     * Whether to teleport players to the spawn when they are kicked from their island or not.
     * Config-path: teleport-on-kick
     */
    boolean isTeleportOnKick();

    /**
     * Whether to teleport players to the spawn when they leave an island or not.
     * Config-path: teleport-on-leave
     */
    boolean isTeleportOnLeave();

    /**
     * Whether to clear players' inventories when they join a new island or not.
     * Return true if clear-on-join contains both ENDER_CHEST and INVENTORY.
     * This method will be deleted in the future!
     *
     * @deprecated See {@link #getClearActionsOnJoin()}
     */
    @Deprecated
    boolean isClearOnJoin();

    /**
     * Get the list of clear actions to perform on island members when their island is disbanded.
     * Config-path: clear-on-disband
     */
    List<ClearAction> getClearActionsOnDisband();

    /**
     * Get the list of clear actions to perform on players when they accept an invite.
     * Config-path: clear-on-join
     */
    List<ClearAction> getClearActionsOnJoin();

    /**
     * Get the list of clear actions to perform on players when they are kicked from their island.
     * Config-path: clear-on-kick
     */
    List<ClearAction> getClearActionsOnKick();

    /**
     * Get the list of clear actions to perform on players when they leave an island.
     * Config-path: clear-on-leave
     */
    List<ClearAction> getClearActionsOnLeave();

    /**
     * Whether players can rate their own island or not.
     * Config-path: rate-own-island
     */
    boolean isRateOwnIsland();

    /**
     * Whether players can change island rating or not.
     * Config-path: change-island-rating
     */
    boolean isChangeIslandRating();

    /**
     * All the default island-flags that will be enabled for new islands.
     * Config-path: default-settings
     */
    List<String> getDefaultSettings();

    /**
     * Whether redstone should be disabled on islands when all of the members of the island are offline or not.
     * Config-path: disable-redstone-offline
     */
    boolean isDisableRedstoneOffline();

    /**
     * All settings related to afk-integrations.
     * Config path: afk-integrations
     */
    AFKIntegrations getAFKIntegrations();

    /**
     * Cooldowns of commands for players.
     * Represented by a map with keys as the command labels, and values as pairs
     * containing the cooldown and a bypass permission.
     * Config-path: commands-cooldown
     */
    Map<String, Pair<Integer, String>> getCommandsCooldown();

    /**
     * Cooldown between upgrades.
     * If -1, then there is no cooldown.
     * Config-path: upgrade-cooldown
     */
    long getUpgradeCooldown();

    /**
     * The numbers-formatting of the plugin.
     * Config-path: number-format
     */
    String getNumbersFormat();

    /**
     * The date-formatting of the plugin.
     * Config-path: date-format
     */
    String getDateFormat();

    /**
     * Whether menus with only one item inside them should be skipped or not.
     * Config-path: skip-one-item-menus
     */
    boolean isSkipOneItemMenus();

    /**
     * Whether visitors on islands should get teleported to spawn when pvp is enabled on the island they were on or not.
     * Config-path: teleport-on-pvp-enable
     */
    boolean isTeleportOnPvPEnable();

    /**
     * Whether visitors should be immuned to PvP for a few seconds when they visit an island that has pvp enabled or not.
     * Config-path: immune-to-pvp-when-teleport
     */
    boolean isImmuneToPvPWhenTeleport();

    /**
     * List of blocked commands that visitors cannot run on islands.
     * Config-path: blocked-visitors-commands
     */
    List<String> getBlockedVisitorsCommands();

    /**
     * All settings related to default-containers in schematics.
     * Currently, getting contents of containers is not available using the API.
     * Config path: island-names
     */
    DefaultContainers getDefaultContainers();

    /**
     * Lines that should be set for signs of schematics.
     * If empty, no signs will be changed.
     * Config-path: default-signs
     */
    List<String> getDefaultSign();

    /**
     * List of commands to be executed for events.
     * Represented by a map with keys as event names and values as a list of commands.
     * Config-path: event-commands
     */
    Map<String, List<String>> getEventCommands();

    /**
     * Delay before teleporting to an island warp, in milliseconds.
     * If 0, no delay will be.
     * Config-path: warps-warmup
     */
    long getWarpsWarmup();

    /**
     * Delay before teleporting to island home, in milliseconds.
     * If 0, no delay will be.
     * Config-path: home-warmup
     */
    long getHomeWarmup();

    /**
     * Delay before teleporting to another island, in milliseconds.
     * If 0, no delay will be.
     * Config-path: visit-warmup
     */
    long getVisitWarmup();

    /**
     * Whether liquids should receive a physics update when placed in schematics or not.
     * Config-path: liquid-update
     */
    boolean isLiquidUpdate();

    /**
     * Whether lights should be set when placing schematics or not.
     * Config-path: lights-update
     */
    boolean isLightsUpdate();

    /**
     * List of worlds that pvp is allowed between island-members.
     * Config-path: pvp-worlds
     */
    List<String> getPvPWorlds();

    /**
     * Whether the plugin should force players to stay in islands in the islands worlds or not.
     * Config-path: stop-leaving
     */
    boolean isStopLeaving();

    /**
     * Whether players can open the values-menu by right-clicking on islands in the islands top menu or not.
     * Config-path: values-menu
     */
    boolean isValuesMenu();

    /**
     * List of crops that can get affected by the crops-growth multiplier.
     * Config-path: crops-to-grow
     */
    List<String> getCropsToGrow();

    /**
     * Time between each iteration of the crops task.
     * Config-path: crops-interval
     */
    int getCropsInterval();

    /**
     * Whether players can only go back to the previous menu by clicking the back-button or not.
     * Config-path: only-back-button
     */
    boolean isOnlyBackButton();

    /**
     * Whether players can build outside their islands or not.
     * When enabled, island-sizes to be {@link #getMaxIslandSize()} * 1.5,
     * and islands will be connected to each other.
     * Config-path: build-outside-island
     */
    boolean isBuildOutsideIsland();

    /**
     * The default language to be set for new players.
     * Config-path: default-language
     */
    String getDefaultLanguage();

    /**
     * Whether new players should have world-borders enabled by default or not.
     * Config-path: default-world-border
     */
    boolean isDefaultWorldBorder();

    /**
     * Whether new players should be able to stack blocks by default or not.
     * Config-path: default-blocks-stacker
     */
    boolean isDefaultStackedBlocks();

    /**
     * Whether new players should have /is open their island panel by default or not.
     * Config-path: default-toggled-panel
     */
    boolean isDefaultToggledPanel();

    /**
     * Whether new players should have island fly enabled by default or not.
     * Config-path: default-island-fly
     */
    boolean isDefaultIslandFly();

    /**
     * The default border-color for new players.
     * Config-path: default-border-color
     */
    String getDefaultBorderColor();

    /**
     * Whether obsidian should turn into a lava-bucket when clicking on it with an empty bucket in hand or not.
     * Config-path: obsidian-to-lava
     */
    boolean isObsidianToLava();

    /**
     * The sync-worth status of the plugin.
     * Config-path: sync-worth
     */
    BlockValuesManager.SyncWorthStatus getSyncWorth();

    /**
     * Whether island-worth can be negative or not.
     * Config-path: negative-worth
     */
    boolean isNegativeWorth();

    /**
     * Whether island-level can be negative or not.
     * Config-path: negative-level
     */
    boolean isNegativeLevel();

    /**
     * List of plugin-events that should not be fired.
     * Config-path: disabled-events
     */
    List<String> getDisabledEvents();

    /**
     * List of commands that should be disabled within the plugin.
     * Config-path: disabled-commands
     */
    List<String> getDisabledCommands();

    /**
     * List of plugins that their hooks should not be enabled.
     * Config-path: disabled-hooks
     */
    List<String> getDisabledHooks();

    /**
     * Whether the schematic-name argument should be when executing /is create or not.
     * Config-path: schematic-name-argument
     */
    boolean isSchematicNameArgument();

    /**
     * All settings related to island-chests.
     * Config path: island-chests
     */
    IslandChests getIslandChests();

    /**
     * Custom aliases for commands of the plugin.
     * Represented by a map with keys as commands, and values as aliases.
     * Config-path: command-aliases
     */
    Map<String, List<String>> getCommandAliases();

    /**
     * List of valuable-blocks.
     * Config-path: valuable-blocks
     */
    Set<Key> getValuableBlocks();

    /**
     * List of preview-island locations.
     * Represented by a map with keys as schematic names, and values as locations for the preview islands.
     * Config-path: preview-islands
     *
     * @deprecated See {@link #getIslandPreviews()}
     */
    @Deprecated
    Map<String, Location> getPreviewIslands();

    /**
     * All settings related to the island previews.
     * Config path: island-previews
     */
    IslandPreviews getIslandPreviews();

    /**
     * Whether vanished players should be hidden from command tab completes or not.
     * Config-path: tab-complete-hide-vanished
     */
    boolean isTabCompleteHideVanished();

    /**
     * Whether drops multiplier should only affect entities that are killed by players or not.
     * Config-path: drops-upgrade-players-multiply
     */
    boolean isDropsUpgradePlayersMultiply();

    /**
     * The delay set for the ISLAND_PROTECTED message.
     *
     * @deprecated See {@link #getMessageDelays()}
     */
    @Deprecated
    long getProtectedMessageDelay();

    /**
     * A list of messages that should have a delay, in milliseconds.
     * Represented by a map with string as the message name, and values as the delays.
     * Config-path: message-delays
     */
    Map<String, Long> getMessageDelays();

    /**
     * Whether the warp categories system is enabled or not.
     * Config-path: warp-categories
     */
    boolean isWarpCategories();

    /**
     * Whether the plugin should listen for the physics event or not.
     * Config-path: physics-listener
     */
    boolean isPhysicsListener();

    /**
     * Amount of money to be charged from players when they use an island warp.
     * If set to 0, no money will be charged.
     * Config-path: charge-on-warp
     */
    double getChargeOnWarp();

    /**
     * Whether island warps should be public by default or not.
     * Config-path: public-warps
     */
    boolean isPublicWarps();

    /**
     * Whether islands should be locked by default or not.
     * Config-path: locked-islands
     */
    boolean isLockedIslands();

    /**
     * Cooldown between recalculations of an island, in seconds.
     * If set to 0, no cooldown is set.
     * Config-path: recalc-task-timeout
     */
    long getRecalcTaskTimeout();

    /**
     * Whether to detect the player's language automatically when he first joins the server.
     * Config-path: auto-language-detection
     */
    boolean isAutoLanguageDetection();

    /**
     * Automatically uncoop players when there are no island members left online that can remove uncoop players.
     * Config-path: auto-uncoop-when-alone
     */
    boolean isAutoUncoopWhenAlone();

    /**
     * Get the way to sort members in the top islands menu.
     * Config-path: island-top-members-sorting
     */
    TopIslandMembersSorting getTopIslandMembersSorting();

    /**
     * Limit of the amount of bossbar tasks each player can have at the same time.
     * Config-path: bossbar-limit
     */
    int getBossbarLimit();

    /**
     * Whether to delete unsafe warps when players try to teleport to them automatically.
     * Config-path: delete-unsafe-warps
     */
    boolean getDeleteUnsafeWarps();

    /**
     * Get the list of actions to perform when a player respawns.
     * Config-path: player-respawn
     */
    List<RespawnAction> getPlayerRespawn();

    /**
     * Get the threshold between saves for block counts.
     * Config-path: block-counts-save-threshold
     */
    BigInteger getBlockCountsSaveThreshold();

    /**
     * Support for chat-signing in 1.19+.
     * Config-path: chat-signing-support
     */
    boolean getChatSigningSupport();

    /**
     * Amount of commands to be listed in the `/is help` and `/is admin` commands.
     * Config-path: commands-per-page
     */
    int getCommandsPerPage();

    /**
     * Whether players should receive a help instead of a `INVALID_COMMAND` message
     * when using a command that doesn't exist or not.
     * Config-path: help-on-invalid-command
     */
    boolean isHelpOnInvalidCommand();

    /**
     * Whether players should receive a help instead of a `NO_COMMAND_PERMISSION` message
     * when using a command they don't have permission for or not.
     * Config-path: help-on-no-permission
     */
    boolean isHelpOnNoPermission();

    /**
     * Whether the plugin should cache schematics for faster placement of schematics.
     * Config-path: cache-schematics
     */
    boolean isCacheSchematics();

    /**
     * Custom entity categories to be used by the plugin.
     * Config-path: entity-categories
     */
    @Deprecated
    Map<String, KeySet> getEntityCategories();

    /**
     * Custom entity categories to be used by the plugin.
     */
    EntityCategories getEntityCategoriesMap();

    interface Database {

        /**
         * Get the database-type to use (SQLite or MySQL).
         * Config-path: database.type
         */
        String getType();

        /**
         * Whether the datastore folder should be back-up on startup.
         * Config-path: database.backup
         */
        boolean isBackup();

        /**
         * The address used to connect to the database.
         * Used for MySQL only.
         * Config-path: database.address
         */
        String getAddress();

        /**
         * The port used to connect to the database.
         * Used for MySQL only.
         * Config-path: database.port
         */
        int getPort();

        /**
         * Get the name of the database.
         * Used for MySQL only.
         * Config-path: database.db-name
         */
        String getDBName();

        /**
         * The username used to connect to the database.
         * Used for MySQL only.
         * Config-path: database.user-name
         */
        String getUsername();

        /**
         * The password used to connect to the database.
         * Used for MySQL only.
         * Config-path: database.password
         */
        String getPassword();

        /**
         * The prefix used for tables in the database.
         * Used for MySQL only.
         * Config-path: database.prefix
         */
        String getPrefix();

        /**
         * Whether the database uses SSL or not.
         * Used for MySQL only.
         * Config-path: database.useSSL
         */
        boolean hasSSL();

        /**
         * Whether public-key-retrieval is allowed in the database or not.
         * Used for MySQL only.
         * Config-path: database.allowPublicKeyRetrieval
         */
        boolean hasPublicKeyRetrieval();

        /**
         * The wait-timeout of the database, in milliseconds.
         * Used for MySQL only.
         * Config-path: database.waitTimeout
         */
        long getWaitTimeout();

        /**
         * The max-lifetime of the database, in milliseconds.
         * Used for MySQL only.
         * Config-path: database.maxLifetime
         */
        long getMaxLifetime();

    }

    interface DefaultValues {

        /**
         * The default island size for new islands.
         * Config-path: default-values.island-size
         */
        int getIslandSize();

        /**
         * The default block limits for new islands.
         * Represented by a map with keys as the block types, and values as the limits.
         * Config-path: default-values.block-limits
         */
        Map<Key, Integer> getBlockLimits();

        /**
         * The default entity limits for new islands.
         * Represented by a map with keys as the entity types, and values as the limits.
         * Config-path: default-values.entity-limits
         */
        Map<Key, Integer> getEntityLimits();

        /**
         * The default warps limit for new islands.
         * Config-path: default-values.warps-limit
         */
        int getWarpsLimit();

        /**
         * The default team limit for new islands.
         * Config-path: default-values.team-limit
         */
        int getTeamLimit();

        /**
         * The default coops limit for new islands.
         * Config-path: default-values.coop-limit
         */
        int getCoopLimit();

        /**
         * The default crop-growth multiplier for new islands.
         * Config-path: default-values.crop-growth
         */
        double getCropGrowth();

        /**
         * The default spawner-rates multiplier for new islands.
         * Config-path: default-values.spawner-rates
         */
        double getSpawnerRates();

        /**
         * The default mob-drops multiplier for new islands.
         * Config-path: default-values.mob-drops
         */
        double getMobDrops();

        /**
         * The default bank-limit for new islands.
         * Config-path: default-values.bank-limit
         */
        BigDecimal getBankLimit();

        /**
         * The default generator-rates for new islands.
         * Represented by an array of maps with keys as the blocks, and values as the rates.
         * The maps are sorted by the {@link Dimension} they belong to.
         * Config-path: default-values.generator
         *
         * @deprecated See {@link #getGeneratorsMap()}
         */
        @Deprecated
        Map<Key, Integer>[] getGenerators();

        /**
         * The default generator-rates for new islands.
         * Represented by maps with keys as the blocks, and values as the rates.
         * Config-path: default-values.generator
         */
        Map<Dimension, Map<Key, Integer>> getGeneratorsMap();

        /**
         * The default role-limits for new islands.
         * Represented by a map with keys as the role ids, and values as the limit.
         * Config-path: default-values.role-limits
         */
        Map<Integer, Integer> getRoleLimits();

        /**
         * The default island effects for new islands.
         * Represented by a map with keys as the effect types, and values as the effect levels.
         * Config-path: default-values.island-effects
         */
        Map<PotionEffectType, Integer> getIslandEffects();

    }

    interface StackedBlocks {

        /**
         * Whether stacked blocks are enabled on the server or not.
         * Config-path: stacked-blocks.enabled
         */
        boolean isEnabled();

        /**
         * The custom hologram names for stacked blocks.
         * Config-path: stacked-blocks.custom-name
         */
        String getCustomName();

        /**
         * List of worlds that blocks cannot be stacked in.
         * Config-path: stacked-blocks.disabled-worlds
         */
        List<String> getDisabledWorlds();

        /**
         * List of whitelisted block types that can be stacked together.
         * Config-path: stacked-blocks.whitelisted
         */
        Set<Key> getWhitelisted();

        /**
         * Limits for stacked-blocks
         * Represented by a map with keys as block types, and values as limits.
         * Config-path: stacked-blocks.limits
         */
        Map<Key, Integer> getLimits();

        /**
         * Whether stacked blocks should be auto-collected to players' inventories or not.
         * Config-path: stacked-blocks.auto-collect
         */
        boolean isAutoCollect();

        /**
         * All the settings related to the deposit-menu of stacked blocks.
         * Config path: default-values.deposit-menu
         */
        DepositMenu getDepositMenu();


        interface DepositMenu {

            /**
             * Whether the deposit-menu is enabled or not.
             * Config path: default-values.deposit-menu.enabled
             */
            boolean isEnabled();

            /**
             * The title of the deposit menu.
             * Config path: default-values.deposit-menu.title
             */
            String getTitle();

        }

    }

    interface IslandRoles {

        /**
         * The configuration section of the island-roles.
         * Config path: island-roles
         */
        ConfigurationSection getSection();

    }

    interface VisitorsSign {

        /**
         * Whether a visitors sign is required for others to visit islands.
         * Config-path: visitors-sign.required-for-visit
         */
        boolean isRequiredForVisit();

        /**
         * The line that determines if the sign is used as a visitors home location.
         * Config-path: visitors-sign.line
         */
        String getLine();

        /**
         * The line that is displayed when the visitors sign is active.
         * Config-path: visitors-sign.active
         */
        String getActive();

        /**
         * The line that is displayed when the visitors sign is inactive.
         * Config-path: visitors-sign.inactive
         */
        String getInactive();

        /**
         * The format in which the island description lines will be saved.
         * Config-path: visitors-sign.description-line-format
         */
        String getDescriptionLineFormat();

    }

    interface Worlds {

        /**
         * The default world dimension.
         * Config-path: worlds.default-world
         */
        Dimension getDefaultWorldDimension();

        /**
         * The default world environment.
         * Config-path: worlds.default-world
         *
         * @deprecated See {@link #getDefaultWorldDimension()}
         */
        @Deprecated
        World.Environment getDefaultWorld();

        /**
         * The name of the overworld world.
         * Config-path: worlds.world-name
         */
        String getWorldName();

        /**
         * The name of the default world.
         */
        String getDefaultWorldName();

        /**
         * All settings related to the overworld world.
         * Config-path: worlds.normal
         *
         * @deprecated See {@link #getDimensionConfig(Dimension)}
         */
        @Deprecated
        Normal getNormal();

        /**
         * All settings related to the nether world.
         * Config-path: worlds.nether
         *
         * @deprecated See {@link #getDimensionConfig(Dimension)}
         */
        @Deprecated
        Nether getNether();

        /**
         * All settings related to the end world.
         * Config-path: worlds.end
         *
         * @deprecated See {@link #getDimensionConfig(Dimension)}
         */
        @Deprecated
        End getEnd();

        /**
         * All settings related to a dimension.
         * Config-path: worlds.<dimension>
         */
        @Nullable
        DimensionConfig getDimensionConfig(Dimension dimension);

        /**
         * The difficulty of the islands worlds.
         * Config-path: worlds.difficulty
         */
        String getDifficulty();

        /**
         * The sea level of island worlds.
         * Config path: worlds.sea-level-height
         */
        int getSeaLevelHeight();

        interface DimensionConfig {

            /**
             * Whether this dimension is enabled or not.
             * Config-path: worlds.dimensions.<dimension>.enabled
             */
            boolean isEnabled();

            /**
             * Whether this dimension is unlocked by default or not.
             * Config-path: worlds.dimensions.<dimension>.unlock
             */
            boolean isUnlocked();

            /**
             * Whether the schematic for this dimension should be offset or not.
             * Config-path: worlds.dimensions.<dimension>.schematic-offset
             */
            boolean isSchematicOffset();

            /**
             * Get the default biome for this dimension.
             * Config-path: worlds.dimensions.<dimension>.biome
             */
            String getBiome();

            /**
             * Get the world's name for this dimension.
             * Config-path: worlds.dimensions.<dimension>.name
             */
            String getName();

            /**
             * Get the destination of a specific portal type {@link PortalType}
             * Config-path: worlds.dimensions.<dimension>.portals
             *
             * @param portalType The portal type to get
             * @return The destination of that portal type, or null if doesn't exist.
             */
            @Nullable
            Dimension getPortalDestination(PortalType portalType);

        }

        interface Normal extends DimensionConfig {

        }

        interface Nether extends DimensionConfig {

        }

        interface End extends DimensionConfig {

            /**
             * Whether ender-dragon fights should be enabled for islands or not.
             * Config-path: worlds.end.dragon-fight.enabled
             */
            boolean isDragonFight();

            /**
             * Get the offset of the portal from the center of the island.
             * Config-path: worlds.end.dragon-fight.portal-offset
             */
            BlockOffset getPortalOffset();

        }

    }

    interface Spawn {

        /**
         * The location of the spawn island.
         * Config-path: spawn.location
         */
        String getLocation();

        /**
         * Whether the spawn island has a protection or not.
         * Config-path: spawn.protection
         */
        boolean isProtected();

        /**
         * List of island-flags that will be enabled for the spawn island.
         * Config-path: spawn.settings
         */
        List<String> getSettings();

        /**
         * List of permissions that will be given to players for the spawn island.
         * Config-path: spawn.permissions
         */
        List<String> getPermissions();

        /**
         * Whether the spawn island has a world border or not.
         * Config-path: spawn.world-border
         */
        boolean isWorldBorder();

        /**
         * The size of the spawn island.
         * Config-path: spawn.size
         */
        int getSize();

        /**
         * Whether players should take damage in the spawn island or not.
         * Config-path: spawn.players-damage
         */
        boolean isPlayersDamage();

    }

    interface VoidTeleport {

        /**
         * Whether island members should be teleported when they fall into void on their island or not.
         * Config-path: void-teleport.members
         */
        boolean isMembers();

        /**
         * Whether visitors should be teleported when they fall into void on other islands or not.
         * Config-path: void-teleport.visitors
         */
        boolean isVisitors();

    }

    interface IslandNames {

        /**
         * Whether an island name is required for creating a new island or not.
         * Config-path: island-names.required-for-creation
         */
        boolean isRequiredForCreation();

        /**
         * The maximum length for island-names.
         * Config-path: island-names.max-length
         */
        int getMaxLength();

        /**
         * The minimum length for island-names.
         * Config-path: island-names.min-length
         */
        int getMinLength();

        /**
         * List of names that cannot be used.
         * Config-path: island-names.filtered-names
         */
        List<String> getFilteredNames();

        /**
         * Whether island-names should support colors or not.
         * Config-path: island-names.color-support
         */
        boolean isColorSupport();

        /**
         * Whether island names should be displayed in the island-top menu or not.
         * Config-path: island-names.island-top
         */
        boolean isIslandTop();

        /**
         * Whether the plugin should prevent from choosing player names as island names or not.
         * Config-path: island-names.prevent-player-names
         */
        boolean isPreventPlayerNames();

        /**
         * Whether the name change announcement should be sent to all players or not.
         * Config-path: island-names.announce-change-to-all
         */
        boolean isAnnounceChangeToAll();

    }

    interface AFKIntegrations {

        /**
         * Whether redstone should be disabled when all island members are afk or not.
         * Config-path: afk-integrations.disable-redstone
         */
        boolean isDisableRedstone();

        /**
         * Whether mob spawning should be disabled when all island members are afk or not.
         * Config-path: afk-integrations.disable-spawning
         */
        boolean isDisableSpawning();

    }

    interface DefaultContainers {

        /**
         * Whether the default-containers system is enabled or not.
         * Config-path: default-containers.enabled
         */
        boolean isEnabled();

    }

    interface IslandChests {

        /**
         * The title to be shown for island chests.
         * Config-path: island-chests.chest-title
         */
        String getChestTitle();

        /**
         * The default pages new islands will have.
         * Config-path: island-chests.default-pages
         */
        int getDefaultPages();

        /**
         * The default size for chests.
         * Config-path: island-chests.default-size
         */
        int getDefaultSize();

    }

    interface IslandPreviews {

        /**
         * The game mode that will be set for the player when they enter preview mode.
         * Config-path: island-previews.game-mode
         */
        GameMode getGameMode();

        /**
         * The maximum distance a player can move before the preview mode is canceled.
         * Config-path: island-previews.max-distance
         */
        int getMaxDistance();

        /**
         * A list of commands that cannot be executed by players in preview mode.
         * Config-path: island-previews.blocked-commands
         */
        List<String> getBlockedCommands();

        /**
         * List of island preview locations.
         * Represented by a map with keys as schematic names, and values as locations for the preview islands.
         * Config-path: island-previews.locations
         */
        Map<String, Location> getLocations();

    }

    interface Interactables {

        /**
         * Get all the interactables from the interactables file.
         */
        Set<Key> getInteractables();

        /**
         * Get all the interactables for a specific {@link IslandPrivilege}
         */
        @Nullable
        Set<Key> getInteractables(IslandPrivilege islandPrivilege);

        /**
         * Get the required {@link IslandPrivilege} for a specific key.
         */
        @Nullable
        IslandPrivilege getRequiredPrivilege(Key key);

    }

    interface EntityCategories {

        /**
         * Get all the categories from the entity-categories file.
         */
        List<EntityCategory> getCategories();

        /**
         * Get the entity categories for a specific entity key.
         *
         * @param key The entity's key
         */
        List<EntityCategory> getCategories(Key key);

        /**
         * Get an entity category by its name
         *
         * @param name The name of the category.
         */
        @Nullable
        EntityCategory getCategoryByName(String name);

    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseBridge.java
================================================
package com.bgsoftware.superiorskyblock.api.data;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.objects.Pair;

import java.util.Map;
import java.util.function.Consumer;

public interface DatabaseBridge {

    /**
     * Load all the objects from the database.
     *
     * @param table:         The table to load the objects from.
     * @param resultConsumer Consumer that receives each object from the database.
     */
    void loadAllObjects(String table, Consumer<Map<String, Object>> resultConsumer);

    /**
     * Start saving data for the object.
     * If this method is not called, data should not be saved when saveRow is called.
     *
     * @deprecated See {@link #setDatabaseBridgeMode(DatabaseBridgeMode)}
     */
    @Deprecated
    default void startSavingData() {
        setDatabaseBridgeMode(DatabaseBridgeMode.SAVE_DATA);
    }

    /**
     * Set whether to execute operations in batches or not.
     */
    void batchOperations(boolean batchOperations);

    /**
     * Update the object in the database.
     *
     * @param table   The name of the table in the database.
     * @param filter  The filter of the column.
     * @param columns All columns to be saved with their values.
     */
    void updateObject(String table, @Nullable DatabaseFilter filter, Pair<String, Object>... columns);

    /**
     * Insert the object in the database.
     *
     * @param table   The name of the table in the database.
     * @param columns All columns to be saved with their values.
     */
    void insertObject(String table, Pair<String, Object>... columns);

    /**
     * Delete the object from the database.
     *
     * @param table  The name of the table in the database.
     * @param filter The filter of the column.
     */
    void deleteObject(String table, @Nullable DatabaseFilter filter);

    /**
     * Load data from the database for this object.
     *
     * @param table          The table to get the data from.
     * @param filter         The filter of the column.
     * @param resultConsumer Consumer that receives data for each row.
     */
    void loadObject(String table, @Nullable DatabaseFilter filter, Consumer<Map<String, Object>> resultConsumer);

    /**
     * Set the mode for the database bridge.
     *
     * @param databaseBridgeMode The {@link DatabaseBridgeMode} mode to set.
     */
    void setDatabaseBridgeMode(DatabaseBridgeMode databaseBridgeMode);

    /**
     * Get the current mode of the database bridge.
     */
    DatabaseBridgeMode getDatabaseBridgeMode();

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseBridgeMode.java
================================================
package com.bgsoftware.superiorskyblock.api.data;

/**
 * Represents the mode the database-bridge object is in.
 */
public enum DatabaseBridgeMode {

    /**
     * When this mode is selected, the database-bridge should run queries to the database.
     */
    SAVE_DATA,

    /**
     * When this mode is selected, the database-bridge should not execute updates to the database.
     * Reading from the database should still work.
     */
    IDLE

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseFilter.java
================================================
package com.bgsoftware.superiorskyblock.api.data;

import com.bgsoftware.superiorskyblock.api.objects.Pair;

import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.function.BiConsumer;

public abstract class DatabaseFilter {

    private static DatabaseFilterEmpty EMPTY_FILTER;

    public static DatabaseFilter fromFilter(String filterKey, Object filterValue) {
        return new DatabaseFilterSingle(filterKey, filterValue);
    }

    public static DatabaseFilter fromFilters(List<Pair<String, Object>> filters) {
        if (filters.isEmpty()) {
            if (EMPTY_FILTER == null)
                EMPTY_FILTER = new DatabaseFilterEmpty();

            return EMPTY_FILTER;
        } else if (filters.size() == 1) {
            Pair<String, Object> filter = filters.get(0);
            return fromFilter(filter.getKey(), filter.getValue());
        } else {
            return new DatabaseFilterList(filters);
        }
    }

    protected DatabaseFilter() {
    }

    public abstract void forEach(BiConsumer<String, Object> consumer);

    public abstract Collection<Pair<String, Object>> getFilters();

    private static class DatabaseFilterList extends DatabaseFilter {

        private final Collection<Pair<String, Object>> filters;

        DatabaseFilterList(Collection<Pair<String, Object>> filters) {
            this.filters = filters;
        }

        @Override
        public void forEach(BiConsumer<String, Object> consumer) {
            filters.forEach(pair -> consumer.accept(pair.getKey(), pair.getValue()));
        }

        @Override
        public Collection<Pair<String, Object>> getFilters() {
            return Collections.unmodifiableCollection(filters);
        }

    }

    private static class DatabaseFilterEmpty extends DatabaseFilter {

        @Override
        public void forEach(BiConsumer<String, Object> consumer) {
            // Do nothing.
        }

        @Override
        public Collection<Pair<String, Object>> getFilters() {
            return Collections.emptyList();
        }

    }

    private static class DatabaseFilterSingle extends DatabaseFilter {

        private final String filterKey;
        private final Object filterValue;

        DatabaseFilterSingle(String filterKey, Object filterValue) {
            this.filterKey = filterKey;
            this.filterValue = filterValue;
        }

        @Override
        public void forEach(BiConsumer<String, Object> consumer) {
            consumer.accept(filterKey, filterValue);
        }

        @Override
        public Collection<Pair<String, Object>> getFilters() {
            return Collections.singleton(new Pair<>(filterKey, filterValue));
        }

    }


}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/data/IDatabaseBridgeHolder.java
================================================
package com.bgsoftware.superiorskyblock.api.data;

public interface IDatabaseBridgeHolder {

    /**
     * Get the current database bridge of the object.
     */
    DatabaseBridge getDatabaseBridge();

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/entity/EntityCategory.java
================================================
package com.bgsoftware.superiorskyblock.api.entity;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.IslandFlag;
import com.bgsoftware.superiorskyblock.api.island.IslandPrivilege;
import com.bgsoftware.superiorskyblock.api.key.KeySet;

public interface EntityCategory {

    /**
     * Get the name of the entity category.
     */
    String getName();

    /**
     * Get the entities this category contains.
     */
    KeySet getEntities();

    /**
     * Get the required {@link IslandPrivilege} to spawn entities from this category on an island.
     */
    @Nullable
    IslandPrivilege getSpawnPrivilege();

    /**
     * Get the required {@link IslandPrivilege} to damage entities from this category on an island.
     */
    @Nullable
    IslandPrivilege getDamagePrivilege();

    /**
     * Get the required {@link IslandPrivilege} to interact with entities from this category on an island.
     */
    @Nullable
    IslandPrivilege getInteractPrivilege();

    /**
     * Get the required {@link IslandFlag} for entities from this category to spawn on an island from a spawner.
     */
    @Nullable
    IslandFlag getSpawnerSpawningIslandFlag();

    /**
     * Get the required {@link IslandFlag} for entities from this category to spawn on an island naturally.
     */
    @Nullable
    IslandFlag getNaturalSpawningIslandFlag();

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/BankAction.java
================================================
package com.bgsoftware.superiorskyblock.api.enums;

public enum BankAction {

    WITHDRAW_COMPLETED,
    WITHDRAW_FAILED,

    DEPOSIT_COMPLETED,
    DEPOSIT_FAILED

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/BorderColor.java
================================================
package com.bgsoftware.superiorskyblock.api.enums;

/**
 * Used to determine what's the color of the border of players.
 */
public enum BorderColor {

    RED,
    GREEN,
    BLUE;

    public static BorderColor safeValue(String name, BorderColor def) {
        try {
            return BorderColor.valueOf(name);
        } catch (IllegalArgumentException ex) {
            return def;
        }
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/HitActionResult.java
================================================
package com.bgsoftware.superiorskyblock.api.enums;

public enum HitActionResult {

    NOT_ONLINE,
    PVP_WARMUP,
    ISLAND_PVP_DISABLE,
    VISITOR_DAMAGE,
    COOP_DAMAGE,

    TARGET_NOT_ONLINE,
    TARGET_PVP_WARMUP,
    TARGET_ISLAND_PVP_DISABLE,
    TARGET_VISITOR_DAMAGE,
    TARGET_COOP_DAMAGE,

    ISLAND_TEAM_PVP,

    SUCCESS


}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/MemberRemoveReason.java
================================================
package com.bgsoftware.superiorskyblock.api.enums;

/**
 * Used to determine the reason why a member was removed from an island.
 */
public enum MemberRemoveReason {

    /**
     * The member was removed because the island was disbanded.
     */
    DISBAND,

    /**
     * The member was removed because another player kicked them from the island.
     */
    KICK,

    /**
     * The member was removed because they left the island.
     */
    LEAVE

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/Rating.java
================================================
package com.bgsoftware.superiorskyblock.api.enums;

import java.util.Locale;

/**
 * Used to determine what rating has a player given to an island.
 */
public enum Rating {

    UNKNOWN,
    ZERO_STARS,
    ONE_STAR,
    TWO_STARS,
    THREE_STARS,
    FOUR_STARS,
    FIVE_STARS;

    private static String ALL_RATING_NAMES;

    /**
     * Get a string of all the rating names.
     */
    public static String getValuesString() {
        if (ALL_RATING_NAMES == null) {
            StringBuilder namesBuilder = new StringBuilder();
            for (Rating rating : Rating.values())
                namesBuilder.append(", ").append(rating.toString().toLowerCase(Locale.ENGLISH));
            ALL_RATING_NAMES = namesBuilder.length() == 0 ? "" : namesBuilder.substring(2);
        }

        return ALL_RATING_NAMES;
    }

    /**
     * Get a rating by it's value.
     */
    public static Rating valueOf(int value) {
        return values()[value + 1];
    }

    /**
     * Get the integer value of the rating.
     */
    public int getValue() {
        return ordinal() - 1;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/SyncStatus.java
================================================
package com.bgsoftware.superiorskyblock.api.enums;

import com.bgsoftware.superiorskyblock.api.island.IslandFlag;
import com.bgsoftware.superiorskyblock.api.island.IslandPrivilege;

/**
 * Sync status for {@link IslandFlag} and {@link IslandPrivilege} in islands.
 */
public enum SyncStatus {

    /**
     * The target is enabled and is not synced.
     */
    ENABLED,

    /**
     * The target is disabled and is not synced.
     */
    DISABLED,

    /**
     * The target is synced with upgrades and default config values.
     */
    SYNCED

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/TopIslandMembersSorting.java
================================================
package com.bgsoftware.superiorskyblock.api.enums;

import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;

import java.util.Comparator;

public enum TopIslandMembersSorting {

    /**
     * Sort members in the top-islands menu by their names.
     */
    NAMES,

    /**
     * Sort members in the top-islands menu by their roles.
     */
    ROLES;

    private Comparator<SuperiorPlayer> comparator = null;

    TopIslandMembersSorting() {
    }

    public void setComparator(Comparator<SuperiorPlayer> comparator) {
        if (this.comparator != null)
            throw new IllegalArgumentException("You cannot set a comparator after it was already been set.");

        this.comparator = comparator;
    }

    public Comparator<SuperiorPlayer> getComparator() {
        if (this.comparator == null)
            throw new RuntimeException(this + " was not initialized.");

        return comparator;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/AttemptPlayerSendMessageEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.service.message.IMessageComponent;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.Bukkit;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;

/**
 * AttemptPlayerSendMessageEvent is called when a message is attempted to be sent to {@link SuperiorPlayer}
 * The event is called before it checks if {@link SuperiorPlayer} can get the message.
 * In this time there is no {@link IMessageComponent} yet, as it is created only once the message can be sent
 * to the receiver.
 */
public class AttemptPlayerSendMessageEvent extends Event implements Cancellable {

    private static final HandlerList handlers = new HandlerList();

    private final SuperiorPlayer receiver;
    private final String messageType;
    private final Object[] args;

    private boolean cancelled = false;

    /**
     * The constructor for the event.
     *
     * @param receiver    The receiver of the message.
     * @param messageType The name of the message, similar to the one from lang file.
     */
    public AttemptPlayerSendMessageEvent(SuperiorPlayer receiver, String messageType, Object[] args) {
        super(!Bukkit.isPrimaryThread());
        this.receiver = receiver;
        this.messageType = messageType;
        this.args = args;
    }

    /**
     * Get the receiver of the message.
     */
    public SuperiorPlayer getReceiver() {
        return receiver;
    }

    /**
     * Get the name of the message, similar to the one from lang file.
     */
    public String getMessageType() {
        return messageType;
    }

    /**
     * Get an argument of the message.
     *
     * @param index The index of the argument.
     * @throws ArrayIndexOutOfBoundsException If {@param index} is out of bounds.
     */
    public Object getArgument(int index) {
        return args[index];
    }

    /**
     * Set an argument for the message.
     *
     * @param index The index of the argument.
     * @param value The value to be set.
     * @throws ArrayIndexOutOfBoundsException If {@param index} is out of bounds.
     */
    public void setArgument(int index, Object value) {
        Preconditions.checkNotNull(value, "Argument's value cannot be null.");
        args[index] = value;
    }

    /**
     * Get the length of the arguments array.
     */
    public int getArgumentsLength() {
        return args.length;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

    @Override
    public HandlerList getHandlers() {
        return handlers;
    }

    public static HandlerList getHandlerList() {
        return handlers;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/BlockStackEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.block.BlockEvent;

public class BlockStackEvent extends BlockEvent implements Cancellable {

    private static final HandlerList handlers = new HandlerList();

    private final Player player;
    private final int originalCount;
    private final int newCount;
    private boolean cancelled = false;

    public BlockStackEvent(Block block, Player player, int originalCount, int newCount) {
        super(block);
        this.player = player;
        this.originalCount = originalCount;
        this.newCount = newCount;
    }

    public static HandlerList getHandlerList() {
        return handlers;
    }

    public Player getPlayer() {
        return player;
    }

    public int getOriginalCount() {
        return originalCount;
    }

    public int getNewCount() {
        return newCount;
    }

    public int getIncreaseAmount() {
        return newCount - originalCount;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

    @Override
    public HandlerList getHandlers() {
        return handlers;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/BlockUnstackEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.block.BlockEvent;

public class BlockUnstackEvent extends BlockEvent implements Cancellable {

    private static final HandlerList handlers = new HandlerList();

    private final Player player;
    private final int originalCount;
    private final int newCount;
    private boolean cancelled = false;

    public BlockUnstackEvent(Block block, Player player, int originalCount, int newCount) {
        super(block);
        this.player = player;
        this.originalCount = originalCount;
        this.newCount = newCount;
    }

    public static HandlerList getHandlerList() {
        return handlers;
    }

    @Nullable
    public Player getPlayer() {
        return player;
    }

    public int getOriginalCount() {
        return originalCount;
    }

    public int getNewCount() {
        return newCount;
    }

    public int getDecreaseAmount() {
        return originalCount - newCount;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

    @Override
    public HandlerList getHandlers() {
        return handlers;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBanEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandBanEvent is called when a player is banned from his island.
 */
public class IslandBanEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final SuperiorPlayer targetPlayer;

    private boolean cancelled;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player who banned the other player.
     * @param targetPlayer   The player that was banned.
     * @param island         The island that the player was banned from.
     */
    public IslandBanEvent(SuperiorPlayer superiorPlayer, SuperiorPlayer targetPlayer, Island island) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.targetPlayer = targetPlayer;
    }

    /**
     * Get the player who banned the other player.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the player that was banned.
     */
    public SuperiorPlayer getTarget() {
        return targetPlayer;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }
}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBankDepositEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

import java.math.BigDecimal;

/**
 * IslandBankDepositEvent is called when money is deposited to the bank.
 */
public class IslandBankDepositEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final BigDecimal amount;
    private String failureReason = null;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player who deposited the money.
     * @param island         The island that the money was deposited to.
     * @param amount         The amount that was deposited.
     */
    public IslandBankDepositEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, BigDecimal amount) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.amount = amount;
    }

    /**
     * Get the player who deposited the money.
     * When null, then the console deposited the money using the admin command.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the amount that was deposited.
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * Get the failure reason of the transaction.
     */
    @Nullable
    public String getFailureReason() {
        return failureReason;
    }

    /**
     * Set a failure reason for the transaction.
     *
     * @param failureReason The new failure reason to set.
     */
    public void setFailureReason(@Nullable String failureReason) {
        this.failureReason = failureReason != null && failureReason.isEmpty() ? null : failureReason;
    }

    @Override
    public boolean isCancelled() {
        return this.failureReason != null;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        setFailureReason(cancelled ? "Generic event cancel." : null);
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBankWithdrawEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

import java.math.BigDecimal;

/**
 * IslandBankDepositEvent is called when money is deposited to the bank.
 */
public class IslandBankWithdrawEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final BigDecimal amount;
    private String failureReason = null;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player who withdrawn the money.
     * @param island         The island that the money was withdrawn from.
     * @param amount         The amount that was withdrawn.
     */
    public IslandBankWithdrawEvent(SuperiorPlayer superiorPlayer, Island island, BigDecimal amount) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.amount = amount;
    }

    /**
     * Get the player who withdrawn the money.
     * When null, then the console deposited the money using the admin command.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the amount that was deposited.
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * Get the failure reason of the transaction.
     */
    @Nullable
    public String getFailureReason() {
        return failureReason;
    }

    /**
     * Set a failure reason for the transaction.
     *
     * @param failureReason The new failure reason to set.
     */
    public void setFailureReason(@Nullable String failureReason) {
        this.failureReason = failureReason != null && failureReason.isEmpty() ? null : failureReason;
    }

    @Override
    public boolean isCancelled() {
        return this.failureReason != null;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        setFailureReason(cancelled ? "Generic event cancel." : null);
    }


}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBiomeChangeEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.block.Biome;
import org.bukkit.event.Cancellable;

/**
 * IslandCreateEvent is called when a new island is created.
 */
public class IslandBiomeChangeEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private Biome biome;
    private boolean cancelled = false;

    /**
     * The constructor for the event.
     *
     * @param superiorPlayer The player who changed the biome of the island.
     * @param island         The island object that was changed.
     * @param biome          The name of the new biome.
     */
    public IslandBiomeChangeEvent(SuperiorPlayer superiorPlayer, Island island, Biome biome) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.biome = biome;
    }

    /**
     * Get the player who upgraded the island.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new biome.
     */
    public Biome getBiome() {
        return biome;
    }

    /**
     * Set the new biome.
     */
    public void setBiome(Biome biome) {
        this.biome = biome;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBankLimitEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

import java.math.BigDecimal;

/**
 * IslandChangeBankLimitEvent is called when the bank-limit of the island is changed.
 */
public class IslandChangeBankLimitEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private BigDecimal bankLimit;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the bank limit of the island.
     *                       If set to null, it means the limit was changed by console.
     * @param island         The island that the bank limit was changed for.
     * @param bankLimit      The new bank limit of the island
     */
    public IslandChangeBankLimitEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, BigDecimal bankLimit) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.bankLimit = bankLimit;
    }

    /**
     * Get the player that changed the bank limit of the island.
     * If null, it means the limit was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new bank limit of the island.
     */
    public BigDecimal getBankLimit() {
        return bankLimit;
    }

    /**
     * Set the new bank limit for the island.
     *
     * @param bankLimit The new bank limit to set.
     */
    public void setBankLimit(BigDecimal bankLimit) {
        Preconditions.checkNotNull(bankLimit, "Cannot set the bank limit to null.");
        Preconditions.checkArgument(bankLimit.compareTo(BigDecimal.ZERO) >= 0, "Cannot set the bank limit to a negative limit.");
        this.bankLimit = bankLimit;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBlockLimitEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.key.Key;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeBlockLimitEvent is called when a block-limit of an island is changed.
 */
public class IslandChangeBlockLimitEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final Key block;

    private int blockLimit;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the block limit of an island.
     *                       If set to null, it means the limit was changed via the console.
     * @param island         The island that the block limit was changed for.
     * @param block          The block that the limit was changed for.
     * @param blockLimit     The new block limit of the block
     */
    public IslandChangeBlockLimitEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, Key block, int blockLimit) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.block = block;
        this.blockLimit = blockLimit;
    }

    /**
     * Get the player that changed the block limit.
     * If null, it means the limit was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the block that the limit was changed for.
     */
    public Key getBlock() {
        return block;
    }

    /**
     * Get the new block limit of the block.
     */
    public int getBlockLimit() {
        return blockLimit;
    }

    /**
     * Set the new block limit of the block.
     *
     * @param blockLimit The new block limit to set.
     */
    public void setBlockLimit(int blockLimit) {
        Preconditions.checkArgument(blockLimit >= 0, "Cannot set the block limit to a negative limit.");
        this.blockLimit = blockLimit;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBorderSizeEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeBorderSizeEvent is called when the border-size of the island is changed.
 */
public class IslandChangeBorderSizeEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private int borderSize;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the border size of the island.
     *                       If set to null, it means the limit was changed by console.
     * @param island         The island that the border size was changed for.
     * @param borderSize     The new border size of the island
     */
    public IslandChangeBorderSizeEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, int borderSize) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.borderSize = borderSize;
    }

    /**
     * Get the player that changed the border-size of the island.
     * If null, it means the size was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new border size of the island.
     */
    public int getBorderSize() {
        return borderSize;
    }

    /**
     * Set the new border size for the island.
     *
     * @param borderSize The new border size to set.
     */
    public void setBorderSize(int borderSize) {
        Preconditions.checkArgument(borderSize >= 1, "Cannot set the border size to values lower than 1.");
        this.borderSize = borderSize;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeCoopLimitEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeCoopLimitEvent is called when the coop-limit of the island is changed.
 */
public class IslandChangeCoopLimitEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private int coopLimit;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the coop limit of the island.
     *                       If set to null, it means the limit was changed via the console.
     * @param island         The island that the coop limit was changed for.
     * @param coopLimit      The new coop limit of the island
     */
    public IslandChangeCoopLimitEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, int coopLimit) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.coopLimit = coopLimit;
    }

    /**
     * Get the player that changed the coop limit.
     * If null, it means the limit was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new coop limit of the island.
     */
    public int getCoopLimit() {
        return coopLimit;
    }

    /**
     * Set the new coop limit for the island.
     *
     * @param coopLimit The new coop limit to set.
     */
    public void setCoopLimit(int coopLimit) {
        Preconditions.checkArgument(coopLimit >= 0, "Cannot set the coop limit to a negative limit.");
        this.coopLimit = coopLimit;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeCropGrowthEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeCropGrowthEvent is called when the crop-growth multiplier of the island is changed.
 */
public class IslandChangeCropGrowthEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private double cropGrowth;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the crop-growth multiplier of the island.
     *                       If set to null, it means the crop-growth multiplier was changed via the console.
     * @param island         The island that the crop-growth multiplier was changed for.
     * @param cropGrowth     The new crop-growth multiplier of the island
     */
    public IslandChangeCropGrowthEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, double cropGrowth) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.cropGrowth = cropGrowth;
    }

    /**
     * Get the player that changed the crop-growth multiplier.
     * If null, it means the crop-growth multiplier was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new crop-growth multiplier of the island.
     */
    public double getCropGrowth() {
        return cropGrowth;
    }

    /**
     * Set the new crop-growth multiplier for the island.
     *
     * @param cropGrowth The crop-growth multiplier to set.
     */
    public void setCropGrowth(double cropGrowth) {
        Preconditions.checkArgument(cropGrowth >= 0, "Cannot set the crop growth to a negative multiplier.");
        this.cropGrowth = cropGrowth;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeDescriptionEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeDescriptionEvent is called when an island changes its description.
 */
public class IslandChangeDescriptionEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private String description;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island         The island that its description was changed.
     * @param superiorPlayer The player that changed the description of the island.
     * @param description    The new description of the island.
     */
    public IslandChangeDescriptionEvent(Island island, SuperiorPlayer superiorPlayer, String description) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.description = description;
    }

    /**
     * Get the player that changed the description of the island.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new description of the island.
     */
    public String getDescription() {
        return description;
    }

    /**
     * Set the new description of the island.
     *
     * @param description The new description to set.
     */
    public void setIslandName(String description) {
        Preconditions.checkNotNull(description, "Island descriptions cannot be null.");
        this.description = description;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeDiscordEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeDiscordEvent is called when the discord of the island is changed.
 */
public class IslandChangeDiscordEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;

    private String discord;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the discord of the island.
     * @param island         The island that the discord was changed for.
     * @param discord        The new discord of the island
     */
    public IslandChangeDiscordEvent(SuperiorPlayer superiorPlayer, Island island, String discord) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.discord = discord;
    }

    /**
     * Get the player that changed the discord of the island.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new discord of the island.
     */
    public String getDiscord() {
        return discord;
    }

    /**
     * Set the new discord for the island.
     *
     * @param discord The new discord to set.
     */
    public void setDiscord(String discord) {
        Preconditions.checkNotNull(discord, "Cannot set the discord of the island to null.");
        this.discord = discord;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeEffectLevelEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;
import org.bukkit.potion.PotionEffectType;

/**
 * IslandChangeEffectLevelEvent is called when an effect of an island is changed.
 */
public class IslandChangeEffectLevelEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final PotionEffectType effectType;

    private int effectLevel;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the effect level of an island.
     *                       If set to null, it means the level was changed via the console.
     * @param island         The island that the effect level was changed for.
     * @param effectType     The effect that the level was changed for.
     * @param effectLevel    The new level of the effect.
     */
    public IslandChangeEffectLevelEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, PotionEffectType effectType, int effectLevel) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.effectType = effectType;
        this.effectLevel = effectLevel;
    }

    /**
     * Get the player that changed the effect level.
     * If null, it means the level was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the effect that the level was changed for.
     */
    public PotionEffectType getEffectType() {
        return effectType;
    }

    /**
     * Get the new level of the effect.
     */
    public int getEffectLevel() {
        return effectLevel;
    }

    /**
     * Set the new level of the effect.
     *
     * @param effectLevel The new effect level to set.
     */
    public void setEffectLevel(int effectLevel) {
        Preconditions.checkArgument(effectLevel >= 0, "Cannot set the effect level to a negative level.");
        this.effectLevel = effectLevel;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeEntityLimitEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.key.Key;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeEntityLimitEvent is called when an entity-limit of an island is changed.
 */
public class IslandChangeEntityLimitEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final Key entity;

    private int entityLimit;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the entity limit of an island.
     *                       If set to null, it means the limit was changed via the console.
     * @param island         The island that the entity limit was changed for.
     * @param entity         The entity that the limit was changed for.
     * @param entityLimit    The new entity limit of the entity.
     */
    public IslandChangeEntityLimitEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, Key entity, int entityLimit) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.entity = entity;
        this.entityLimit = entityLimit;
    }

    /**
     * Get the player that changed the entity limit.
     * If null, it means the limit was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the entity that the limit was changed for.
     */
    public Key getEntity() {
        return entity;
    }

    /**
     * Get the new entity limit of the entity.
     */
    public int getEntityLimit() {
        return entityLimit;
    }

    /**
     * Set the new entity limit of the entity..
     *
     * @param entityLimit The new entity limit to set.
     */
    public void setEntityLimit(int entityLimit) {
        Preconditions.checkArgument(entityLimit >= 0, "Cannot set the entity limit to a negative limit.");
        this.entityLimit = entityLimit;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeGeneratorRateEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.key.Key;
import com.bgsoftware.superiorskyblock.api.world.Dimension;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.World;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeGeneratorRateEvent is called when a generator-rate of an island is changed.
 */
public class IslandChangeGeneratorRateEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final Key block;
    private final Dimension dimension;

    private int generatorRate;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the generator-rate of an island.
     *                       If set to null, it means the rate was changed via the console.
     * @param island         The island that the generator-rate was changed for.
     * @param block          The block that the rate was changed for.
     * @param environment    The environment of the world that the rate was changed for.
     * @param generatorRate  The new generator-rate of the block.
     */
    @Deprecated
    public IslandChangeGeneratorRateEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, Key block,
                                          World.Environment environment, int generatorRate) {
        this(superiorPlayer, island, block, Dimension.getByName(environment.name()), generatorRate);
    }

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the generator-rate of an island.
     *                       If set to null, it means the rate was changed via the console.
     * @param island         The island that the generator-rate was changed for.
     * @param block          The block that the rate was changed for.
     * @param dimension      The dimension of the world that the rate was changed for.
     * @param generatorRate  The new generator-rate of the block.
     */
    public IslandChangeGeneratorRateEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, Key block,
                                          Dimension dimension, int generatorRate) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.block = block;
        this.dimension = dimension;
        this.generatorRate = generatorRate;
    }

    /**
     * Get the player that changed the generator-rate.
     * If null, it means the level was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the block that the generator-rate was changed for.
     */
    public Key getBlock() {
        return block;
    }

    /**
     * Get the environment of the world that the rate was changed for.
     */
    @Deprecated
    public World.Environment getEnvironment() {
        return this.dimension.getEnvironment();
    }

    /**
     * Get the environment of the world that the rate was changed for.
     */
    public Dimension getDimension() {
        return this.dimension;
    }

    /**
     * Get the new generator-rate of the block.
     */
    public int getGeneratorRate() {
        return generatorRate;
    }

    /**
     * Set the new generator-rate of the block.
     *
     * @param generatorRate The new generator-rate to set.
     */
    public void setGeneratorRate(int generatorRate) {
        Preconditions.checkArgument(generatorRate >= 0, "Cannot set the generator-rate to a negative rate.");
        this.generatorRate = generatorRate;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeLevelBonusEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

import java.math.BigDecimal;

/**
 * IslandChangeLevelBonusEvent is called when the level-bonus of the island is changed.
 */
public class IslandChangeLevelBonusEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final Reason reason;

    private BigDecimal levelBonus;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the level bonus of the island.
     *                       If set to null, it means the bonus was changed by console.
     * @param island         The island that the level bonus was changed for.
     * @param reason         The reason for changing the level bonus.
     * @param levelBonus     The new level bonus of the island
     */
    public IslandChangeLevelBonusEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, Reason reason, BigDecimal levelBonus) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.reason = reason;
        this.levelBonus = levelBonus;
    }

    /**
     * Get the player that changed the level bonus.
     * If null, it means the bonus was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the reason for changing the level bonus.
     */
    public Reason getReason() {
        return reason;
    }

    /**
     * Get the new level bonus of the island.
     */
    public BigDecimal getLevelBonus() {
        return levelBonus;
    }

    /**
     * Set the new level bonus for the island.
     *
     * @param levelBonus The new level bonus to set.
     */
    public void setLevelBonus(BigDecimal levelBonus) {
        Preconditions.checkNotNull(levelBonus, "Cannot set the level bonus to null.");
        this.levelBonus = levelBonus;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

    /**
     * The reason for changing the level bonus.
     */
    public enum Reason {

        /**
         * The level bonus was changed due to a command by a player or console.
         */
        COMMAND,

        /**
         * The level bonus was changed due to schematic that was placed in the world for the island.
         */
        SCHEMATIC

    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeMembersLimitEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;


/**
 * IslandChangeMembersLimitEvent is called when the members limit of an island is changed.
 */
public class IslandChangeMembersLimitEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private int membersLimit;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the members limit of an island.
     *                       If set to null, it means the limit was changed via the console.
     * @param island         The island that the members limit was changed for.
     * @param membersLimit   The new members limit of an island.
     */
    public IslandChangeMembersLimitEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, int membersLimit) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.membersLimit = membersLimit;
    }

    /**
     * Get the player that changed the members limit.
     * If null, it means the limit was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new members limit of the island.
     */
    public int getMembersLimit() {
        return membersLimit;
    }

    /**
     * Set the new members limit of the island.
     *
     * @param membersLimit The new members limit to set.
     */
    public void setMembersLimit(int membersLimit) {
        Preconditions.checkArgument(membersLimit >= 0, "Cannot set the members limit to a negative limit.");
        this.membersLimit = membersLimit;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeMobDropsEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeMobDropsEvent is called when the mob-drops multiplier of the island is changed.
 */
public class IslandChangeMobDropsEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private double mobDrops;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the mob-drops multiplier of the island.
     *                       If set to null, it means the mob-drops multiplier was changed via the console.
     * @param island         The island that the mob-drops multiplier was changed for.
     * @param mobDrops       The new mob drops of the island
     */
    public IslandChangeMobDropsEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, double mobDrops) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.mobDrops = mobDrops;
    }

    /**
     * Get the player that changed the mob-drops multiplier.
     * If null, it means the mob-drops multiplier was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new mob-drops multiplier of the island.
     */
    public double getMobDrops() {
        return mobDrops;
    }

    /**
     * Set the new mob-drops multiplier for the island.
     *
     * @param mobDrops The mob-drops multiplier to set.
     */
    public void setMobDrops(double mobDrops) {
        Preconditions.checkArgument(mobDrops >= 0, "Cannot set the mob-drops to a negative multiplier.");
        this.mobDrops = mobDrops;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangePaypalEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangePaypalEvent is called when the paypal of the island is changed.
 */
public class IslandChangePaypalEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;

    private String paypal;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the paypal of the island.
     * @param island         The island that the paypal was changed for.
     * @param paypal         The new paypal of the island
     */
    public IslandChangePaypalEvent(SuperiorPlayer superiorPlayer, Island island, String paypal) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.paypal = paypal;
    }

    /**
     * Get the player that changed the paypal of the island.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new paypal of the island.
     */
    public String getPaypal() {
        return paypal;
    }

    /**
     * Set the new paypal for the island.
     *
     * @param paypal The new paypal to set.
     */
    public void setPaypal(String paypal) {
        Preconditions.checkNotNull(paypal, "Cannot set the discord of the island to null.");
        this.paypal = paypal;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangePlayerPrivilegeEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandChangePlayerPrivilegeEvent is called when a privilege is changed for a player on an island.
 */
public class IslandChangePlayerPrivilegeEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final SuperiorPlayer privilegedPlayer;
    private final boolean privilegeEnabled;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island           The island that the privilege was changed in.
     * @param superiorPlayer   The player that changed the privilege to the other player.
     * @param privilegedPlayer The player that the privilege was changed for.
     * @param privilegeEnabled Whether the privilege was enabled or disabled for the player.
     */
    public IslandChangePlayerPrivilegeEvent(Island island, SuperiorPlayer superiorPlayer, SuperiorPlayer privilegedPlayer, boolean privilegeEnabled) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.privilegedPlayer = privilegedPlayer;
        this.privilegeEnabled = privilegeEnabled;
    }

    /**
     * Get the player that changed the privilege to the other player.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the player that the privilege was changed for.
     */
    public SuperiorPlayer getPrivilegedPlayer() {
        return privilegedPlayer;
    }

    /**
     * Check whether the privilege was enabled to {@link #getPrivilegedPlayer()}
     */
    public boolean isPrivilegeEnabled() {
        return privilegeEnabled;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeRoleLimitEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.PlayerRole;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeRoleLimitEvent is called when a role-limit of an island is changed.
 */
public class IslandChangeRoleLimitEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final PlayerRole playerRole;

    private int roleLimit;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the role limit of an island.
     *                       If set to null, it means the limit was changed via the console.
     * @param island         The island that the role limit was changed for.
     * @param playerRole     The role that the limit was changed for.
     * @param roleLimit      The new role limit of the role.
     */
    public IslandChangeRoleLimitEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, PlayerRole playerRole, int roleLimit) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.playerRole = playerRole;
        this.roleLimit = roleLimit;
    }

    /**
     * Get the player that changed the role limit.
     * If null, it means the limit was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the role that the limit was changed for.
     */
    public PlayerRole getPlayerRole() {
        return playerRole;
    }

    /**
     * Get the new role limit of the role.
     */
    public int getRoleLimit() {
        return roleLimit;
    }

    /**
     * Set the new role limit for the role.
     *
     * @param roleLimit The new role limit to set.
     */
    public void setRoleLimit(int roleLimit) {
        Preconditions.checkArgument(roleLimit >= 0, "Cannot set the role limit to a negative limit.");
        this.roleLimit = roleLimit;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeRolePrivilegeEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.PlayerRole;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeRolePrivilegeEvent is called when a privilege is changed for a role on an island.
 */
public class IslandChangeRolePrivilegeEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final PlayerRole playerRole;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island         The island that the privilege was changed in.
     * @param superiorPlayer The player that changed the privilege to the other role.
     *                       If null, the privilege was changed by the console.
     * @param playerRole     The role that the privilege was changed for.
     */
    public IslandChangeRolePrivilegeEvent(Island island, @Nullable SuperiorPlayer superiorPlayer, PlayerRole playerRole) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.playerRole = playerRole;
    }

    /**
     * Get the player that changed the privilege to the other player.
     * If null, the privilege was changed by the console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the role that the privilege was changed for.
     */
    public PlayerRole getPlayerRole() {
        return playerRole;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeSpawnerRatesEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;


/**
 * IslandChangeSpawnerRatesEvent is called when the spawner-rates multiplier of the island is changed.
 */
public class IslandChangeSpawnerRatesEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private double spawnerRates;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the spawner-rates multiplier of the island.
     *                       If set to null, it means the spawner-rates multiplier was changed via the console.
     * @param island         The island that the spawner-rates multiplier was changed for.
     * @param spawnerRates   The new spawner-rates multiplier of the island
     */
    public IslandChangeSpawnerRatesEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, double spawnerRates) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.spawnerRates = spawnerRates;
    }

    /**
     * Get the player that changed the spawner-rates multiplier.
     * If null, it means the spawner-rates multiplier was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new spawner-rates multiplier of the island.
     */
    public double getSpawnerRates() {
        return spawnerRates;
    }

    /**
     * Set the new spawner-rates multiplier for the island.
     *
     * @param spawnerRates The spawner-rates multiplier to set.
     */
    public void setSpawnerRates(double spawnerRates) {
        Preconditions.checkArgument(spawnerRates >= 0, "Cannot set the spawner rate to a negative multiplier.");
        this.spawnerRates = spawnerRates;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpCategoryIconEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.warps.WarpCategory;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;
import org.bukkit.inventory.ItemStack;

/**
 * IslandChangeWarpCategoryIconEvent is called when the icon of a warp-category was changed.
 */
public class IslandChangeWarpCategoryIconEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final WarpCategory warpCategory;

    @Nullable
    private ItemStack icon;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the icon of the warp-category.
     * @param island         The island of the warp-category.
     * @param warpCategory   The warp-category that its icon was changed.
     * @param icon           The new icon of the warp-category.
     *                       If null, default icon will be set.
     */
    public IslandChangeWarpCategoryIconEvent(SuperiorPlayer superiorPlayer, Island island, WarpCategory warpCategory, @Nullable ItemStack icon) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.warpCategory = warpCategory;
        this.icon = icon == null ? null : icon.clone();
    }

    /**
     * Get the player that changed the icon of the warp-category.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the warp-category that its icon was changed.
     */
    public WarpCategory getWarpCategory() {
        return warpCategory;
    }

    /**
     * Get the new icon of the warp-category.
     */
    @Nullable
    public ItemStack getIcon() {
        return icon == null ? null : icon.clone();
    }

    /**
     * Set the new icon for the warp-category.
     * If set to null, default icon will be set.
     *
     * @param icon The new icon to set.
     */
    public void setIcon(@Nullable ItemStack icon) {
        this.icon = icon == null ? null : icon.clone();
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpCategorySlotEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.warps.WarpCategory;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeWarpCategorySlotEvent is called when the slot of a warp-category was changed.
 */
public class IslandChangeWarpCategorySlotEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final WarpCategory warpCategory;
    private final int maxSlot;

    private int slot;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the slot of the warp-category.
     * @param island         The island of the warp-category.
     * @param warpCategory   The warp-category that its slot was changed.
     * @param slot           The new slot of the warp-category.
     * @param maxSlot        The maximum slot that the warp category can occupy.
     */
    public IslandChangeWarpCategorySlotEvent(SuperiorPlayer superiorPlayer, Island island, WarpCategory warpCategory,
                                             int slot, int maxSlot) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.warpCategory = warpCategory;
        this.slot = slot;
        this.maxSlot = maxSlot;
    }

    /**
     * Get the player that changed the slot of the warp-category.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the warp-category that its slot was changed.
     */
    public WarpCategory getWarpCategory() {
        return warpCategory;
    }

    /**
     * Get the new slot of the warp-category.
     */
    public int getSlot() {
        return slot;
    }

    /**
     * Set the new slot for the warp-category.
     *
     * @param slot The new slot to set.
     */
    public void setSlot(int slot) {
        Preconditions.checkArgument(slot < maxSlot, "Cannot set the slot to outside of the inventory space.");
        Preconditions.checkState(island.getWarpCategory(slot) == null, "Cannot change the slot of" +
                " the category to an already existing another category's slot");

        this.slot = slot;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpIconEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.warps.IslandWarp;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;
import org.bukkit.inventory.ItemStack;

/**
 * IslandChangeWarpIconEvent is called when the icon of a warp was changed.
 */
public class IslandChangeWarpIconEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final IslandWarp islandWarp;

    @Nullable
    private ItemStack icon;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the icon of the warp.
     * @param island         The island of the warp.
     * @param islandWarp     The warp that its icon was changed.
     * @param icon           The new icon of the warp.
     *                       If null, default icon will be set.
     */
    public IslandChangeWarpIconEvent(SuperiorPlayer superiorPlayer, Island island, IslandWarp islandWarp, @Nullable ItemStack icon) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.islandWarp = islandWarp;
        this.icon = icon == null ? null : icon.clone();
    }

    /**
     * Get the player that changed the icon of the warp.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the warp that its icon was changed.
     */
    public IslandWarp getIslandWarp() {
        return islandWarp;
    }

    /**
     * Get the new icon of the warp.
     */
    @Nullable
    public ItemStack getIcon() {
        return icon == null ? null : icon.clone();
    }

    /**
     * Set the new icon for the warp.
     * If set to null, default icon will be set.
     *
     * @param icon The new icon to set.
     */
    public void setIcon(@Nullable ItemStack icon) {
        this.icon = icon == null ? null : icon.clone();
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpLocationEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.warps.IslandWarp;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.Location;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeWarpLocationEvent is called when the location of a warp was changed.
 */
public class IslandChangeWarpLocationEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final IslandWarp islandWarp;

    private Location location;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the location of the warp.
     * @param island         The island of the warp.
     * @param islandWarp     The warp that its location was changed.
     * @param location       The new location of the warp.
     */
    public IslandChangeWarpLocationEvent(SuperiorPlayer superiorPlayer, Island island, IslandWarp islandWarp, Location location) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.islandWarp = islandWarp;
        this.location = location.clone();
    }

    /**
     * Get the player that changed the location of the warp.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the warp that its location was changed.
     */
    public IslandWarp getIslandWarp() {
        return islandWarp;
    }

    /**
     * Get the new location of the warp.
     */
    public Location getLocation() {
        return location.clone();
    }

    /**
     * Set the new location for the warp.
     *
     * @param location The new location to set.
     */
    public void setLocation(Location location) {
        Preconditions.checkNotNull(location, "Cannot set warp location to null.");
        Preconditions.checkNotNull(location.getWorld(), "location's world cannot be null.");
        Preconditions.checkState(island.isInsideRange(location), "Warp locations must be inside the island's area.");

        this.location = location.clone();
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpsLimitEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChangeWarpsLimitEvent is called when the warps limit of an island is changed.
 */
public class IslandChangeWarpsLimitEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private int warpsLimit;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the warps limit of an island.
     *                       If set to null, it means the limit was changed via the console.
     * @param island         The island that the warps limit was changed for.
     * @param warpsLimit     The new warps limit of an island.
     */
    public IslandChangeWarpsLimitEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, int warpsLimit) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.warpsLimit = warpsLimit;
    }

    /**
     * Get the player that changed the warps limit.
     * If null, it means the limit was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the new warps limit of the island.
     */
    public int getWarpsLimit() {
        return warpsLimit;
    }

    /**
     * Set the new warps limit of the island.
     *
     * @param warpsLimit The new warps limit to set.
     */
    public void setWarpsLimit(int warpsLimit) {
        Preconditions.checkArgument(warpsLimit >= 0, "Cannot set the warps limit to a negative limit.");
        this.warpsLimit = warpsLimit;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWorthBonusEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

import java.math.BigDecimal;

/**
 * IslandChangeWorthBonusEvent is called when the worth-bonus of the island is changed.
 */
public class IslandChangeWorthBonusEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final Reason reason;

    private BigDecimal worthBonus;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that changed the worth bonus of the island.
     *                       If set to null, it means the bonus was changed by console.
     * @param island         The island that the worth bonus was changed for.
     * @param reason         The reason for changing the worth bonus.
     * @param worthBonus     The new worth bonus of the island
     */
    public IslandChangeWorthBonusEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, Reason reason, BigDecimal worthBonus) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.reason = reason;
        this.worthBonus = worthBonus;
    }

    /**
     * Get the player that changed the worth bonus.
     * If null, it means the bonus was changed by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the reason for changing the worth bonus.
     */
    public Reason getReason() {
        return reason;
    }

    /**
     * Get the new worth bonus of the island.
     */
    public BigDecimal getWorthBonus() {
        return worthBonus;
    }

    /**
     * Set the new worth bonus for the island.
     *
     * @param worthBonus The new worth bonus to set.
     */
    public void setWorthBonus(BigDecimal worthBonus) {
        Preconditions.checkNotNull(worthBonus, "Cannot set the worth bonus to null.");
        this.worthBonus = worthBonus;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

    /**
     * The reason for changing the worth bonus.
     */
    public enum Reason {

        /**
         * The worth bonus was changed due to a command by a player or console.
         */
        COMMAND,

        /**
         * The worth bonus was changed due to schematic that was placed in the world for the island.
         */
        SCHEMATIC

    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChatEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import com.google.common.base.Preconditions;
import org.bukkit.event.Cancellable;

/**
 * IslandChatEvent is called when a player talks in islands chat.
 */
public class IslandChatEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private String message;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island         The island that the player talks in.
     * @param superiorPlayer The player who sent the message.
     * @param message        The message that was sent.
     */
    public IslandChatEvent(Island island, SuperiorPlayer superiorPlayer, String message) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.message = message;
    }

    /**
     * Get the player who banned the other player.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the message that the player sent.
     */
    public String getMessage() {
        return message;
    }

    /**
     * Set a new message that will be sent.
     *
     * @param message The new message to send.
     */
    public void setMessage(String message) {
        Preconditions.checkNotNull(message, "message parameter cannot be null.");
        Preconditions.checkArgument(!message.isEmpty(), "message cannot be empty.");
        this.message = message;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChunkResetEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import org.bukkit.World;

/**
 * IslandChunkResetEvent is called when a chunk is reset inside an island.
 */
public class IslandChunkResetEvent extends IslandEvent {

    private final World world;
    private final int chunkX;
    private final int chunkZ;

    /**
     * The constructor of the event.
     *
     * @param island The island that the chunk was reset in.
     * @param world  The world of the chunk.
     * @param chunkX The x-coords of the chunk.
     * @param chunkZ The z-coords of the chunk.
     */
    public IslandChunkResetEvent(Island island, World world, int chunkX, int chunkZ) {
        super(island);
        this.world = world;
        this.chunkX = chunkX;
        this.chunkZ = chunkZ;
    }

    /**
     * Get the world of the chunk.
     */
    public World getWorld() {
        return world;
    }

    /**
     * Get the x-coords of the chunk.
     */
    public int getChunkX() {
        return chunkX;
    }

    /**
     * Get the z-coords of the chunk.
     */
    public int getChunkZ() {
        return chunkZ;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearFlagsEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandClearFlagsEvent is called when flags are cleared on an island.
 */
public class IslandClearFlagsEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island         The island that the flags were cleared in.
     * @param superiorPlayer The player that cleared the flags, or null if it was done by console.
     */
    public IslandClearFlagsEvent(Island island, @Nullable SuperiorPlayer superiorPlayer) {
        super(island);
        this.superiorPlayer = superiorPlayer;
    }

    /**
     * Get the player that cleared the flags to the island, or null if it was done by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearGeneratorRatesEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.world.Dimension;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.World;
import org.bukkit.event.Cancellable;


/**
 * IslandClearGeneratorRatesEvent is called when clearing generator-rates of an island.
 */
public class IslandClearGeneratorRatesEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final Dimension dimension;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that cleared the generator-rates of an island.
     *                       If set to null, it means the rates were cleared via the console.
     * @param island         The island that the generator-rates were cleared for.
     * @param environment    The environment of the world that the rates were cleared for.
     */
    @Deprecated
    public IslandClearGeneratorRatesEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, World.Environment environment) {
        this(superiorPlayer, island, Dimension.getByName(environment.name()));
    }

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that cleared the generator-rates of an island.
     *                       If set to null, it means the rates were cleared via the console.
     * @param island         The island that the generator-rates were cleared for.
     * @param dimension      The dimension of the world that the rates were cleared for.
     */
    public IslandClearGeneratorRatesEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, Dimension dimension) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.dimension = dimension;
    }

    /**
     * Get the player that cleared the generator-rates.
     * If null, it means the rates were cleared by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the environment of the world that the rates were cleared for.
     */
    @Deprecated
    public World.Environment getEnvironment() {
        return this.dimension.getEnvironment();
    }

    /**
     * Get the environment of the world that the rates were cleared for.
     */
    public Dimension getDimension() {
        return this.dimension;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearPlayerPrivilegesEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandClearPlayerPrivilegesEvent is called when privileges of a player is cleared on an island.
 */
public class IslandClearPlayerPrivilegesEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final SuperiorPlayer privilegedPlayer;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island           The island that the privileges were cleared in.
     * @param superiorPlayer   The player that cleared the privileges to the other player.
     * @param privilegedPlayer The player that the privileges were cleared for.
     */
    public IslandClearPlayerPrivilegesEvent(Island island, SuperiorPlayer superiorPlayer, SuperiorPlayer privilegedPlayer) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.privilegedPlayer = privilegedPlayer;
    }

    /**
     * Get the player that cleared the privileges to the other player.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the player that the privileges were cleared for.
     */
    public SuperiorPlayer getPrivilegedPlayer() {
        return privilegedPlayer;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearRatingsEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;


/**
 * IslandClearRatingsEvent is called when all ratings of an island are cleared.
 */
public class IslandClearRatingsEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that cleared the ratings of the island.
     *                       If null, the ratings were cleared by console.
     * @param island         The island that was cleared from ratings.
     */
    public IslandClearRatingsEvent(@Nullable SuperiorPlayer superiorPlayer, Island island) {
        super(island);
        this.superiorPlayer = superiorPlayer;
    }

    /**
     * Get the player that cleared the ratings of the island.
     * If null, the ratings were cleared by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearRolesPrivilegesEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandClearRolesPrivilegesEvent is called when privileges of roles are cleared on an island.
 */
public class IslandClearRolesPrivilegesEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island         The island that the privileges were cleared in.
     * @param superiorPlayer The player that cleared the privileges, or null if it was done by console.
     */
    public IslandClearRolesPrivilegesEvent(Island island, @Nullable SuperiorPlayer superiorPlayer) {
        super(island);
        this.superiorPlayer = superiorPlayer;
    }

    /**
     * Get the player that cleared the privileges to the island, or null if it was done by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCloseEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandCloseEvent is called when the island is closed for visitors.
 */
public class IslandCloseEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that closed the island.
     *                       If null, then the island was opened by console.
     * @param island         The island that was closed.
     */
    public IslandCloseEvent(@Nullable SuperiorPlayer superiorPlayer, Island island) {
        super(island);
        this.superiorPlayer = superiorPlayer;
    }

    /**
     * Get the player that closed the island.
     * If null, then the island was opened by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCloseWarpEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.warps.IslandWarp;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandCloseWarpEvent is called when closing the warp to the public.
 */
public class IslandCloseWarpEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final IslandWarp islandWarp;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that closed the warp to the public.
     * @param island         The island of the warp.
     * @param islandWarp     The warp that was closed.
     */
    public IslandCloseWarpEvent(SuperiorPlayer superiorPlayer, Island island, IslandWarp islandWarp) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.islandWarp = islandWarp;
    }

    /**
     * Get the player that closed the warp to the public.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the warp that was closed.
     */
    public IslandWarp getIslandWarp() {
        return islandWarp;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCoopPlayerEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandCoopPlayerEvent is called when a player is making another player coop on their island.
 */
public class IslandCoopPlayerEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer player;
    private final SuperiorPlayer target;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island The island that the leadership of it is transferred.
     * @param player The player who cooped the target.
     * @param target The player that will be cooped.
     */
    public IslandCoopPlayerEvent(Island island, SuperiorPlayer player, SuperiorPlayer target) {
        super(island);
        this.player = player;
        this.target = target;
    }

    /**
     * Get the player who cooped the target.
     */
    public SuperiorPlayer getPlayer() {
        return player;
    }

    /**
     * Get the player that will be cooped.
     */
    public SuperiorPlayer getTarget() {
        return target;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandCreateEvent is called when a new island is created.
 */
public class IslandCreateEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final String schematic;
    private boolean teleport;
    private boolean cancelled = false;

    /**
     * The constructor for the event.
     *
     * @param superiorPlayer The player who created the island.
     * @param island         The island object that was created.
     * @deprecated See IslandCreateEvent(SuperiorPlayer, Island, String)
     */
    @Deprecated
    public IslandCreateEvent(SuperiorPlayer superiorPlayer, Island island) {
        this(superiorPlayer, island, "");
    }

    /**
     * The constructor for the event.
     *
     * @param superiorPlayer The player who created the island.
     * @param island         The island object that was created.
     * @param schematic      The schematic that was used.
     */
    public IslandCreateEvent(SuperiorPlayer superiorPlayer, Island island, String schematic) {
        this(superiorPlayer, island, schematic, true);
    }

    /**
     * The constructor for the event.
     *
     * @param superiorPlayer The player who created the island.
     * @param island         The island object that was created.
     * @param schematic      The schematic that was used.
     * @param teleport       Whether the player should be teleported after creation.
     */
    public IslandCreateEvent(SuperiorPlayer superiorPlayer, Island island, String schematic, boolean teleport) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.schematic = schematic;
        this.teleport = teleport;
    }

    /**
     * Get the player who created the island.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the schematic that was used.
     */
    public String getSchematic() {
        return schematic;
    }

    /**
     * Check if the player should get teleported when the process finishes.
     */
    public boolean canTeleport() {
        return teleport;
    }

    /**
     * Set whether or not the player should be teleported to the island when the process finishes.
     */
    public void setTeleport(boolean teleport) {
        this.teleport = teleport;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateWarpCategoryEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandCreateWarpCategoryEvent is called when a new warp-category is created on an island.
 */
public class IslandCreateWarpCategoryEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final String categoryName;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that created the warp-category.
     * @param island         The island that the warp-category was created on.
     * @param categoryName   The name of the new warp-category.
     */
    public IslandCreateWarpCategoryEvent(SuperiorPlayer superiorPlayer, Island island, String categoryName) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.categoryName = categoryName;
    }

    /**
     * Get the player that created the warp-category.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the name of the new warp-category.
     */
    public String getCategoryName() {
        return categoryName;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateWarpEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.warps.WarpCategory;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.Location;
import org.bukkit.event.Cancellable;

/**
 * IslandCreateWarpEvent is called when a new warp is created on an island.
 */
public class IslandCreateWarpEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final String warpName;
    private final Location location;
    private final boolean openToPublic;
    @Nullable
    private final WarpCategory warpCategory;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that created the warp.
     * @param island         The island that the warp was created on.
     * @param warpName       The name of the new warp.
     * @param location       The location of the new warp.
     * @param openToPublic   Whether the island is open to the public.
     * @param warpCategory   The category of the new warp.
     *                       If null, it means the warp will be added to the first found category;
     *                       if no category exists, new one will be created for the warp.
     */
    public IslandCreateWarpEvent(SuperiorPlayer superiorPlayer, Island island, String warpName, Location location,
                                 boolean openToPublic, @Nullable WarpCategory warpCategory) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.warpName = warpName;
        this.location = location.clone();
        this.openToPublic = openToPublic;
        this.warpCategory = warpCategory;
    }

    /**
     * Get the player that created the warp.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the name of the new warp.
     */
    public String getWarpName() {
        return warpName;
    }

    /**
     * Get the location of the new warp.
     */
    public Location getLocation() {
        return location.clone();
    }

    /**
     * Get whether the warp is opened to the public.
     */
    public boolean isOpenToPublic() {
        return openToPublic;
    }

    /**
     * Get the category of the new warp.
     * If null, it means the warp will be added to the first found category;
     * if no category exists, new one will be created for the warp.
     */
    @Nullable
    public WarpCategory getWarpCategory() {
        return warpCategory;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDeleteWarpEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.warps.IslandWarp;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandDeleteWarpEvent is called when a warp is deleted from an island.
 */
public class IslandDeleteWarpEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final IslandWarp islandWarp;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that deleted the warp.
     *                       If null, then the warp was deleted by the console.
     * @param island         The island that the warp was deleted from.
     * @param islandWarp     The warp that was deleted.
     */
    public IslandDeleteWarpEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, IslandWarp islandWarp) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.islandWarp = islandWarp;
    }

    /**
     * Get the player that deleted the warp.
     * If null, then the warp was deleted by the console or not by a command.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the warp that was deleted.
     */
    public IslandWarp getIslandWarp() {
        return islandWarp;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDisableFlagEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.IslandFlag;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandDisableFlagEvent is called when a flag is disabling for an island.
 */
public class IslandDisableFlagEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final IslandFlag islandFlag;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that disabled the island flag for the island.
     *                       If null, the flag was disabled by console.
     * @param island         The island that the flag was disabled for.
     * @param islandFlag     The flag that was disabled.
     */
    public IslandDisableFlagEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, IslandFlag islandFlag) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.islandFlag = islandFlag;
    }

    /**
     * Get the player that disabled the island flag for the island.
     * If null, the flag was disabled by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the flag that was disabled.
     */
    public IslandFlag getIslandFlag() {
        return islandFlag;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDisbandEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandDisbandEvent is called when an island is disbanded.
 */
public class IslandDisbandEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private boolean cancelled = false;

    /**
     * The constructor for the event.
     *
     * @param superiorPlayer The player who proceed the operation.
     * @param island         The island that is being disbanded.
     */
    public IslandDisbandEvent(SuperiorPlayer superiorPlayer, Island island) {
        super(island);
        this.superiorPlayer = superiorPlayer;
    }

    /**
     * Get the player who proceed the operation.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnableFlagEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.island.IslandFlag;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandEnableFlagEvent is called when a flag is enabled for an island.
 */
public class IslandEnableFlagEvent extends IslandEvent implements Cancellable {

    @Nullable
    private final SuperiorPlayer superiorPlayer;
    private final IslandFlag islandFlag;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player that enabled the island flag for the island.
     *                       If null, the flag was enabled by console.
     * @param island         The island that the flag was enabled for.
     * @param islandFlag     The flag that was enabled.
     */
    public IslandEnableFlagEvent(@Nullable SuperiorPlayer superiorPlayer, Island island, IslandFlag islandFlag) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.islandFlag = islandFlag;
    }

    /**
     * Get the player that enabled the island flag for the island.
     * If null, the flag was enabled by console.
     */
    @Nullable
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the flag that was enabled.
     */
    public IslandFlag getIslandFlag() {
        return islandFlag;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.Location;
import org.bukkit.event.Cancellable;

/**
 * IslandEnterEvent is called when a player is walking into an island's area.
 */
public class IslandEnterEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final EnterCause enterCause;
    private boolean cancelled = false;
    private Location cancelTeleport = null;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player who entered to the island's area.
     * @param island         The island that the player entered into.
     * @param enterCause     The cause of entering into the island.
     */
    public IslandEnterEvent(SuperiorPlayer superiorPlayer, Island island, EnterCause enterCause) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.enterCause = enterCause;
    }

    /**
     * Get the player who entered to the island's area.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the cause of entering into the island.
     */
    public EnterCause getCause() {
        return enterCause;
    }

    /**
     * Get the location the player would be teleported if the event is cancelled.
     */
    public Location getCancelTeleport() {
        return cancelTeleport == null ? null : cancelTeleport.clone();
    }

    /**
     * Set the location the player would be teleported if the event is cancelled.
     */
    public void setCancelTeleport(Location cancelTeleport) {
        this.cancelTeleport = cancelTeleport.clone();
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

    /**
     * Used to determine the cause of entering.
     */
    public enum EnterCause {

        PLAYER_MOVE,
        PLAYER_TELEPORT,
        PLAYER_JOIN,
        PORTAL,
        INVALID

    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterPortalEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.common.annotations.Nullable;
import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.schematic.Schematic;
import com.bgsoftware.superiorskyblock.api.world.Dimension;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.PortalType;
import org.bukkit.World;
import org.bukkit.event.Cancellable;

/**
 * IslandEnterPortalEvent is called when a player enters a portal on an island.
 */
public class IslandEnterPortalEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final PortalType portalType;
    private Dimension destination;
    @Nullable
    private Schematic schematic;
    private boolean ignoreInvalidSchematic;

    private boolean cancelled = false;

    /**
     * Constructor of the event
     *
     * @param island                 The island that the player entered the portal at.
     * @param superiorPlayer         The player that entered the portal.
     * @param portalType             The type of the portal used.
     * @param destination            The destination of the portal.
     * @param schematic              The schematic to be placed, if exists.
     * @param ignoreInvalidSchematic Whether to ignore invalid schematics.
     */
    @Deprecated
    public IslandEnterPortalEvent(Island island, SuperiorPlayer superiorPlayer, PortalType portalType,
                                  World.Environment destination, @Nullable Schematic schematic,
                                  boolean ignoreInvalidSchematic) {
        this(island, superiorPlayer, portalType, Dimension.getByName(destination.name()),
                schematic, ignoreInvalidSchematic);
    }

    /**
     * Constructor of the event
     *
     * @param island                 The island that the player entered the portal at.
     * @param superiorPlayer         The player that entered the portal.
     * @param portalType             The type of the portal used.
     * @param destination            The destination of the portal.
     * @param schematic              The schematic to be placed, if exists.
     * @param ignoreInvalidSchematic Whether to ignore invalid schematics.
     */
    public IslandEnterPortalEvent(Island island, SuperiorPlayer superiorPlayer, PortalType portalType,
                                  Dimension destination, @Nullable Schematic schematic,
                                  boolean ignoreInvalidSchematic) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.portalType = portalType;
        this.destination = destination;
        this.schematic = schematic;
        this.ignoreInvalidSchematic = ignoreInvalidSchematic;
    }

    /**
     * Get the player that entered the portal.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPlayer;
    }

    /**
     * Get the type of the portal.
     */
    public PortalType getPortalType() {
        return portalType;
    }

    /**
     * Get the destination world of the portal.
     */
    @Deprecated
    public World.Environment getDestination() {
        return this.destination.getEnvironment();
    }

    /**
     * Get the destination world of the portal.
     */
    public Dimension getDestinationDimension() {
        return destination;
    }

    /**
     * Set the destination of the teleportation.
     *
     * @param destination The destination to set.
     */
    @Deprecated
    public void setDestination(World.Environment destination) {
        this.setDestination(Dimension.getByName(destination.name()));
    }

    /**
     * Set the destination of the teleportation.
     *
     * @param destination The destination to set.
     */
    public void setDestination(Dimension destination) {
        this.destination = destination;
    }

    /**
     * Get the schematic that will be placed before teleporting.
     *
     * @return The schematic that will be placed, or null if no schematic should be placed.
     */
    @Nullable
    public Schematic getSchematic() {
        return schematic;
    }

    /**
     * Set the schematic that will be placed.
     * Warning: If a schematic was already been placed and you set this to non-null, a new schematic will be placed
     * on top of the already blocks.
     *
     * @param schematic The schematic to be placed.
     *                  If null, no schematic will be used and {@link #isIgnoreInvalidSchematic()} will be set to true.
     */
    public void setSchematic(@Nullable Schematic schematic) {
        this.schematic = schematic;
        if (schematic == null)
            setIgnoreInvalidSchematic(true);
    }

    /**
     * Check whether the plugin should not send a warning if {@link #getSchematic()} is null.
     */
    public boolean isIgnoreInvalidSchematic() {
        return ignoreInvalidSchematic;
    }

    /**
     * Set whether the plugin should send a warning to the player if {@link #getSchematic()} is null.
     *
     * @param ignoreInvalidSchematic Whether to send a warning or not.
     */
    public void setIgnoreInvalidSchematic(boolean ignoreInvalidSchematic) {
        this.ignoreInvalidSchematic = ignoreInvalidSchematic;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterProtectedEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.HandlerList;

/**
 * IslandEnterProtectedEvent is called when a player is walking into an island's protected area.
 * The protected area is the area that players can build in.
 */
public class IslandEnterProtectedEvent extends IslandEnterEvent {

    private static final HandlerList handlers = new HandlerList();

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param superiorPlayer The player who entered to the island's area.
     * @param island         The island that the player entered into.
     * @param enterCause     The cause of entering into the island.
     */
    public IslandEnterProtectedEvent(SuperiorPlayer superiorPlayer, Island island, EnterCause enterCause) {
        super(superiorPlayer, island, enterCause);
    }

    public static HandlerList getHandlerList() {
        return handlers;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

    @Override
    public HandlerList getHandlers() {
        return handlers;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import org.bukkit.Bukkit;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;

/**
 * All the island events extend IslandEvent.
 */
public abstract class IslandEvent extends Event {

    private static final HandlerList handlers = new HandlerList();

    protected final Island island;

    /**
     * The constructor for the event.
     *
     * @param island The island object that was involved in the event.
     */
    public IslandEvent(Island island) {
        super(!Bukkit.isPrimaryThread());
        this.island = island;
    }

    public static HandlerList getHandlerList() {
        return handlers;
    }

    /**
     * Get the island that was involved in the event.
     */
    public Island getIsland() {
        return island;
    }

    @Override
    public HandlerList getHandlers() {
        return handlers;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandGenerateBlockEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.key.Key;
import com.google.common.base.Preconditions;
import org.bukkit.Location;
import org.bukkit.event.Cancellable;

/**
 * IslandGenerateBlockEvent is called when a cobblestone generator generates a block.
 */
public class IslandGenerateBlockEvent extends IslandEvent implements Cancellable {

    private final Location location;

    private Key block;
    private boolean placeBlock = true;

    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island   The island that the block was generated in.
     * @param location The location of the generated block.
     * @param block    The block that was generated.
     */
    public IslandGenerateBlockEvent(Island island, Location location, Key block) {
        super(island);
        this.block = block;
        this.location = location.clone();
    }

    /**
     * Get the location of the block.
     */
    public Location getLocation() {
        return location.clone();
    }

    /**
     * Get the block that was generated.
     */
    public Key getBlock() {
        return block;
    }

    /**
     * Set the block to be generated.
     *
     * @param block The new block.
     */
    public void setBlock(Key block) {
        Preconditions.checkNotNull(block, "Cannot set block to null.");
        this.block = block;
    }

    /**
     * Check whether the generated block should be set manually in the world.
     */
    public boolean isPlaceBlock() {
        return placeBlock;
    }

    /**
     * Set whether the generated block should be set manually in the world.
     */
    public void setPlaceBlock(boolean placeBlock) {
        this.placeBlock = placeBlock;
    }

    @Override
    public boolean isCancelled() {
        return cancelled;
    }

    @Override
    public void setCancelled(boolean cancelled) {
        this.cancelled = cancelled;
    }

}


================================================
FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandHomeTeleportEvent.java
================================================
package com.bgsoftware.superiorskyblock.api.events;

import com.bgsoftware.superiorskyblock.api.island.Island;
import com.bgsoftware.superiorskyblock.api.world.Dimension;
import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;
import org.bukkit.event.Cancellable;

/**
 * IslandHomeTeleportEvent is called when a player teleports to island home.
 */
public class IslandHomeTeleportEvent extends IslandEvent implements Cancellable {

    private final SuperiorPlayer superiorPlayer;
    private final Dimension dimension;
    private boolean cancelled = false;

    /**
     * The constructor of the event.
     *
     * @param island         The island that the player teleports to.
     * @param superiorPlayer The player who teleports to the island home.
     * @param dimension      The dimension that the player teleports to.
     */
    public IslandHomeTeleportEvent(Island island, SuperiorPlayer superiorPlayer, Dimension dimension) {
        super(island);
        this.superiorPlayer = superiorPlayer;
        this.dimension = dimension;
    }

    /**
     * Get the player who teleports to the island home.
     */
    public SuperiorPlayer getPlayer() {
        return superiorPl
Download .txt
gitextract_b7lsuvt_/

├── .claudeignore
├── .gitattributes
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug-report.yaml
│   │   └── config.yml
│   └── workflows/
│       └── gemini.yml
├── .gitignore
├── API/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── bgsoftware/
│                       └── superiorskyblock/
│                           └── api/
│                               ├── SuperiorSkyblock.java
│                               ├── SuperiorSkyblockAPI.java
│                               ├── commands/
│                               │   └── SuperiorCommand.java
│                               ├── config/
│                               │   └── SettingsManager.java
│                               ├── data/
│                               │   ├── DatabaseBridge.java
│                               │   ├── DatabaseBridgeMode.java
│                               │   ├── DatabaseFilter.java
│                               │   └── IDatabaseBridgeHolder.java
│                               ├── entity/
│                               │   └── EntityCategory.java
│                               ├── enums/
│                               │   ├── BankAction.java
│                               │   ├── BorderColor.java
│                               │   ├── HitActionResult.java
│                               │   ├── MemberRemoveReason.java
│                               │   ├── Rating.java
│                               │   ├── SyncStatus.java
│                               │   └── TopIslandMembersSorting.java
│                               ├── events/
│                               │   ├── AttemptPlayerSendMessageEvent.java
│                               │   ├── BlockStackEvent.java
│                               │   ├── BlockUnstackEvent.java
│                               │   ├── IslandBanEvent.java
│                               │   ├── IslandBankDepositEvent.java
│                               │   ├── IslandBankWithdrawEvent.java
│                               │   ├── IslandBiomeChangeEvent.java
│                               │   ├── IslandChangeBankLimitEvent.java
│                               │   ├── IslandChangeBlockLimitEvent.java
│                               │   ├── IslandChangeBorderSizeEvent.java
│                               │   ├── IslandChangeCoopLimitEvent.java
│                               │   ├── IslandChangeCropGrowthEvent.java
│                               │   ├── IslandChangeDescriptionEvent.java
│                               │   ├── IslandChangeDiscordEvent.java
│                               │   ├── IslandChangeEffectLevelEvent.java
│                               │   ├── IslandChangeEntityLimitEvent.java
│                               │   ├── IslandChangeGeneratorRateEvent.java
│                               │   ├── IslandChangeLevelBonusEvent.java
│                               │   ├── IslandChangeMembersLimitEvent.java
│                               │   ├── IslandChangeMobDropsEvent.java
│                               │   ├── IslandChangePaypalEvent.java
│                               │   ├── IslandChangePlayerPrivilegeEvent.java
│                               │   ├── IslandChangeRoleLimitEvent.java
│                               │   ├── IslandChangeRolePrivilegeEvent.java
│                               │   ├── IslandChangeSpawnerRatesEvent.java
│                               │   ├── IslandChangeWarpCategoryIconEvent.java
│                               │   ├── IslandChangeWarpCategorySlotEvent.java
│                               │   ├── IslandChangeWarpIconEvent.java
│                               │   ├── IslandChangeWarpLocationEvent.java
│                               │   ├── IslandChangeWarpsLimitEvent.java
│                               │   ├── IslandChangeWorthBonusEvent.java
│                               │   ├── IslandChatEvent.java
│                               │   ├── IslandChunkResetEvent.java
│                               │   ├── IslandClearFlagsEvent.java
│                               │   ├── IslandClearGeneratorRatesEvent.java
│                               │   ├── IslandClearPlayerPrivilegesEvent.java
│                               │   ├── IslandClearRatingsEvent.java
│                               │   ├── IslandClearRolesPrivilegesEvent.java
│                               │   ├── IslandCloseEvent.java
│                               │   ├── IslandCloseWarpEvent.java
│                               │   ├── IslandCoopPlayerEvent.java
│                               │   ├── IslandCreateEvent.java
│                               │   ├── IslandCreateWarpCategoryEvent.java
│                               │   ├── IslandCreateWarpEvent.java
│                               │   ├── IslandDeleteWarpEvent.java
│                               │   ├── IslandDisableFlagEvent.java
│                               │   ├── IslandDisbandEvent.java
│                               │   ├── IslandEnableFlagEvent.java
│                               │   ├── IslandEnterEvent.java
│                               │   ├── IslandEnterPortalEvent.java
│                               │   ├── IslandEnterProtectedEvent.java
│                               │   ├── IslandEvent.java
│                               │   ├── IslandGenerateBlockEvent.java
│                               │   ├── IslandHomeTeleportEvent.java
│                               │   ├── IslandInviteEvent.java
│                               │   ├── IslandJoinEvent.java
│                               │   ├── IslandKickEvent.java
│                               │   ├── IslandLeaveEvent.java
│                               │   ├── IslandLeaveProtectedEvent.java
│                               │   ├── IslandLockWorldEvent.java
│                               │   ├── IslandOpenEvent.java
│                               │   ├── IslandOpenWarpEvent.java
│                               │   ├── IslandQuitEvent.java
│                               │   ├── IslandRateEvent.java
│                               │   ├── IslandRemoveBlockLimitEvent.java
│                               │   ├── IslandRemoveEffectEvent.java
│                               │   ├── IslandRemoveEntityLimitEvent.java
│                               │   ├── IslandRemoveGeneratorRateEvent.java
│                               │   ├── IslandRemoveRatingEvent.java
│                               │   ├── IslandRemoveRoleLimitEvent.java
│                               │   ├── IslandRemoveVisitorHomeEvent.java
│                               │   ├── IslandRenameEvent.java
│                               │   ├── IslandRenameWarpCategoryEvent.java
│                               │   ├── IslandRenameWarpEvent.java
│                               │   ├── IslandRestrictMoveEvent.java
│                               │   ├── IslandSchematicPasteEvent.java
│                               │   ├── IslandSetHomeEvent.java
│                               │   ├── IslandSetVisitorHomeEvent.java
│                               │   ├── IslandTransferEvent.java
│                               │   ├── IslandUnbanEvent.java
│                               │   ├── IslandUncoopPlayerEvent.java
│                               │   ├── IslandUnlockWorldEvent.java
│                               │   ├── IslandUpgradeEvent.java
│                               │   ├── IslandVisitorHomeTeleportEvent.java
│                               │   ├── IslandWarpTeleportEvent.java
│                               │   ├── IslandWorldResetEvent.java
│                               │   ├── IslandWorthCalculatedEvent.java
│                               │   ├── IslandWorthUpdateEvent.java
│                               │   ├── MissionCompleteEvent.java
│                               │   ├── MissionResetEvent.java
│                               │   ├── PlayerChangeBorderColorEvent.java
│                               │   ├── PlayerChangeLanguageEvent.java
│                               │   ├── PlayerChangeNameEvent.java
│                               │   ├── PlayerChangeRoleEvent.java
│                               │   ├── PlayerCloseMenuEvent.java
│                               │   ├── PlayerOpenMenuEvent.java
│                               │   ├── PlayerReplaceEvent.java
│                               │   ├── PlayerToggleBlocksStackerEvent.java
│                               │   ├── PlayerToggleBorderEvent.java
│                               │   ├── PlayerToggleBypassEvent.java
│                               │   ├── PlayerToggleFlyEvent.java
│                               │   ├── PlayerTogglePanelEvent.java
│                               │   ├── PlayerToggleSpyEvent.java
│                               │   ├── PlayerToggleTeamChatEvent.java
│                               │   ├── PluginInitializeEvent.java
│                               │   ├── PluginInitializedEvent.java
│                               │   ├── PluginLoadDataEvent.java
│                               │   ├── PostIslandCreateEvent.java
│                               │   ├── PreIslandCreateEvent.java
│                               │   └── SendMessageEvent.java
│                               ├── factory/
│                               │   ├── BanksFactory.java
│                               │   ├── DatabaseBridgeFactory.java
│                               │   ├── DelegateBanksFactory.java
│                               │   ├── DelegateDatabaseBridgeFactory.java
│                               │   ├── DelegateIslandsFactory.java
│                               │   ├── DelegatePlayersFactory.java
│                               │   ├── IslandsFactory.java
│                               │   └── PlayersFactory.java
│                               ├── handlers/
│                               │   ├── BlockValuesManager.java
│                               │   ├── CommandsManager.java
│                               │   ├── FactoriesManager.java
│                               │   ├── GridManager.java
│                               │   ├── KeysManager.java
│                               │   ├── MenusManager.java
│                               │   ├── MissionsManager.java
│                               │   ├── ModulesManager.java
│                               │   ├── PlayersManager.java
│                               │   ├── ProvidersManager.java
│                               │   ├── RolesManager.java
│                               │   ├── SchematicManager.java
│                               │   ├── StackedBlocksManager.java
│                               │   └── UpgradesManager.java
│                               ├── hooks/
│                               │   ├── AFKProvider.java
│                               │   ├── ChunksProvider.java
│                               │   ├── EconomyProvider.java
│                               │   ├── EntitiesProvider.java
│                               │   ├── LazyWorldsProvider.java
│                               │   ├── MenusProvider.java
│                               │   ├── PermissionsProvider.java
│                               │   ├── PricesProvider.java
│                               │   ├── SpawnersProvider.java
│                               │   ├── SpawnersSnapshotProvider.java
│                               │   ├── StackedBlocksProvider.java
│                               │   ├── StackedBlocksSnapshotProvider.java
│                               │   ├── VanishProvider.java
│                               │   ├── WorldsProvider.java
│                               │   ├── listener/
│                               │   │   ├── ISkinsListener.java
│                               │   │   ├── IStackedBlocksListener.java
│                               │   │   ├── IWorldLoadListener.java
│                               │   │   └── IWorldsListener.java
│                               │   └── world/
│                               │       └── WorldLoadFlags.java
│                               ├── island/
│                               │   ├── BlockChangeResult.java
│                               │   ├── DelegateIsland.java
│                               │   ├── DelegateIslandChest.java
│                               │   ├── DelegateIslandPreview.java
│                               │   ├── DelegatePermissionNode.java
│                               │   ├── Island.java
│                               │   ├── IslandBlockFlags.java
│                               │   ├── IslandChest.java
│                               │   ├── IslandChunkFlags.java
│                               │   ├── IslandFlag.java
│                               │   ├── IslandPreview.java
│                               │   ├── IslandPrivilege.java
│                               │   ├── PermissionNode.java
│                               │   ├── PlayerRole.java
│                               │   ├── SortingType.java
│                               │   ├── algorithms/
│                               │   │   ├── DelegateIslandBlocksTrackerAlgorithm.java
│                               │   │   ├── DelegateIslandCalculationAlgorithm.java
│                               │   │   ├── DelegateIslandEntitiesTrackerAlgorithm.java
│                               │   │   ├── IslandBlocksTrackerAlgorithm.java
│                               │   │   ├── IslandCalculationAlgorithm.java
│                               │   │   └── IslandEntitiesTrackerAlgorithm.java
│                               │   ├── bank/
│                               │   │   ├── BankTransaction.java
│                               │   │   ├── DelegateBankTransaction.java
│                               │   │   ├── DelegateIslandBank.java
│                               │   │   └── IslandBank.java
│                               │   ├── cache/
│                               │   │   ├── IslandCache.java
│                               │   │   └── IslandCacheKey.java
│                               │   ├── container/
│                               │   │   ├── DelegateIslandsContainer.java
│                               │   │   └── IslandsContainer.java
│                               │   └── warps/
│                               │       ├── DelegateIslandWarp.java
│                               │       ├── DelegateWarpCategory.java
│                               │       ├── IslandWarp.java
│                               │       └── WarpCategory.java
│                               ├── key/
│                               │   ├── CustomKeyParser.java
│                               │   ├── Key.java
│                               │   ├── KeyMap.java
│                               │   └── KeySet.java
│                               ├── menu/
│                               │   ├── BaseMenu.java
│                               │   ├── ISuperiorMenu.java
│                               │   ├── Menu.java
│                               │   ├── MenuCommands.java
│                               │   ├── MenuIslandCreationConfig.java
│                               │   ├── PagedMenu.java
│                               │   ├── button/
│                               │   │   ├── MenuTemplateButton.java
│                               │   │   ├── MenuViewButton.java
│                               │   │   ├── PagedMenuTemplateButton.java
│                               │   │   └── PagedMenuViewButton.java
│                               │   ├── layout/
│                               │   │   ├── MenuLayout.java
│                               │   │   └── PagedMenuLayout.java
│                               │   ├── parser/
│                               │   │   ├── MenuParseException.java
│                               │   │   └── MenuParser.java
│                               │   └── view/
│                               │       ├── BaseMenuView.java
│                               │       ├── BasePagedMenuView.java
│                               │       ├── MenuView.java
│                               │       ├── PagedMenuView.java
│                               │       └── ViewArgs.java
│                               ├── missions/
│                               │   ├── IMissionsHolder.java
│                               │   ├── Mission.java
│                               │   ├── MissionCategory.java
│                               │   └── MissionLoadException.java
│                               ├── modules/
│                               │   ├── ModuleInitializeData.java
│                               │   ├── ModuleLoadTime.java
│                               │   ├── ModuleLogger.java
│                               │   ├── ModuleResources.java
│                               │   └── PluginModule.java
│                               ├── objects/
│                               │   ├── Enumerable.java
│                               │   └── Pair.java
│                               ├── persistence/
│                               │   ├── DelegatePersistentDataContainer.java
│                               │   ├── IPersistentDataHolder.java
│                               │   ├── PersistentDataContainer.java
│                               │   ├── PersistentDataType.java
│                               │   └── PersistentDataTypeContext.java
│                               ├── platform/
│                               │   └── IEventsDispatcher.java
│                               ├── player/
│                               │   ├── DelegateSuperiorPlayer.java
│                               │   ├── PlayerStatus.java
│                               │   ├── algorithm/
│                               │   │   ├── DelegatePlayerTeleportAlgorithm.java
│                               │   │   └── PlayerTeleportAlgorithm.java
│                               │   ├── cache/
│                               │   │   ├── PlayerCache.java
│                               │   │   └── PlayerCacheKey.java
│                               │   ├── container/
│                               │   │   ├── DelegatePlayersContainer.java
│                               │   │   └── PlayersContainer.java
│                               │   ├── inventory/
│                               │   │   └── ClearAction.java
│                               │   └── respawn/
│                               │       └── RespawnAction.java
│                               ├── schematic/
│                               │   ├── Schematic.java
│                               │   ├── SchematicOptions.java
│                               │   └── parser/
│                               │       ├── SchematicParseException.java
│                               │       └── SchematicParser.java
│                               ├── scripts/
│                               │   └── IScriptEngine.java
│                               ├── service/
│                               │   ├── bossbar/
│                               │   │   ├── BossBar.java
│                               │   │   └── BossBarsService.java
│                               │   ├── dragon/
│                               │   │   ├── DragonBattleResetResult.java
│                               │   │   └── DragonBattleService.java
│                               │   ├── hologram/
│                               │   │   ├── Hologram.java
│                               │   │   └── HologramsService.java
│                               │   ├── message/
│                               │   │   ├── IMessageComponent.java
│                               │   │   └── MessagesService.java
│                               │   ├── placeholders/
│                               │   │   ├── IslandPlaceholderParser.java
│                               │   │   ├── PlaceholdersService.java
│                               │   │   └── PlayerPlaceholderParser.java
│                               │   ├── portals/
│                               │   │   ├── EntityPortalResult.java
│                               │   │   └── PortalsManagerService.java
│                               │   ├── region/
│                               │   │   ├── InteractionResult.java
│                               │   │   ├── MoveResult.java
│                               │   │   └── RegionManagerService.java
│                               │   ├── stackedblocks/
│                               │   │   ├── InteractionResult.java
│                               │   │   └── StackedBlocksInteractionService.java
│                               │   └── world/
│                               │       ├── RecordResult.java
│                               │       ├── WorldRecordFlags.java
│                               │       └── WorldRecordService.java
│                               ├── upgrades/
│                               │   ├── Upgrade.java
│                               │   ├── UpgradeLevel.java
│                               │   └── cost/
│                               │       ├── UpgradeCost.java
│                               │       ├── UpgradeCostLoadException.java
│                               │       └── UpgradeCostLoader.java
│                               ├── world/
│                               │   ├── Dimension.java
│                               │   ├── GameSound.java
│                               │   ├── WorldInfo.java
│                               │   └── algorithm/
│                               │       ├── DelegateIslandCreationAlgorithm.java
│                               │       └── IslandCreationAlgorithm.java
│                               └── wrappers/
│                                   ├── BlockOffset.java
│                                   ├── BlockPosition.java
│                                   ├── SuperiorPlayer.java
│                                   └── WorldPosition.java
├── Hooks/
│   ├── AdvancedSlimePaper/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── AdvancedSlimePaperHook.java
│   ├── AdvancedSpawners/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_AdvancedSpawners.java
│   ├── CMI/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── afk/
│   │                               │   └── AFKProvider_CMI.java
│   │                               └── vanish/
│   │                                   └── VanishProvider_CMI.java
│   ├── CandcSilkSpawners/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_CandcSilkSpawners.java
│   ├── ChangeSkin/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── ChangeSkinHook.java
│   ├── CoreProtect/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── CoreProtectHook.java
│   ├── CraftEngine/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── CraftEngineHook.java
│   ├── EpicSpawners6/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_EpicSpawners6.java
│   ├── EpicSpawners7/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_EpicSpawners7.java
│   ├── EpicSpawners8/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_EpicSpawners8.java
│   ├── EpicSpawners9/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_EpicSpawners9.java
│   ├── Essentials/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── afk/
│   │                               │   └── AFKProvider_Essentials.java
│   │                               └── vanish/
│   │                                   └── VanishProvider_Essentials.java
│   ├── FastAsyncWorldEdit/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── world/
│   │                               └── schematic/
│   │                                   ├── impl/
│   │                                   │   └── WorldEditSchematic.java
│   │                                   └── parser/
│   │                                       └── FAWESchematicParser.java
│   ├── ItemsAdder/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── ItemsAdderHook.java
│   ├── JetsMinions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── JetsMinionsHook.java
│   ├── LuckPerms/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── permissions/
│   │                                   └── PermissionsProvider_LuckPerms.java
│   ├── MVdWPlaceholderAPI/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── placeholders/
│   │                                   └── PlaceholdersProvider_MVdWPlaceholderAPI.java
│   ├── MergedSpawner/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_MergedSpawner.java
│   ├── MiniMessage/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── MiniMessageHook.java
│   ├── Nexo/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── NexoHook.java
│   ├── OpenJdkNashornEngine/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── core/
│   │                               └── engine/
│   │                                   └── OpenJdkNashornEngine.java
│   ├── Oraxen/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── OraxenHook.java
│   ├── PaperMC/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── async/
│   │                               │   └── AsyncProvider_Paper.java
│   │                               ├── chunks/
│   │                               │   └── ChunksProvider_Paper.java
│   │                               └── remapper/
│   │                                   └── PluginRemapperFilesLookupProvider.java
│   ├── PlaceholderAPI/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── placeholders/
│   │                                   └── PlaceholdersProvider_PlaceholderAPI.java
│   ├── Plan/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── PlanHook.java
│   ├── ProtocolLib/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── ProtocolLibHook.java
│   ├── PvpingSpawners/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_PvpingSpawners.java
│   ├── RoseStacker/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── entities/
│   │                               │   └── EntitiesProvider_RoseStacker.java
│   │                               ├── spawners/
│   │                               │   └── SpawnersProvider_RoseStacker.java
│   │                               └── stackedblocks/
│   │                                   └── StackedBlocksProvider_RoseStacker.java
│   ├── SkinsRestorer/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SkinsRestorerHook.java
│   ├── SkinsRestorer14/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SkinsRestorer14Hook.java
│   ├── SkinsRestorer15/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SkinsRestorer15Hook.java
│   ├── SlimeWorldManager/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SlimeWorldManagerHook.java
│   ├── Slimefun/
│   │   ├── ProtectionModule_Dev999/
│   │   │   ├── build.gradle
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── com/
│   │   │                   └── bgsoftware/
│   │   │                       └── superiorskyblock/
│   │   │                           └── external/
│   │   │                               └── slimefun/
│   │   │                                   └── ProtectionModule_Dev999.java
│   │   ├── ProtectionModule_RC13/
│   │   │   ├── build.gradle
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── com/
│   │   │                   └── bgsoftware/
│   │   │                       └── superiorskyblock/
│   │   │                           └── external/
│   │   │                               └── slimefun/
│   │   │                                   └── ProtectionModule_RC13.java
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SlimefunHook.java
│   ├── SmoothTimber/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── SmoothTimberHook.java
│   ├── SuperVanish/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── vanish/
│   │                                   └── VanishProvider_SuperVanish.java
│   ├── TimbruSilkSpawners/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               ├── TimbruSilkSpawnersHook.java
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_TimbruSilkSpawners.java
│   ├── UltimateStacker/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_UltimateStacker.java
│   ├── UltimateStacker3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_UltimateStacker3.java
│   ├── UltimateStacker4/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── spawners/
│   │                                   └── SpawnersProvider_UltimateStacker4.java
│   ├── VanishNoPacket/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── vanish/
│   │                                   └── VanishProvider_VanishNoPacket.java
│   ├── Vault/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── external/
│   │                               └── economy/
│   │                                   └── EconomyProvider_Vault.java
│   ├── WildStacker/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           ├── external/
│   │                           │   ├── WildStackerSnapshotsContainer.java
│   │                           │   ├── spawners/
│   │                           │   │   └── SpawnersProvider_WildStacker.java
│   │                           │   └── stackedblocks/
│   │                           │       └── StackedBlocksProvider_WildStacker.java
│   │                           └── module/
│   │                               └── upgrades/
│   │                                   └── listeners/
│   │                                       └── WildStackerListener.java
│   └── build.gradle
├── LICENSE
├── Missions/
│   ├── BlocksMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               ├── BlocksMissions.java
│   │                               └── blocks/
│   │                                   ├── BlocksTracker.java
│   │                                   ├── BlocksTrackingComponent.java
│   │                                   ├── ChunkBitSet.java
│   │                                   └── TrackedBlocksData.java
│   ├── BrewingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── BrewingMissions.java
│   ├── CraftingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── CraftingMissions.java
│   ├── EnchantingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── EnchantingMissions.java
│   ├── FarmingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               ├── FarmingMissions.java
│   │                               └── farming/
│   │                                   ├── PlantType.java
│   │                                   ├── PlantsTracker.java
│   │                                   ├── PlantsTrackingComponent.java
│   │                                   └── TrackedPlantsData.java
│   ├── FishingMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── FishingMissions.java
│   ├── IslandMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               ├── IslandMissions.java
│   │                               └── island/
│   │                                   ├── DynamicRegisteredListener.java
│   │                                   ├── EventsHelper.java
│   │                                   └── timings/
│   │                                       ├── DummyTimings.java
│   │                                       ├── ITimings.java
│   │                                       ├── LegacyTimingsWrapper.java
│   │                                       └── TimingsWrapper.java
│   ├── ItemsMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── ItemsMissions.java
│   ├── KillsMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── KillsMissions.java
│   ├── StatisticsMissions/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── missions/
│   │                               └── StatisticsMissions.java
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── bgsoftware/
│                       └── superiorskyblock/
│                           └── missions/
│                               └── common/
│                                   ├── BuiltinMission.java
│                                   ├── Placeholders.java
│                                   ├── requirements/
│                                   │   ├── CustomRequirements.java
│                                   │   ├── IRequirements.java
│                                   │   ├── KeyRequirements.java
│                                   │   ├── Requirements.java
│                                   │   └── RequirementsAbstract.java
│                                   └── tracker/
│                                       ├── DataTracker.java
│                                       ├── KeyDataTracker.java
│                                       └── RawDataTracker.java
├── NMS/
│   ├── Paper/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── algorithms/
│   │                                   └── PaperGlowEnchantment.java
│   ├── Paper-1_20_3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_20_3/
│   │                                   └── algorithms/
│   │                                       └── PaperGlowEnchantment.java
│   ├── Spigot/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── algorithms/
│   │                                   ├── NMSCachedBlock.java
│   │                                   └── SpigotGlowEnchantment.java
│   ├── Spigot-1_20_3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_20_3/
│   │                                   └── algorithms/
│   │                                       ├── NMSCachedBlock.java
│   │                                       └── SpigotGlowEnchantment.java
│   ├── build.gradle
│   ├── src/
│   │   └── main/
│   │       └── templates/
│   │           ├── AbstractNMSAlgorithms.java.template
│   │           ├── AbstractNMSChunks.java.template
│   │           ├── AbstractNMSEntities.java.template
│   │           ├── AbstractNMSTags.java.template
│   │           ├── AbstractNMSWorld.java.template
│   │           ├── NMSDragonFightImpl.java.template
│   │           ├── NMSHologramsImpl.java.template
│   │           ├── NMSPlayersImpl.java.template
│   │           ├── NMSUtils.java.template
│   │           ├── crops/
│   │           │   ├── CropsBlockEntity.java.template
│   │           │   ├── CropsTickingBlockEntity.java.template
│   │           │   └── CropsTickingMethod.java.template
│   │           ├── dragon/
│   │           │   ├── AbstractIslandEntityEnderDragon.java.template
│   │           │   ├── DragonUtils.java.template
│   │           │   ├── EndWorldEndDragonFightHandler.java.template
│   │           │   ├── IslandEndDragonFight.java.template
│   │           │   └── SpikesCache.java.template
│   │           ├── generator/
│   │           │   └── IslandsGeneratorImpl.java.template
│   │           ├── hologram/
│   │           │   └── AbstractEntityHologram.java.template
│   │           ├── menu/
│   │           │   ├── MenuBrewingStandBlockEntity.java.template
│   │           │   ├── MenuDispenserBlockEntity.java.template
│   │           │   ├── MenuFurnaceBlockEntity.java.template
│   │           │   └── MenuHopperBlockEntity.java.template
│   │           ├── player/
│   │           │   └── OfflinePlayerDataImpl.java.template
│   │           ├── spawners/
│   │           │   └── TickingSpawnerBlockEntityNotifier.java.template
│   │           ├── utils/
│   │           │   ├── SetBlockContext.java.template
│   │           │   └── TickingBlockList.java.template
│   │           └── world/
│   │               ├── BlockEntityCache.java.template
│   │               ├── ChunkReaderImpl.java.template
│   │               ├── KeyBlocksCache.java.template
│   │               ├── PropertiesMapper.java.template
│   │               ├── WorldEditSessionDataImpl.java.template
│   │               └── WorldEditSessionImpl.java.template
│   ├── v1_12_R1/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_12_R1/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSCachedBlock.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSDragonFightImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSHologramsImpl.java
│   │                                   ├── NMSPlayersImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSUtils.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── chunks/
│   │                                   │   ├── CropsTickingTileEntity.java
│   │                                   │   └── EmptyCounterChunkSection.java
│   │                                   ├── dragon/
│   │                                   │   ├── DragonUtils.java
│   │                                   │   ├── EndWorldEnderDragonBattleHandler.java
│   │                                   │   ├── IslandEnderDragonBattle.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── generator/
│   │                                   │   └── IslandsGeneratorImpl.java
│   │                                   ├── player/
│   │                                   │   └── OfflinePlayerDataImpl.java
│   │                                   ├── spawners/
│   │                                   │   └── MobSpawnerAbstractNotifier.java
│   │                                   └── world/
│   │                                       ├── BlockEntityCache.java
│   │                                       ├── ChunkReaderImpl.java
│   │                                       ├── KeyBlocksCache.java
│   │                                       ├── WorldEditSessionDataImpl.java
│   │                                       └── WorldEditSessionImpl.java
│   ├── v1_16_R3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_16_R3/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSDragonFightImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSHologramsImpl.java
│   │                                   ├── NMSPlayersImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSUtils.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── crops/
│   │                                   │   ├── CropsTickingMethod.java
│   │                                   │   └── CropsTickingTileEntity.java
│   │                                   ├── dragon/
│   │                                   │   ├── DragonUtils.java
│   │                                   │   ├── EndWorldEnderDragonBattleHandler.java
│   │                                   │   ├── IslandEnderDragonBattle.java
│   │                                   │   ├── IslandEntityEnderDragon.java
│   │                                   │   └── SpikesCache.java
│   │                                   ├── generator/
│   │                                   │   └── IslandsGeneratorImpl.java
│   │                                   ├── menu/
│   │                                   │   ├── MenuTileEntityBrewing.java
│   │                                   │   ├── MenuTileEntityDispenser.java
│   │                                   │   ├── MenuTileEntityFurnace.java
│   │                                   │   └── MenuTileEntityHopper.java
│   │                                   ├── player/
│   │                                   │   └── OfflinePlayerDataImpl.java
│   │                                   ├── spawners/
│   │                                   │   └── TileEntityMobSpawnerNotifier.java
│   │                                   └── world/
│   │                                       ├── BlockEntityCache.java
│   │                                       ├── BlockStatesMapper.java
│   │                                       ├── BlockTickListServerTracker.java
│   │                                       ├── ChunkReaderImpl.java
│   │                                       ├── KeyBlocksCache.java
│   │                                       ├── WorldEditSessionDataImpl.java
│   │                                       └── WorldEditSessionImpl.java
│   ├── v1_17/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_17/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandSculkSensorBlockEntity.java
│   │                                   └── world/
│   │                                       ├── BlockServerTickListTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_18/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_18/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandSculkSensorBlockEntity.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_19/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_19/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandSculkSensorBlockEntity.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_20_3/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_20_3/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_20_4/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_20_4/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_10/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_10/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_3/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_3/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_4/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_4/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_5/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_5/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_7/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_7/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_21_9/
│   │   ├── build.gradle
│   │   ├── properties
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_21_9/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── dragon/
│   │                                   │   ├── EndDragonFightWrapper.java
│   │                                   │   └── IslandEntityEnderDragon.java
│   │                                   ├── hologram/
│   │                                   │   └── EntityHologram.java
│   │                                   ├── trial/
│   │                                   │   └── IslandPlayerDetector.java
│   │                                   ├── utils/
│   │                                   │   └── NMSUtilsVersioned.java
│   │                                   ├── vibration/
│   │                                   │   └── IslandVibrationUser.java
│   │                                   └── world/
│   │                                       ├── BlockLevelTicksTracker.java
│   │                                       ├── CollectingNeighborUpdaterTracker.java
│   │                                       └── PropertiesMapperVersioned.java
│   ├── v1_8_R3/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── com/
│   │                   └── bgsoftware/
│   │                       └── superiorskyblock/
│   │                           └── nms/
│   │                               └── v1_8_R3/
│   │                                   ├── NMSAlgorithmsImpl.java
│   │                                   ├── NMSCachedBlock.java
│   │                                   ├── NMSChunksImpl.java
│   │                                   ├── NMSEntitiesImpl.java
│   │                                   ├── NMSHologramsImpl.java
│   │                                   ├── NMSPlayersImpl.java
│   │                                   ├── NMSTagsImpl.java
│   │                                   ├── NMSUtils.java
│   │                                   ├── NMSWorldImpl.java
│   │                                   ├── chunks/
│   │                                   │   └── CropsTickingTileEntity.java
│   │                                   ├── generator/
│   │                                   │   └── IslandsGeneratorImpl.java
│   │                                   ├── player/
│   │                                   │   └── OfflinePlayerDataImpl.java
│   │                                   ├── spawners/
│   │                                   │   └── MobSpawnerAbstractNotifier.java
│   │                                   └── world/
│   │                                       ├── BlockEntityCache.java
│   │                                       ├── ChunkReaderImpl.java
│   │                                       ├── KeyBlocksCache.java
│   │                                       ├── WorldEditSessionDataImpl.java
│   │                                       └── WorldEditSessionImpl.java
│   └── v26_1/
│       ├── build.gradle
│       ├── properties
│       └── src/
│           └── main/
│               └── java/
│                   └── com/
│                       └── bgsoftware/
│                           └── superiorskyblock/
│                               └── nms/
│                                   └── v26_1/
│                                       ├── NMSAlgorithmsImpl.java
│                                       ├── NMSChunksImpl.java
│                                       ├── NMSEntitiesImpl.java
│                                       ├── NMSTagsImpl.java
│                                       ├── NMSWorldImpl.java
│                                       ├── dragon/
│                                       │   ├── EndDragonFightWrapper.java
│                                       │   └── IslandEntityEnderDragon.java
│                                       ├── hologram/
│                                       │   └── EntityHologram.java
│                                       ├── trial/
│                                       │   └── IslandPlayerDetector.java
│                                       ├── utils/
│                                       │   └── NMSUtilsVersioned.java
│                                       ├── vibration/
│                                       │   └── IslandVibrationUser.java
│                                       └── world/
│                                           ├── BlockLevelTicksTracker.java
│                                           ├── CollectingNeighborUpdaterTracker.java
│                                           └── PropertiesMapperVersioned.java
├── README.md
├── build.gradle
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src/
    └── main/
        ├── java/
        │   └── com/
        │       └── bgsoftware/
        │           └── superiorskyblock/
        │               ├── SuperiorSkyblockPlugin.java
        │               ├── commands/
        │               │   ├── CommandTabCompletes.java
        │               │   ├── CommandsHelper.java
        │               │   ├── CommandsManagerImpl.java
        │               │   ├── CommandsMap.java
        │               │   ├── IAdminIslandCommand.java
        │               │   ├── IAdminPlayerCommand.java
        │               │   ├── IPermissibleCommand.java
        │               │   ├── ISuperiorCommand.java
        │               │   ├── admin/
        │               │   │   ├── AdminCommandsMap.java
        │               │   │   ├── CmdAdminAdd.java
        │               │   │   ├── CmdAdminAddBonus.java
        │               │   │   ├── CmdAdminAddCoopLimit.java
        │               │   │   ├── CmdAdminAddDisbands.java
        │               │   │   ├── CmdAdminAddSize.java
        │               │   │   ├── CmdAdminAddTeamLimit.java
        │               │   │   ├── CmdAdminAddWarpsLimit.java
        │               │   │   ├── CmdAdminBypass.java
        │               │   │   ├── CmdAdminChest.java
        │               │   │   ├── CmdAdminClose.java
        │               │   │   ├── CmdAdminCmdAll.java
        │               │   │   ├── CmdAdminCount.java
        │               │   │   ├── CmdAdminData.java
        │               │   │   ├── CmdAdminDebug.java
        │               │   │   ├── CmdAdminDelWarp.java
        │               │   │   ├── CmdAdminDemote.java
        │               │   │   ├── CmdAdminDisband.java
        │               │   │   ├── CmdAdminFly.java
        │               │   │   ├── CmdAdminIgnore.java
        │               │   │   ├── CmdAdminJoin.java
        │               │   │   ├── CmdAdminKick.java
        │               │   │   ├── CmdAdminModules.java
        │               │   │   ├── CmdAdminMsg.java
        │               │   │   ├── CmdAdminMsgAll.java
        │               │   │   ├── CmdAdminName.java
        │               │   │   ├── CmdAdminOpen.java
        │               │   │   ├── CmdAdminOpenMenu.java
        │               │   │   ├── CmdAdminPromote.java
        │               │   │   ├── CmdAdminPurge.java
        │               │   │   ├── CmdAdminRecalc.java
        │               │   │   ├── CmdAdminReload.java
        │               │   │   ├── CmdAdminRemoveRatings.java
        │               │   │   ├── CmdAdminResetPermissions.java
        │               │   │   ├── CmdAdminResetSettings.java
        │               │   │   ├── CmdAdminResetWorld.java
        │               │   │   ├── CmdAdminSchematic.java
        │               │   │   ├── CmdAdminSetBiome.java
        │               │   │   ├── CmdAdminSetBlockAmount.java
        │               │   │   ├── CmdAdminSetBonus.java
        │               │   │   ├── CmdAdminSetChestRow.java
        │               │   │   ├── CmdAdminSetCoopLimit.java
        │               │   │   ├── CmdAdminSetDisbands.java
        │               │   │   ├── CmdAdminSetIslandPreview.java
        │               │   │   ├── CmdAdminSetLeader.java
        │               │   │   ├── CmdAdminSetPermission.java
        │               │   │   ├── CmdAdminSetRate.java
        │               │   │   ├── CmdAdminSetRoleLimit.java
        │               │   │   ├── CmdAdminSetSettings.java
        │               │   │   ├── CmdAdminSetSize.java
        │               │   │   ├── CmdAdminSetSpawn.java
        │               │   │   ├── CmdAdminSetTeamLimit.java
        │               │   │   ├── CmdAdminSetWarpsLimit.java
        │               │   │   ├── CmdAdminSettings.java
        │               │   │   ├── CmdAdminShow.java
        │               │   │   ├── CmdAdminSpawn.java
        │               │   │   ├── CmdAdminSpy.java
        │               │   │   ├── CmdAdminStats.java
        │               │   │   ├── CmdAdminSyncBonus.java
        │               │   │   ├── CmdAdminTeleport.java
        │               │   │   ├── CmdAdminTitle.java
        │               │   │   ├── CmdAdminTitleAll.java
        │               │   │   ├── CmdAdminUnignore.java
        │               │   │   └── CmdAdminUnlockWorld.java
        │               │   ├── arguments/
        │               │   │   ├── Argument.java
        │               │   │   ├── CommandArguments.java
        │               │   │   ├── IslandArgument.java
        │               │   │   ├── IslandsListArgument.java
        │               │   │   └── NumberArgument.java
        │               │   └── player/
        │               │       ├── CmdAccept.java
        │               │       ├── CmdAdmin.java
        │               │       ├── CmdBan.java
        │               │       ├── CmdBans.java
        │               │       ├── CmdBiome.java
        │               │       ├── CmdBorder.java
        │               │       ├── CmdChest.java
        │               │       ├── CmdClose.java
        │               │       ├── CmdCoop.java
        │               │       ├── CmdCoops.java
        │               │       ├── CmdCounts.java
        │               │       ├── CmdCreate.java
        │               │       ├── CmdDelWarp.java
        │               │       ├── CmdDemote.java
        │               │       ├── CmdDisband.java
        │               │       ├── CmdExpel.java
        │               │       ├── CmdFly.java
        │               │       ├── CmdHelp.java
        │               │       ├── CmdInvite.java
        │               │       ├── CmdKick.java
        │               │       ├── CmdLang.java
        │               │       ├── CmdLeave.java
        │               │       ├── CmdMembers.java
        │               │       ├── CmdName.java
        │               │       ├── CmdOpen.java
        │               │       ├── CmdPanel.java
        │               │       ├── CmdPardon.java
        │               │       ├── CmdPermissions.java
        │               │       ├── CmdPromote.java
        │               │       ├── CmdRate.java
        │               │       ├── CmdRatings.java
        │               │       ├── CmdRecalc.java
        │               │       ├── CmdSetDiscord.java
        │               │       ├── CmdSetPaypal.java
        │               │       ├── CmdSetRole.java
        │               │       ├── CmdSetTeleport.java
        │               │       ├── CmdSetWarp.java
        │               │       ├── CmdSettings.java
        │               │       ├── CmdShow.java
        │               │       ├── CmdTeam.java
        │               │       ├── CmdTeamChat.java
        │               │       ├── CmdTeleport.java
        │               │       ├── CmdToggle.java
        │               │       ├── CmdTop.java
        │               │       ├── CmdTransfer.java
        │               │       ├── CmdUncoop.java
        │               │       ├── CmdValue.java
        │               │       ├── CmdValues.java
        │               │       ├── CmdVisit.java
        │               │       ├── CmdVisitors.java
        │               │       ├── CmdWarp.java
        │               │       ├── CmdWarps.java
        │               │       └── PlayerCommandsMap.java
        │               ├── config/
        │               │   ├── SettingsContainer.java
        │               │   ├── SettingsContainerHolder.java
        │               │   ├── SettingsManagerImpl.java
        │               │   └── section/
        │               │       ├── AFKIntegrationsSection.java
        │               │       ├── DatabaseSection.java
        │               │       ├── DefaultContainersSection.java
        │               │       ├── DefaultValuesSection.java
        │               │       ├── EntityCategoriesSection.java
        │               │       ├── GlobalSection.java
        │               │       ├── InteractablesSection.java
        │               │       ├── IslandChestsSection.java
        │               │       ├── IslandNamesSection.java
        │               │       ├── IslandPreviewsSection.java
        │               │       ├── IslandRolesSection.java
        │               │       ├── SpawnSection.java
        │               │       ├── StackedBlocksSection.java
        │               │       ├── VisitorsSignSection.java
        │               │       ├── VoidTeleportSection.java
        │               │       └── WorldsSection.java
        │               ├── core/
        │               │   ├── BaseCacheImpl.java
        │               │   ├── BigBitSet.java
        │               │   ├── ByteBigArray.java
        │               │   ├── CalculatedChunk.java
        │               │   ├── ChunkPosition.java
        │               │   ├── Counter.java
        │               │   ├── DirtyChunk.java
        │               │   ├── DynamicArray.java
        │               │   ├── Either.java
        │               │   ├── EnumHelper.java
        │               │   ├── GameSoundImpl.java
        │               │   ├── IslandArea.java
        │               │   ├── IslandPosition.java
        │               │   ├── IslandWorlds.java
        │               │   ├── IslandWorldsPlayersStrategy.java
        │               │   ├── JavaVersion.java
        │               │   ├── LazyReference.java
        │               │   ├── LazyWorldLocation.java
        │               │   ├── Manager.java
        │               │   ├── Materials.java
        │               │   ├── MutableChunkPosition.java
        │               │   ├── ObjectsPool.java
        │               │   ├── ObjectsPools.java
        │               │   ├── PlayerHand.java
        │               │   ├── PluginLoadingStage.java
        │               │   ├── PluginReloadReason.java
        │               │   ├── Precision.java
        │               │   ├── SBlockOffset.java
        │               │   ├── SBlockPosition.java
        │               │   ├── SWorldPosition.java
        │               │   ├── SequentialListBuilder.java
        │               │   ├── ServerVersion.java
        │               │   ├── Text.java
        │               │   ├── VarintArray.java
        │               │   ├── WorldInfoImpl.java
        │               │   ├── collections/
        │               │   │   ├── ArrayMap.java
        │               │   │   ├── AutoRemovalCollection.java
        │               │   │   ├── AutoRemovalMap.java
        │               │   │   ├── Chunk2ObjectMap.java
        │               │   │   ├── CollectionsFactory.java
        │               │   │   ├── CompletableFutureList.java
        │               │   │   ├── EnumerateMap.java
        │               │   │   ├── EnumerateSet.java
        │               │   │   ├── IslandPosition2ObjectMap.java
        │               │   │   ├── Location2ObjectMap.java
        │               │   │   ├── creator/
        │               │   │   │   ├── CollectionsCreator.java
        │               │   │   │   ├── FastUtilCollectionsCreator.java
        │               │   │   │   └── JavaCollectionsCreator.java
        │               │   │   └── view/
        │               │   │       ├── Char2ObjectMapView.java
        │               │   │       ├── CharIterator.java
        │               │   │       ├── EmptyInt2IntMapView.java
        │               │   │       ├── EmptyIntIterator.java
        │               │   │       ├── Int2IntMapView.java
        │               │   │       ├── Int2ObjectMapView.java
        │               │   │       ├── IntIterator.java
        │               │   │       ├── Long2ObjectMapView.java
        │               │   │       └── LongIterator.java
        │               │   ├── config/
        │               │   │   └── PvPWorldsCache.java
        │               │   ├── database/
        │               │   │   ├── DBColumn.java
        │               │   │   ├── DataManager.java
        │               │   │   ├── DatabaseResult.java
        │               │   │   ├── bridge/
        │               │   │   │   ├── EmptyDatabaseBridge.java
        │               │   │   │   ├── GridDatabaseBridge.java
        │               │   │   │   ├── IslandsDatabaseBridge.java
        │               │   │   │   ├── PlayersDatabaseBridge.java
        │               │   │   │   └── StackedBlocksDatabaseBridge.java
        │               │   │   ├── cache/
        │               │   │   │   └── DatabaseCache.java
        │               │   │   ├── loader/
        │               │   │   │   ├── DatabaseLoader.java
        │               │   │   │   ├── MachineStateDatabaseLoader.java
        │               │   │   │   ├── backup/
        │               │   │   │   │   └── BackupDatabase.java
        │               │   │   │   └── sql/
        │               │   │   │       ├── SQLDatabase.java
        │               │   │   │       ├── SQLDatabaseLoader.java
        │               │   │   │       └── upgrade/
        │               │   │   │           ├── v0/
        │               │   │   │           │   ├── DatabaseConverter.java
        │               │   │   │           │   ├── DatabaseUpgrade_V0.java
        │               │   │   │           │   ├── attributes/
        │               │   │   │           │   │   ├── AttributesRegistry.java
        │               │   │   │           │   │   ├── BankTransactionsAttributes.java
        │               │   │   │           │   │   ├── GridAttributes.java
        │               │   │   │           │   │   ├── IslandAttributes.java
        │               │   │   │           │   │   ├── IslandChestAttributes.java
        │               │   │   │           │   │   ├── IslandWarpAttributes.java
        │               │   │   │           │   │   ├── PlayerAttributes.java
        │               │   │   │           │   │   ├── StackedBlockAttributes.java
        │               │   │   │           │   │   └── WarpCategoryAttributes.java
        │               │   │   │           │   └── deserializer/
        │               │   │   │           │       ├── EmptyParameterGuardDeserializer.java
        │               │   │   │           │       ├── IDeserializer.java
        │               │   │   │           │       ├── JsonDeserializer.java
        │               │   │   │           │       ├── MultipleDeserializer.java
        │               │   │   │           │       └── RawDeserializer.java
        │               │   │   │           ├── v1/
        │               │   │   │           │   └── DatabaseUpgrade_V1.java
        │               │   │   │           ├── v2/
        │               │   │   │           │   └── DatabaseUpgrade_V2.java
        │               │   │   │           └── v3/
        │               │   │   │               └── DatabaseUpgrade_V3.java
        │               │   │   ├── serialization/
        │               │   │   │   ├── IslandsDeserializer.java
        │               │   │   │   ├── IslandsSerializer.java
        │               │   │   │   └── PlayersDeserializer.java
        │               │   │   └── sql/
        │               │   │       ├── DBSession.java
        │               │   │       ├── ResultSetMapBridge.java
        │               │   │       └── SQLDatabaseBridge.java
        │               │   ├── engine/
        │               │   │   ├── EnginesFactory.java
        │               │   │   ├── NashornEngine.java
        │               │   │   └── NashornEngineDownloader.java
        │               │   ├── errors/
        │               │   │   └── ManagerLoadException.java
        │               │   ├── events/
        │               │   │   ├── EventCallback.java
        │               │   │   ├── EventType.java
        │               │   │   ├── EventsDispatcher.java
        │               │   │   ├── IEvent.java
        │               │   │   ├── args/
        │               │   │   │   ├── IEventArgs.java
        │               │   │   │   └── PluginEventArgs.java
        │               │   │   └── plugin/
        │               │   │       ├── PluginEvent.java
        │               │   │       ├── PluginEventPriority.java
        │               │   │       ├── PluginEventType.java
        │               │   │       ├── PluginEventsDispatcher.java
        │               │   │       └── PluginEventsFactory.java
        │               │   ├── factory/
        │               │   │   ├── DefaultBanksFactory.java
        │               │   │   ├── DefaultDatabaseBridgeFactory.java
        │               │   │   ├── DefaultIslandsFactory.java
        │               │   │   ├── DefaultPlayersFactory.java
        │               │   │   └── FactoriesManagerImpl.java
        │               │   ├── formatting/
        │               │   │   ├── Formatters.java
        │               │   │   ├── IBiFormatter.java
        │               │   │   ├── IFormatter.java
        │               │   │   └── impl/
        │               │   │       ├── BlockPositionFormatter.java
        │               │   │       ├── BooleanFormatter.java
        │               │   │       ├── BorderColorFormatter.java
        │               │   │       ├── CapitalizedFormatter.java
        │               │   │       ├── ChatFormatter.java
        │               │   │       ├── ColorFormatter.java
        │               │   │       ├── CommaFormatter.java
        │               │   │       ├── DateFormatter.java
        │               │   │       ├── FancyNumberFormatter.java
        │               │   │       ├── LocaleFormatter.java
        │               │   │       ├── LocationFormatter.java
        │               │   │       ├── NumberFormatter.java
        │               │   │       ├── RatingFormatter.java
        │               │   │       ├── StripColorFormatter.java
        │               │   │       └── TimeFormatter.java
        │               │   ├── io/
        │               │   │   ├── ClassProcessor.java
        │               │   │   ├── FileClassLoader.java
        │               │   │   ├── Files.java
        │               │   │   ├── IOUtils.java
        │               │   │   ├── JarFiles.java
        │               │   │   ├── MenuParserImpl.java
        │               │   │   ├── Resources.java
        │               │   │   ├── ZipFiles.java
        │               │   │   └── loader/
        │               │   │       ├── DefaultFilesLookupProvider.java
        │               │   │       ├── FilesLookup.java
        │               │   │       ├── FilesLookupFactory.java
        │               │   │       └── FilesLookupProvider.java
        │               │   ├── itemstack/
        │               │   │   ├── ItemBuilder.java
        │               │   │   ├── ItemSkulls.java
        │               │   │   ├── MinecraftNamesMapper.java
        │               │   │   └── heads/
        │               │   │       └── MinecraftHeadsClient.java
        │               │   ├── key/
        │               │   │   ├── BaseKey.java
        │               │   │   ├── ConstantKeys.java
        │               │   │   ├── KeyIndicator.java
        │               │   │   ├── Keys.java
        │               │   │   ├── KeysManagerImpl.java
        │               │   │   ├── MaterialKeySource.java
        │               │   │   ├── map/
        │               │   │   │   ├── AbstractKeyMap.java
        │               │   │   │   ├── CustomKeyMap.java
        │               │   │   │   ├── EntityTypeKeyMap.java
        │               │   │   │   ├── KeyMapStrategy.java
        │               │   │   │   ├── KeyMaps.java
        │               │   │   │   ├── LazyLoadedKeyMap.java
        │               │   │   │   └── MaterialKeyMap.java
        │               │   │   ├── set/
        │               │   │   │   ├── AbstractKeySet.java
        │               │   │   │   ├── CustomKeySet.java
        │               │   │   │   ├── EntityTypeKeySet.java
        │               │   │   │   ├── KeySetStrategy.java
        │               │   │   │   ├── KeySets.java
        │               │   │   │   ├── LazyLoadedKeySet.java
        │               │   │   │   └── MaterialKeySet.java
        │               │   │   └── types/
        │               │   │       ├── CustomKey.java
        │               │   │       ├── EntityTypeKey.java
        │               │   │       ├── LazyKey.java
        │               │   │       ├── MaterialKey.java
        │               │   │       └── SpawnerKey.java
        │               │   ├── logging/
        │               │   │   ├── Debug.java
        │               │   │   ├── Log.java
        │               │   │   └── StackTrace.java
        │               │   ├── menu/
        │               │   │   ├── AbstractMenu.java
        │               │   │   ├── AbstractPagedMenu.java
        │               │   │   ├── MenuActions.java
        │               │   │   ├── MenuCommandsImpl.java
        │               │   │   ├── MenuConfig.java
        │               │   │   ├── MenuIdentifiers.java
        │               │   │   ├── MenuParseResult.java
        │               │   │   ├── MenuPatternSlots.java
        │               │   │   ├── Menus.java
        │               │   │   ├── MenusManagerImpl.java
        │               │   │   ├── TemplateItem.java
        │               │   │   ├── button/
        │               │   │   │   ├── AbstractMenuTemplateButton.java
        │               │   │   │   ├── AbstractMenuViewButton.java
        │               │   │   │   ├── AbstractPagedMenuButton.java
        │               │   │   │   ├── MenuTemplateButtonImpl.java
        │               │   │   │   ├── PagedMenuTemplateButtonImpl.java
        │               │   │   │   └── impl/
        │               │   │   │       ├── BackButton.java
        │               │   │   │       ├── BanButton.java
        │               │   │   │       ├── BankBalanceButton.java
        │               │   │   │       ├── BankCustomDepositButton.java
        │               │   │   │       ├── BankCustomWithdrawButton.java
        │               │   │   │       ├── BankDepositButton.java
        │               │   │   │       ├── BankLogsPagedObjectButton.java
        │               │   │   │       ├── BankLogsSortButton.java
        │               │   │   │       ├── BankWithdrawButton.java
        │               │   │   │       ├── BannedPlayersPagedObjectButton.java
        │               │   │   │       ├── BiomeButton.java
        │               │   │   │       ├── BorderColorButton.java
        │               │   │   │       ├── BorderColorToggleButton.java
        │               │   │   │       ├── ChangeSortingTypeButton.java
        │               │   │   │       ├── ConfigEditorPagedObjectButton.java
        │               │   │   │       ├── ConfigEditorSaveButton.java
        │               │   │   │       ├── ControlPanelButton.java
        │               │   │   │       ├── CoopsPagedObjectButton.java
        │               │   │   │       ├── CountsPagedObjectButton.java
        │               │   │   │       ├── CurrentPageButton.java
        │               │   │   │       ├── DisbandButton.java
        │               │   │   │       ├── DummyButton.java
        │               │   │   │       ├── GlobalWarpsPagedObjectButton.java
        │               │   │   │       ├── IconDisplayButton.java
        │               │   │   │       ├── IconEditLoreButton.java
        │               │   │   │       ├── IconEditTypeButton.java
        │               │   │   │       ├── IconRenameButton.java
        │               │   │   │       ├── IslandChestPagedObjectButton.java
        │               │   │   │       ├── IslandCreationButton.java
        │               │   │   │       ├── IslandFlagPagedObjectButton.java
        │               │   │   │       ├── IslandPrivilegePagedObjectButton.java
        │               │   │   │       ├── KickButton.java
        │               │   │   │       ├── LanguageButton.java
        │               │   │   │       ├── LeaveButton.java
        │               │   │   │       ├── MemberManageButton.java
        │               │   │   │       ├── MemberRoleButton.java
        │               │   │   │       ├── MembersPagedObjectButton.java
        │               │   │   │       ├── MissionsPagedObjectButton.java
        │               │   │   │       ├── NextPageButton.java
        │               │   │   │       ├── OpenBankLogsButton.java
        │               │   │   │       ├── OpenMissionCategoryButton.java
        │               │   │   │       ├── OpenUniqueVisitorsButton.java
        │               │   │   │       ├── PreviousPageButton.java
        │               │   │   │       ├── RateIslandButton.java
        │               │   │   │       ├── RatingsPagedObjectButton.java
        │               │   │   │       ├── TopIslandsPagedObjectButton.java
        │               │   │   │       ├── TopIslandsSelfIslandButton.java
        │               │   │   │       ├── TransferButton.java
        │               │   │   │       ├── UniqueVisitorPagedObjectButton.java
        │               │   │   │       ├── UpgradeButton.java
        │               │   │   │       ├── ValuesButton.java
        │               │   │   │       ├── VisitorPagedObjectButton.java
        │               │   │   │       ├── WarpCategoryIconEditConfirmButton.java
        │               │   │   │       ├── WarpCategoryManageIconButton.java
        │               │   │   │       ├── WarpCategoryManageRenameButton.java
        │               │   │   │       ├── WarpCategoryManageWarpsButton.java
        │               │   │   │       ├── WarpCategoryPagedObjectButton.java
        │               │   │   │       ├── WarpIconEditConfirmButton.java
        │               │   │   │       ├── WarpManageIconButton.java
        │               │   │   │       ├── WarpManageLocationButton.java
        │               │   │   │       ├── WarpManagePrivateButton.java
        │               │   │   │       ├── WarpManageRenameButton.java
        │               │   │   │       └── WarpPagedObjectButton.java
        │               │   │   ├── converter/
        │               │   │   │   └── MenuConverter.java
        │               │   │   ├── impl/
        │               │   │   │   ├── MenuBankLogs.java
        │               │   │   │   ├── MenuBiomes.java
        │               │   │   │   ├── MenuBorderColor.java
        │               │   │   │   ├── MenuConfirmBan.java
        │               │   │   │   ├── MenuConfirmDisband.java
        │               │   │   │   ├── MenuConfirmKick.java
        │               │   │   │   ├── MenuConfirmLeave.java
        │               │   │   │   ├── MenuConfirmTransfer.java
        │               │   │   │   ├── MenuControlPanel.java
        │               │   │   │   ├── MenuCoops.java
        │               │   │   │   ├── MenuCounts.java
        │               │   │   │   ├── MenuGlobalWarps.java
        │               │   │   │   ├── MenuIslandBank.java
        │               │   │   │   ├── MenuIslandBannedPlayers.java
        │               │   │   │   ├── MenuIslandChest.java
        │               │   │   │   ├── MenuIslandCreation.java
        │               │   │   │   ├── MenuIslandFlags.java
        │               │   │   │   ├── MenuIslandMembers.java
        │               │   │   │   ├── MenuIslandPrivileges.java
        │               │   │   │   ├── MenuIslandRate.java
        │               │   │   │   ├── MenuIslandRatings.java
        │               │   │   │   ├── MenuIslandUniqueVisitors.java
        │               │   │   │   ├── MenuIslandUpgrades.java
        │               │   │   │   ├── MenuIslandValues.java
        │               │   │   │   ├── MenuIslandVisitors.java
        │               │   │   │   ├── MenuMemberManage.java
        │               │   │   │   ├── MenuMemberRole.java
        │               │   │   │   ├── MenuMissions.java
        │               │   │   │   ├── MenuMissionsCategory.java
        │               │   │   │   ├── MenuPlayerLanguage.java
        │               │   │   │   ├── MenuTopIslands.java
        │               │   │   │   ├── MenuWarpCategories.java
        │               │   │   │   ├── MenuWarpCategoryIconEdit.java
        │               │   │   │   ├── MenuWarpCategoryManage.java
        │               │   │   │   ├── MenuWarpIconEdit.java
        │               │   │   │   ├── MenuWarpManage.java
        │               │   │   │   ├── MenuWarps.java
        │               │   │   │   └── internal/
        │               │   │   │       ├── MenuBlank.java
        │               │   │   │       ├── MenuConfigEditor.java
        │               │   │   │       ├── MenuCustom.java
        │               │   │   │       └── StackedBlocksDepositMenu.java
        │               │   │   ├── layout/
        │               │   │   │   ├── AbstractMenuLayout.java
        │               │   │   │   ├── PagedMenuLayoutImpl.java
        │               │   │   │   ├── RegularMenuLayoutImpl.java
        │               │   │   │   └── order/
        │               │   │   │       ├── CustomPagedLayoutOrder.java
        │               │   │   │       └── PagedLayoutOrder.java
        │               │   │   └── view/
        │               │   │       ├── AbstractIconProviderMenu.java
        │               │   │       ├── AbstractMenuView.java
        │               │   │       ├── AbstractPagedMenuView.java
        │               │   │       ├── BaseMenuView.java
        │               │   │       ├── IIslandMenuView.java
        │               │   │       ├── IPlayerMenuView.java
        │               │   │       ├── MenuViewWrapper.java
        │               │   │       ├── args/
        │               │   │       │   ├── EmptyViewArgs.java
        │               │   │       │   ├── IslandViewArgs.java
        │               │   │       │   └── PlayerViewArgs.java
        │               │   │       └── impl/
        │               │   │           ├── IslandMenuView.java
        │               │   │           └── PlayerMenuView.java
        │               │   ├── messages/
        │               │   │   ├── Message.java
        │               │   │   ├── MessageContent.java
        │               │   │   └── component/
        │               │   │       ├── EmptyMessageComponent.java
        │               │   │       ├── MultipleComponents.java
        │               │   │       └── impl/
        │               │   │           ├── ActionBarComponent.java
        │               │   │           ├── BossBarComponent.java
        │               │   │           ├── ComplexMessageComponent.java
        │               │   │           ├── RawMessageComponent.java
        │               │   │           ├── SoundComponent.java
        │               │   │           └── TitleComponent.java
        │               │   ├── mutable/
        │               │   │   ├── MutableBoolean.java
        │               │   │   ├── MutableInt.java
        │               │   │   ├── MutableLong.java
        │               │   │   └── MutableObject.java
        │               │   ├── persistence/
        │               │   │   ├── EmptyPersistentDataContainer.java
        │               │   │   ├── PersistenceDataTypeSerializer.java
        │               │   │   └── PersistentDataContainerImpl.java
        │               │   ├── profiler/
        │               │   │   ├── ProfileType.java
        │               │   │   ├── Profiler.java
        │               │   │   └── ProfilerSession.java
        │               │   ├── schematic/
        │               │   │   ├── SchematicBlock.java
        │               │   │   ├── SchematicBlockData.java
        │               │   │   ├── SchematicEntity.java
        │               │   │   └── SchematicEntityFilter.java
        │               │   ├── serialization/
        │               │   │   ├── ISerializer.java
        │               │   │   ├── Serializers.java
        │               │   │   └── impl/
        │               │   │       ├── BlockPositionSerializer.java
        │               │   │       ├── InventorySerializer.java
        │               │   │       ├── ItemStack2TagSerializer.java
        │               │   │       ├── ItemStackSerializer.java
        │               │   │       ├── LocationSerializer.java
        │               │   │       ├── OffsetSerializer.java
        │               │   │       ├── PersistentDataSerializer.java
        │               │   │       └── WorldPositionSerializer.java
        │               │   ├── stackedblocks/
        │               │   │   ├── StackedBlock.java
        │               │   │   ├── StackedBlocksManagerImpl.java
        │               │   │   └── container/
        │               │   │       ├── DefaultStackedBlocksContainer.java
        │               │   │       └── StackedBlocksContainer.java
        │               │   ├── stats/
        │               │   │   ├── IStatsCollector.java
        │               │   │   ├── StatsClient.java
        │               │   │   ├── StatsIslandsCounter.java
        │               │   │   ├── StatsPlayersCounter.java
        │               │   │   ├── StatsProfilers.java
        │               │   │   └── StatsSchematicsSizes.java
        │               │   ├── task/
        │               │   │   ├── CalcTask.java
        │               │   │   └── ShutdownTask.java
        │               │   ├── threads/
        │               │   │   ├── BukkitExecutor.java
        │               │   │   ├── Synchronized.java
        │               │   │   └── SynchronizedTasks.java
        │               │   ├── value/
        │               │   │   ├── DoubleValue.java
        │               │   │   ├── DoubleValueFixed.java
        │               │   │   ├── DoubleValueFixedSynced.java
        │               │   │   ├── DoubleValueSuppliedSynced.java
        │               │   │   ├── IntValue.java
        │               │   │   ├── IntValueFixed.java
        │               │   │   ├── IntValueFixedSynced.java
        │               │   │   ├── IntValueSuppliedSynced.java
        │               │   │   ├── Value.java
        │               │   │   ├── ValueFixed.java
        │               │   │   ├── ValueFixedSynced.java
        │               │   │   ├── ValueSuppliedSynced.java
        │               │   │   └── ValuesCache.java
        │               │   └── values/
        │               │       ├── BlockValue.java
        │               │       ├── BlockValuesManagerImpl.java
        │               │       └── container/
        │               │           └── BlockValuesContainer.java
        │               ├── external/
        │               │   ├── ProvidersManagerImpl.java
        │               │   ├── async/
        │               │   │   ├── AsyncProvider.java
        │               │   │   └── AsyncProvider_Default.java
        │               │   ├── blocks/
        │               │   │   └── ICustomBlocksProvider.java
        │               │   ├── chunks/
        │               │   │   └── ChunksProvider_Default.java
        │               │   ├── economy/
        │               │   │   └── EconomyProvider_Default.java
        │               │   ├── menus/
        │               │   │   └── MenusProvider_Default.java
        │               │   ├── permissions/
        │               │   │   └── PermissionsProvider_Default.java
        │               │   ├── placeholders/
        │               │   │   └── PlaceholdersProvider.java
        │               │   ├── prices/
        │               │   │   ├── PricesProvider_Default.java
        │               │   │   └── PricesProvider_ShopsBridgeWrapper.java
        │               │   ├── spawners/
        │               │   │   ├── SpawnersProviderItemMetaSpawnerType.java
        │               │   │   ├── SpawnersProvider_AutoDetect.java
        │               │   │   └── SpawnersProvider_Default.java
        │               │   ├── stackedblocks/
        │               │   │   ├── StackedBlocksProvider_AutoDetect.java
        │               │   │   └── StackedBlocksProvider_Default.java
        │               │   ├── text/
        │               │   │   └── ITextFormatter.java
        │               │   ├── vanish/
        │               │   │   └── VanishProvider_Default.java
        │               │   └── worlds/
        │               │       ├── DefaultWorldLoadListener.java
        │               │       └── WorldsProvider_Default.java
        │               ├── island/
        │               │   ├── GridManagerImpl.java
        │               │   ├── IslandNames.java
        │               │   ├── IslandUtils.java
        │               │   ├── SIsland.java
        │               │   ├── SIslandChest.java
        │               │   ├── SpawnIsland.java
        │               │   ├── algorithm/
        │               │   │   ├── DefaultIslandBlocksTrackerAlgorithm.java
        │               │   │   ├── DefaultIslandCalculationAlgorithm.java
        │               │   │   ├── DefaultIslandCreationAlgorithm.java
        │               │   │   ├── DefaultIslandEntitiesTrackerAlgorithm.java
        │               │   │   ├── SpawnIslandBlocksTrackerAlgorithm.java
        │               │   │   ├── SpawnIslandCalculationAlgorithm.java
        │               │   │   └── SpawnIslandEntitiesTrackerAlgorithm.java
        │               │   ├── bank/
        │               │   │   ├── SBankTransaction.java
        │               │   │   ├── SIslandBank.java
        │               │   │   └── logs/
        │               │   │       ├── CacheBankLogs.java
        │               │   │       ├── DatabaseBankLogs.java
        │               │   │       └── IBankLogs.java
        │               │   ├── builder/
        │               │   │   ├── IslandBuilderImpl.java
        │               │   │   ├── WarpCategoryRecord.java
        │               │   │   └── WarpRecord.java
        │               │   ├── cache/
        │               │   │   ├── IslandCacheImpl.java
        │               │   │   └── IslandCacheKeys.java
        │               │   ├── chunk/
        │               │   │   └── DirtyChunksContainer.java
        │               │   ├── container/
        │               │   │   ├── DefaultIslandsContainer.java
        │               │   │   └── grid/
        │               │   │       ├── IslandsGrid.java
        │               │   │       ├── MultiWorldIslandsGrid.java
        │               │   │       └── SingleWorldIslandsGrid.java
        │               │   ├── flag/
        │               │   │   └── IslandFlags.java
        │               │   ├── notifications/
        │               │   │   └── IslandNotifications.java
        │               │   ├── preview/
        │               │   │   ├── DefaultIslandPreviews.java
        │               │   │   ├── IslandPreviews.java
        │               │   │   └── SIslandPreview.java
        │               │   ├── privilege/
        │               │   │   ├── IslandPrivileges.java
        │               │   │   ├── PlayerPrivilegeNode.java
        │               │   │   ├── PrivilegeNodeAbstract.java
        │               │   │   └── RolePrivilegeNode.java
        │               │   ├── purge/
        │               │   │   ├── DefaultIslandsPurger.java
        │               │   │   └── IslandsPurger.java
        │               │   ├── role/
        │               │   │   ├── RolesManagerImpl.java
        │               │   │   ├── SPlayerRole.java
        │               │   │   └── container/
        │               │   │       ├── DefaultRolesContainer.java
        │               │   │       └── RolesContainer.java
        │               │   ├── signs/
        │               │   │   └── IslandSigns.java
        │               │   ├── top/
        │               │   │   ├── SortingComparators.java
        │               │   │   ├── SortingTypes.java
        │               │   │   └── metadata/
        │               │   │       ├── IslandSortMetadata.java
        │               │   │       ├── IslandSortPlayerMetadata.java
        │               │   │       ├── IslandSortRatingMetadata.java
        │               │   │       └── IslandSortValueMetadata.java
        │               │   ├── upgrade/
        │               │   │   ├── DefaultUpgrade.java
        │               │   │   ├── DefaultUpgradeLevel.java
        │               │   │   ├── IslandUpgradeConstants.java
        │               │   │   ├── SUpgrade.java
        │               │   │   ├── SUpgradeLevel.java
        │               │   │   ├── UpgradeRequirement.java
        │               │   │   ├── UpgradesManagerImpl.java
        │               │   │   ├── container/
        │               │   │   │   ├── DefaultUpgradesContainer.java
        │               │   │   │   ├── IslandUpgrades.java
        │               │   │   │   └── UpgradesContainer.java
        │               │   │   ├── cost/
        │               │   │   │   ├── EmptyUpgradeCost.java
        │               │   │   │   ├── PlaceholdersUpgradeCost.java
        │               │   │   │   ├── UpgradeCostAbstract.java
        │               │   │   │   └── VaultUpgradeCost.java
        │               │   │   └── loaders/
        │               │   │       ├── PlaceholdersUpgradeCostLoader.java
        │               │   │       └── VaultUpgradeCostLoader.java
        │               │   └── warp/
        │               │       ├── SIslandWarp.java
        │               │       ├── SWarpCategory.java
        │               │       ├── SignWarp.java
        │               │       └── WarpIcons.java
        │               ├── listener/
        │               │   ├── AbstractGameEventListener.java
        │               │   ├── AdminPlayersListener.java
        │               │   ├── BlockChangesListener.java
        │               │   ├── BukkitEventsListener.java
        │               │   ├── BukkitListeners.java
        │               │   ├── ChunksListener.java
        │               │   ├── EntityTrackingListener.java
        │               │   ├── FeaturesListener.java
        │               │   ├── IslandFlagsListener.java
        │               │   ├── IslandOutsideListener.java
        │               │   ├── IslandPreviewListener.java
        │               │   ├── IslandWorldEventsListener.java
        │               │   ├── MenusListener.java
        │               │   ├── PlayersListener.java
        │               │   ├── PortalsListener.java
        │               │   ├── ProtectionListener.java
        │               │   ├── SignsListener.java
        │               │   ├── StackedBlocksListener.java
        │               │   └── WorldDestructionListener.java
        │               ├── mission/
        │               │   ├── MissionData.java
        │               │   ├── MissionReference.java
        │               │   ├── MissionsManagerImpl.java
        │               │   ├── SMissionCategory.java
        │               │   └── container/
        │               │       ├── DefaultMissionsContainer.java
        │               │       └── MissionsContainer.java
        │               ├── module/
        │               │   ├── BuiltinModule.java
        │               │   ├── BuiltinModules.java
        │               │   ├── IModuleConfiguration.java
        │               │   ├── ModuleData.java
        │               │   ├── ModulesManagerImpl.java
        │               │   ├── bank/
        │               │   │   ├── BankModule.java
        │               │   │   └── commands/
        │               │   │       ├── CmdAdminAddBankLimit.java
        │               │   │       ├── CmdAdminDeposit.java
        │               │   │       ├── CmdAdminSetBankLimit.java
        │               │   │       ├── CmdAdminWithdraw.java
        │               │   │       ├── CmdBalance.java
        │               │   │       ├── CmdBank.java
        │               │   │       ├── CmdDeposit.java
        │               │   │       └── CmdWithdraw.java
        │               │   ├── container/
        │               │   │   ├── DefaultModulesContainer.java
        │               │   │   └── ModulesContainer.java
        │               │   ├── generators/
        │               │   │   ├── GeneratorsModule.java
        │               │   │   ├── commands/
        │               │   │   │   ├── CmdAdminAddGenerator.java
        │               │   │   │   ├── CmdAdminClearGenerator.java
        │               │   │   │   └── CmdAdminSetGenerator.java
        │               │   │   └── listeners/
        │               │   │       └── GeneratorsListener.java
        │               │   ├── logging/
        │               │   │   └── ModuleLoggerFileHandler.java
        │               │   ├── missions/
        │               │   │   ├── MissionsModule.java
        │               │   │   └── commands/
        │               │   │       ├── CmdAdminMission.java
        │               │   │       ├── CmdMission.java
        │               │   │       └── CmdMissions.java
        │               │   └── upgrades/
        │               │       ├── UpgradesModule.java
        │               │       ├── commands/
        │               │       │   ├── CmdAdminAddBlockLimit.java
        │               │       │   ├── CmdAdminAddCropGrowth.java
        │               │       │   ├── CmdAdminAddEffect.java
        │               │       │   ├── CmdAdminAddEntityLimit.java
        │               │       │   ├── CmdAdminAddMobDrops.java
        │               │       │   ├── CmdAdminAddSpawnerRates.java
        │               │       │   ├── CmdAdminRankup.java
        │               │       │   ├── CmdAdminRemoveBlockLimit.java
        │               │       │   ├── CmdAdminRemoveEntityLimit.java
        │               │       │   ├── CmdAdminSetBlockLimit.java
        │               │       │   ├── CmdAdminSetCropGrowth.java
        │               │       │   ├── CmdAdminSetEffect.java
        │               │       │   ├── CmdAdminSetEntityLimit.java
        │               │       │   ├── CmdAdminSetMobDrops.java
        │               │       │   ├── CmdAdminSetSpawnerRates.java
        │               │       │   ├── CmdAdminSetUpgrade.java
        │               │       │   ├── CmdAdminSyncUpgrades.java
        │               │       │   ├── CmdRankup.java
        │               │       │   └── CmdUpgrade.java
        │               │       └── type/
        │               │           ├── IUpgradeType.java
        │               │           ├── UpgradeTypeBlockLimits.java
        │               │           ├── UpgradeTypeCropGrowth.java
        │               │           ├── UpgradeTypeEntityLimits.java
        │               │           ├── UpgradeTypeIslandEffects.java
        │               │           ├── UpgradeTypeMobDrops.java
        │               │           └── UpgradeTypeSpawnerRates.java
        │               ├── nms/
        │               │   ├── ICachedBlock.java
        │               │   ├── NMSAlgorithms.java
        │               │   ├── NMSChunks.java
        │               │   ├── NMSDragonFight.java
        │               │   ├── NMSDragonFightChooser.java
        │               │   ├── NMSDragonFightImpl.java
        │               │   ├── NMSEntities.java
        │               │   ├── NMSHolograms.java
        │               │   ├── NMSPlayers.java
        │               │   ├── NMSTags.java
        │               │   ├── NMSWorld.java
        │               │   ├── bridge/
        │               │   │   └── PistonPushReaction.java
        │               │   ├── player/
        │               │   │   └── OfflinePlayerData.java
        │               │   └── world/
        │               │       ├── ChunkReader.java
        │               │       └── WorldEditSession.java
        │               ├── platform/
        │               │   ├── IPlatform.java
        │               │   └── event/
        │               │       ├── GameEvent.java
        │               │       ├── GameEventCallback.java
        │               │       ├── GameEventFlags.java
        │               │       ├── GameEventPriority.java
        │               │       ├── GameEventType.java
        │               │       ├── GameEventsDispatcher.java
        │               │       └── args/
        │               │           ├── GameEventArgs.java
        │               │           └── IEventArgs.java
        │               ├── player/
        │               │   ├── PlayerLocales.java
        │               │   ├── PlayersManagerImpl.java
        │               │   ├── SSuperiorPlayer.java
        │               │   ├── SuperiorNPCPlayer.java
        │               │   ├── algorithm/
        │               │   │   └── DefaultPlayerTeleportAlgorithm.java
        │               │   ├── builder/
        │               │   │   └── SuperiorPlayerBuilderImpl.java
        │               │   ├── cache/
        │               │   │   └── PlayerCacheImpl.java
        │               │   ├── chat/
        │               │   │   └── PlayerChat.java
        │               │   ├── container/
        │               │   │   └── DefaultPlayersContainer.java
        │               │   ├── inventory/
        │               │   │   └── ClearActions.java
        │               │   ├── permissions/
        │               │   │   └── PlayerPermissionsStore.java
        │               │   └── respawn/
        │               │       └── RespawnActions.java
        │               ├── service/
        │               │   ├── IService.java
        │               │   ├── ServicesHandler.java
        │               │   ├── bossbar/
        │               │   │   ├── BossBarTask.java
        │               │   │   ├── BossBarsServiceImpl.java
        │               │   │   └── EmptyBossBar.java
        │               │   ├── dragon/
        │               │   │   └── DragonBattleServiceImpl.java
        │               │   ├── hologram/
        │               │   │   └── HologramsServiceImpl.java
        │               │   ├── message/
        │               │   │   └── MessagesServiceImpl.java
        │               │   ├── placeholders/
        │               │   │   └── PlaceholdersServiceImpl.java
        │               │   ├── portals/
        │               │   │   └── PortalsManagerServiceImpl.java
        │               │   ├── region/
        │               │   │   ├── ProtectionHelper.java
        │               │   │   └── RegionManagerServiceImpl.java
        │               │   ├── stackedblocks/
        │               │   │   ├── StackedBlocksInteractionServiceImpl.java
        │               │   │   └── StackedBlocksServiceHelper.java
        │               │   └── world/
        │               │       └── WorldRecordServiceImpl.java
        │               ├── tag/
        │               │   ├── BigDecimalTag.java
        │               │   ├── ByteArrayTag.java
        │               │   ├── ByteTag.java
        │               │   ├── CompoundTag.java
        │               │   ├── DoubleTag.java
        │               │   ├── EndTag.java
        │               │   ├── FloatTag.java
        │               │   ├── IntArrayTag.java
        │               │   ├── IntTag.java
        │               │   ├── ListTag.java
        │               │   ├── LongTag.java
        │               │   ├── NBTTags.java
        │               │   ├── NBTUtils.java
        │               │   ├── NMSTagConverter.java
        │               │   ├── NumberTag.java
        │               │   ├── PersistentDataTag.java
        │               │   ├── PersistentDataTagSerialized.java
        │               │   ├── ShortTag.java
        │               │   ├── StringTag.java
        │               │   ├── Tag.java
        │               │   └── UUIDTag.java
        │               └── world/
        │                   ├── BukkitEntities.java
        │                   ├── BukkitItems.java
        │                   ├── Dimensions.java
        │                   ├── EntityTeleports.java
        │                   ├── GeneratorType.java
        │                   ├── SignType.java
        │                   ├── WorldBlocks.java
        │                   ├── WorldGenerator.java
        │                   ├── WorldReader.java
        │                   ├── chunk/
        │                   │   ├── ChunkLoadReason.java
        │                   │   └── ChunksProvider.java
        │                   ├── entity/
        │                   │   ├── BuiltinEntityCategory.java
        │                   │   └── EntityCategoryImpl.java
        │                   ├── generator/
        │                   │   └── IslandsGenerator.java
        │                   └── schematic/
        │                       ├── BaseSchematic.java
        │                       ├── SchematicBuilder.java
        │                       ├── SchematicsManagerImpl.java
        │                       ├── container/
        │                       │   ├── DefaultSchematicsContainer.java
        │                       │   └── SchematicsContainer.java
        │                       ├── impl/
        │                       │   ├── CachedSuperiorSchematic.java
        │                       │   ├── SuperiorSchematic.java
        │                       │   └── SuperiorSchematicDeserializer.java
        │                       ├── options/
        │                       │   ├── SchematicOptionsBuilderImpl.java
        │                       │   └── SchematicOptionsImpl.java
        │                       └── parser/
        │                           └── DefaultSchematicParser.java
        └── resources/
            ├── block-values/
            │   ├── levels.yml
            │   └── worth.yml
            ├── config.yml
            ├── entity-categories.yml
            ├── heads.yml
            ├── interactables.yml
            ├── lang/
            │   ├── de-DE.yml
            │   ├── en-US.yml
            │   ├── es-ES.yml
            │   ├── fr-FR.yml
            │   ├── it-IT.yml
            │   ├── iw-IL.yml
            │   ├── pl-PL.yml
            │   ├── pt-BR.yml
            │   ├── ru-RU.yml
            │   ├── tr-TR.yml
            │   ├── vi-VN.yml
            │   └── zh-CN.yml
            ├── menus/
            │   ├── bank-logs.yml
            │   ├── bank-logs1_12.yml
            │   ├── bank-logs1_13.yml
            │   ├── banned-players.yml
            │   ├── banned-players1_12.yml
            │   ├── banned-players1_13.yml
            │   ├── biomes.yml
            │   ├── biomes1_12.yml
            │   ├── biomes1_13.yml
            │   ├── border-color.yml
            │   ├── border-color1_12.yml
            │   ├── border-color1_13.yml
            │   ├── confirm-ban.yml
            │   ├── confirm-ban1_12.yml
            │   ├── confirm-ban1_13.yml
            │   ├── confirm-disband.yml
            │   ├── confirm-disband1_12.yml
            │   ├── confirm-disband1_13.yml
            │   ├── confirm-kick.yml
            │   ├── confirm-kick1_12.yml
            │   ├── confirm-kick1_13.yml
            │   ├── confirm-leave.yml
            │   ├── confirm-leave1_12.yml
            │   ├── confirm-leave1_13.yml
            │   ├── confirm-transfer.yml
            │   ├── confirm-transfer1_12.yml
            │   ├── confirm-transfer1_13.yml
            │   ├── control-panel.yml
            │   ├── control-panel1_12.yml
            │   ├── control-panel1_13.yml
            │   ├── coops.yml
            │   ├── coops1_12.yml
            │   ├── coops1_13.yml
            │   ├── counts.yml
            │   ├── counts1_12.yml
            │   ├── counts1_13.yml
            │   ├── counts1_20.yml
            │   ├── global-warps.yml
            │   ├── global-warps1_12.yml
            │   ├── global-warps1_13.yml
            │   ├── island-bank.yml
            │   ├── island-bank1_12.yml
            │   ├── island-bank1_13.yml
            │   ├── island-chest.yml
            │   ├── island-chest1_12.yml
            │   ├── island-chest1_13.yml
            │   ├── island-creation.yml
            │   ├── island-creation1_12.yml
            │   ├── island-creation1_13.yml
            │   ├── island-rate.yml
            │   ├── island-rate1_12.yml
            │   ├── island-rate1_13.yml
            │   ├── island-ratings.yml
            │   ├── island-ratings1_13.yml
            │   ├── member-manage.yml
            │   ├── member-manage1_12.yml
            │   ├── member-manage1_13.yml
            │   ├── member-role.yml
            │   ├── member-role1_12.yml
            │   ├── member-role1_13.yml
            │   ├── members.yml
            │   ├── members1_12.yml
            │   ├── members1_13.yml
            │   ├── missions-category.yml
            │   ├── missions-category1_12.yml
            │   ├── missions-category1_13.yml
            │   ├── missions.yml
            │   ├── missions1_12.yml
            │   ├── missions1_13.yml
            │   ├── permissions.yml
            │   ├── permissions1_12.yml
            │   ├── permissions1_16.yml
            │   ├── permissions1_17.yml
            │   ├── permissions1_19.yml
            │   ├── permissions1_20.yml
            │   ├── permissions1_21.yml
            │   ├── player-language.yml
            │   ├── player-language1_12.yml
            │   ├── player-language1_13.yml
            │   ├── settings.yml
            │   ├── settings1_12.yml
            │   ├── settings1_13.yml
            │   ├── settings1_20.yml
            │   ├── top-islands.yml
            │   ├── top-islands1_12.yml
            │   ├── top-islands1_13.yml
            │   ├── unique-visitors.yml
            │   ├── unique-visitors1_12.yml
            │   ├── unique-visitors1_13.yml
            │   ├── upgrades.yml
            │   ├── upgrades1_12.yml
            │   ├── upgrades1_13.yml
            │   ├── upgrades1_20.yml
            │   ├── values.yml
            │   ├── values1_13.yml
            │   ├── values1_20.yml
            │   ├── visitors.yml
            │   ├── visitors1_12.yml
            │   ├── visitors1_13.yml
            │   ├── warp-categories.yml
            │   ├── warp-categories1_13.yml
            │   ├── warp-category-icon-edit.yml
            │   ├── warp-category-icon-edit1_12.yml
            │   ├── warp-category-manage.yml
            │   ├── warp-category-manage1_12.yml
            │   ├── warp-icon-edit.yml
            │   ├── warp-icon-edit1_12.yml
            │   ├── warp-manage.yml
            │   ├── warp-manage1_12.yml
            │   ├── warps.yml
            │   ├── warps1_12.yml
            │   └── warps1_13.yml
            ├── modules/
            │   ├── bank/
            │   │   └── config.yml
            │   ├── generators/
            │   │   └── config.yml
            │   ├── missions/
            │   │   ├── categories/
            │   │   │   ├── explorer/
            │   │   │   │   ├── explorer_1.yml
            │   │   │   │   └── explorer_2.yml
            │   │   │   ├── farmer/
            │   │   │   │   ├── farmer_1.yml
            │   │   │   │   ├── farmer_11_12.yml
            │   │   │   │   ├── farmer_2.yml
            │   │   │   │   ├── farmer_21_12.yml
            │   │   │   │   ├── farmer_3.yml
            │   │   │   │   ├── farmer_31_12.yml
            │   │   │   │   ├── farmer_4.yml
            │   │   │   │   ├── farmer_41_12.yml
            │   │   │   │   ├── farmer_5.yml
            │   │   │   │   └── farmer_51_12.yml
            │   │   │   ├── fisherman/
            │   │   │   │   ├── fisherman_1.yml
            │   │   │   │   ├── fisherman_11_13.yml
            │   │   │   │   ├── fisherman_2.yml
            │   │   │   │   ├── fisherman_21_13.yml
            │   │   │   │   ├── fisherman_3.yml
            │   │   │   │   └── fisherman_31_13.yml
            │   │   │   ├── miner/
            │   │   │   │   ├── miner_1.yml
            │   │   │   │   ├── miner_2.yml
            │   │   │   │   ├── miner_3.yml
            │   │   │   │   ├── miner_4.yml
            │   │   │   │   └── miner_5.yml
            │   │   │   └── slayer/
            │   │   │       ├── slayer_1.yml
            │   │   │       ├── slayer_2.yml
            │   │   │       ├── slayer_3.yml
            │   │   │       └── slayer_4.yml
            │   │   └── config.yml
            │   └── upgrades/
            │       └── config.yml
            ├── plugin.yml
            ├── safe_blocks.yml
            └── schematics/
                ├── desert.schematic
                ├── desert1_16.schematic
                ├── mycel.schematic
                ├── mycel1_16.schematic
                ├── normal.schematic
                ├── normal1_16.schematic
                ├── normal_nether.schematic
                ├── normal_nether1_16.schematic
                ├── normal_the_end.schematic
                ├── normal_the_end1_12.schematic
                └── normal_the_end1_16.schematic
Download .txt
Showing preview only (1,406K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (17449 symbols across 1424 files)

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/SuperiorSkyblock.java
  type SuperiorSkyblock (line 23) | public interface SuperiorSkyblock extends Plugin {
    method getGrid (line 28) | GridManager getGrid();
    method getStackedBlocks (line 33) | StackedBlocksManager getStackedBlocks();
    method getBlockValues (line 38) | BlockValuesManager getBlockValues();
    method getSchematics (line 43) | SchematicManager getSchematics();
    method getPlayers (line 48) | PlayersManager getPlayers();
    method getRoles (line 53) | RolesManager getRoles();
    method getMissions (line 58) | MissionsManager getMissions();
    method getMenus (line 63) | MenusManager getMenus();
    method getKeys (line 68) | KeysManager getKeys();
    method getProviders (line 73) | ProvidersManager getProviders();
    method getUpgrades (line 78) | UpgradesManager getUpgrades();
    method getCommands (line 83) | CommandsManager getCommands();
    method getSettings (line 88) | SettingsManager getSettings();
    method getFactory (line 93) | FactoriesManager getFactory();
    method getModules (line 98) | ModulesManager getModules();
    method getScriptEngine (line 103) | IScriptEngine getScriptEngine();
    method setScriptEngine (line 111) | void setScriptEngine(@Nullable IScriptEngine scriptEngine);
    method getEventsDispatcher (line 118) | @Nullable
    method setEventsDispatcher (line 127) | void setEventsDispatcher(@Nullable IEventsDispatcher eventsDispatcher);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/SuperiorSkyblockAPI.java
  class SuperiorSkyblockAPI (line 33) | public class SuperiorSkyblockAPI {
    method SuperiorSkyblockAPI (line 40) | private SuperiorSkyblockAPI() {
    method getSuperiorSkyblock (line 51) | public static SuperiorSkyblock getSuperiorSkyblock() {
    method setPluginInstance (line 61) | public static void setPluginInstance(SuperiorSkyblock plugin) {
    method getAPIVersion (line 73) | public static int getAPIVersion() {
    method getPlayer (line 84) | public static SuperiorPlayer getPlayer(Player player) {
    method getPlayer (line 91) | @Nullable
    method getPlayer (line 102) | public static SuperiorPlayer getPlayer(UUID uuid) {
    method createIsland (line 119) | public static void createIsland(SuperiorPlayer superiorPlayer, String ...
    method createIsland (line 133) | public static void createIsland(SuperiorPlayer superiorPlayer, String ...
    method createIsland (line 148) | public static void createIsland(SuperiorPlayer superiorPlayer, String ...
    method deleteIsland (line 155) | public static void deleteIsland(Island island) {
    method getIsland (line 162) | @Nullable
    method getIslandByUUID (line 170) | @Nullable
    method getSpawnIsland (line 178) | public static Island getSpawnIsland() {
    method getIslandsWorld (line 185) | @Nullable
    method getIslandAt (line 193) | @Nullable
    method calcAllIslands (line 201) | public static void calcAllIslands() {
    method getSchematic (line 212) | @Nullable
    method setSpawnersProvider (line 226) | public static void setSpawnersProvider(SpawnersProvider spawnersProvid...
    method registerCommand (line 239) | public static void registerCommand(SuperiorCommand superiorCommand) {
    method getGrid (line 250) | public static GridManager getGrid() {
    method getStackedBlocks (line 257) | public static StackedBlocksManager getStackedBlocks() {
    method getBlockValues (line 264) | public static BlockValuesManager getBlockValues() {
    method getSchematics (line 271) | public static SchematicManager getSchematics() {
    method getPlayers (line 278) | public static PlayersManager getPlayers() {
    method getRoles (line 285) | public static RolesManager getRoles() {
    method getMissions (line 292) | public static MissionsManager getMissions() {
    method getMenus (line 299) | public static MenusManager getMenus() {
    method getKeys (line 306) | public static KeysManager getKeys() {
    method getProviders (line 313) | public static ProvidersManager getProviders() {
    method getUpgrades (line 320) | public static UpgradesManager getUpgrades() {
    method getCommands (line 327) | public static CommandsManager getCommands() {
    method getSettings (line 334) | public static SettingsManager getSettings() {
    method getFactory (line 341) | public static FactoriesManager getFactory() {
    method getModules (line 348) | public static ModulesManager getModules() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/commands/SuperiorCommand.java
  type SuperiorCommand (line 9) | public interface SuperiorCommand {
    method getAliases (line 14) | List<String> getAliases();
    method getPermission (line 20) | String getPermission();
    method getUsage (line 27) | String getUsage(Locale locale);
    method getDescription (line 34) | String getDescription(Locale locale);
    method getMinArgs (line 40) | int getMinArgs();
    method getMaxArgs (line 46) | int getMaxArgs();
    method canBeExecutedByConsole (line 52) | boolean canBeExecutedByConsole();
    method displayCommand (line 58) | boolean displayCommand();
    method execute (line 67) | void execute(SuperiorSkyblock plugin, CommandSender sender, String[] a...
    method tabComplete (line 76) | List<String> tabComplete(SuperiorSkyblock plugin, CommandSender sender...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/config/SettingsManager.java
  type SettingsManager (line 30) | public interface SettingsManager {
    method getCalcInterval (line 37) | long getCalcInterval();
    method getDatabase (line 43) | Database getDatabase();
    method getIslandCommand (line 50) | String getIslandCommand();
    method getMaxIslandSize (line 56) | int getMaxIslandSize();
    method getDefaultValues (line 62) | DefaultValues getDefaultValues();
    method getIslandHeight (line 68) | int getIslandHeight();
    method isWorldBorders (line 74) | boolean isWorldBorders();
    method getStackedBlocks (line 80) | StackedBlocks getStackedBlocks();
    method getIslandLevelFormula (line 87) | String getIslandLevelFormula();
    method isRoundedIslandLevels (line 93) | boolean isRoundedIslandLevels();
    method getIslandLevelRoundingMode (line 99) | RoundingMode getIslandLevelRoundingMode();
    method isAutoBlocksTracking (line 105) | boolean isAutoBlocksTracking();
    method getIslandTopOrder (line 111) | String getIslandTopOrder();
    method getGlobalWarpsOrder (line 117) | String getGlobalWarpsOrder();
    method isCoopMembers (line 123) | boolean isCoopMembers();
    method isEditPlayerPermissions (line 129) | boolean isEditPlayerPermissions();
    method getIslandRoles (line 135) | IslandRoles getIslandRoles();
    method getSignWarpLine (line 141) | String getSignWarpLine();
    method getSignWarp (line 147) | List<String> getSignWarp();
    method getVisitorsSign (line 153) | VisitorsSign getVisitorsSign();
    method getWorlds (line 159) | Worlds getWorlds();
    method getSpawn (line 165) | Spawn getSpawn();
    method getWorldPermissions (line 171) | Collection<String> getWorldPermissions();
    method getVoidTeleport (line 177) | VoidTeleport getVoidTeleport();
    method getInteractables (line 184) | @Deprecated
    method getInteractablesMap (line 190) | Interactables getInteractablesMap();
    method getSafeBlocks (line 195) | Collection<Key> getSafeBlocks();
    method isVisitorsDamage (line 201) | boolean isVisitorsDamage();
    method isCoopDamage (line 207) | boolean isCoopDamage();
    method getDisbandCount (line 214) | int getDisbandCount();
    method isIslandTopIncludeLeader (line 220) | boolean isIslandTopIncludeLeader();
    method getDefaultPlaceholders (line 226) | Map<String, String> getDefaultPlaceholders();
    method isBanConfirm (line 232) | boolean isBanConfirm();
    method isDisbandConfirm (line 238) | boolean isDisbandConfirm();
    method isKickConfirm (line 244) | boolean isKickConfirm();
    method isLeaveConfirm (line 250) | boolean isLeaveConfirm();
    method isTransferConfirm (line 256) | boolean isTransferConfirm();
    method getSpawnersProvider (line 263) | String getSpawnersProvider();
    method getStackedBlocksProvider (line 270) | String getStackedBlocksProvider();
    method isDisbandInventoryClear (line 279) | @Deprecated
    method getIslandNames (line 286) | IslandNames getIslandNames();
    method isTeleportOnCreate (line 292) | boolean isTeleportOnCreate();
    method isTeleportOnJoin (line 298) | boolean isTeleportOnJoin();
    method isTeleportOnKick (line 304) | boolean isTeleportOnKick();
    method isTeleportOnLeave (line 310) | boolean isTeleportOnLeave();
    method isClearOnJoin (line 319) | @Deprecated
    method getClearActionsOnDisband (line 326) | List<ClearAction> getClearActionsOnDisband();
    method getClearActionsOnJoin (line 332) | List<ClearAction> getClearActionsOnJoin();
    method getClearActionsOnKick (line 338) | List<ClearAction> getClearActionsOnKick();
    method getClearActionsOnLeave (line 344) | List<ClearAction> getClearActionsOnLeave();
    method isRateOwnIsland (line 350) | boolean isRateOwnIsland();
    method isChangeIslandRating (line 356) | boolean isChangeIslandRating();
    method getDefaultSettings (line 362) | List<String> getDefaultSettings();
    method isDisableRedstoneOffline (line 368) | boolean isDisableRedstoneOffline();
    method getAFKIntegrations (line 374) | AFKIntegrations getAFKIntegrations();
    method getCommandsCooldown (line 382) | Map<String, Pair<Integer, String>> getCommandsCooldown();
    method getUpgradeCooldown (line 389) | long getUpgradeCooldown();
    method getNumbersFormat (line 395) | String getNumbersFormat();
    method getDateFormat (line 401) | String getDateFormat();
    method isSkipOneItemMenus (line 407) | boolean isSkipOneItemMenus();
    method isTeleportOnPvPEnable (line 413) | boolean isTeleportOnPvPEnable();
    method isImmuneToPvPWhenTeleport (line 419) | boolean isImmuneToPvPWhenTeleport();
    method getBlockedVisitorsCommands (line 425) | List<String> getBlockedVisitorsCommands();
    method getDefaultContainers (line 432) | DefaultContainers getDefaultContainers();
    method getDefaultSign (line 439) | List<String> getDefaultSign();
    method getEventCommands (line 446) | Map<String, List<String>> getEventCommands();
    method getWarpsWarmup (line 453) | long getWarpsWarmup();
    method getHomeWarmup (line 460) | long getHomeWarmup();
    method getVisitWarmup (line 467) | long getVisitWarmup();
    method isLiquidUpdate (line 473) | boolean isLiquidUpdate();
    method isLightsUpdate (line 479) | boolean isLightsUpdate();
    method getPvPWorlds (line 485) | List<String> getPvPWorlds();
    method isStopLeaving (line 491) | boolean isStopLeaving();
    method isValuesMenu (line 497) | boolean isValuesMenu();
    method getCropsToGrow (line 503) | List<String> getCropsToGrow();
    method getCropsInterval (line 509) | int getCropsInterval();
    method isOnlyBackButton (line 515) | boolean isOnlyBackButton();
    method isBuildOutsideIsland (line 523) | boolean isBuildOutsideIsland();
    method getDefaultLanguage (line 529) | String getDefaultLanguage();
    method isDefaultWorldBorder (line 535) | boolean isDefaultWorldBorder();
    method isDefaultStackedBlocks (line 541) | boolean isDefaultStackedBlocks();
    method isDefaultToggledPanel (line 547) | boolean isDefaultToggledPanel();
    method isDefaultIslandFly (line 553) | boolean isDefaultIslandFly();
    method getDefaultBorderColor (line 559) | String getDefaultBorderColor();
    method isObsidianToLava (line 565) | boolean isObsidianToLava();
    method getSyncWorth (line 571) | BlockValuesManager.SyncWorthStatus getSyncWorth();
    method isNegativeWorth (line 577) | boolean isNegativeWorth();
    method isNegativeLevel (line 583) | boolean isNegativeLevel();
    method getDisabledEvents (line 589) | List<String> getDisabledEvents();
    method getDisabledCommands (line 595) | List<String> getDisabledCommands();
    method getDisabledHooks (line 601) | List<String> getDisabledHooks();
    method isSchematicNameArgument (line 607) | boolean isSchematicNameArgument();
    method getIslandChests (line 613) | IslandChests getIslandChests();
    method getCommandAliases (line 620) | Map<String, List<String>> getCommandAliases();
    method getValuableBlocks (line 626) | Set<Key> getValuableBlocks();
    method getPreviewIslands (line 635) | @Deprecated
    method getIslandPreviews (line 642) | IslandPreviews getIslandPreviews();
    method isTabCompleteHideVanished (line 648) | boolean isTabCompleteHideVanished();
    method isDropsUpgradePlayersMultiply (line 654) | boolean isDropsUpgradePlayersMultiply();
    method getProtectedMessageDelay (line 661) | @Deprecated
    method getMessageDelays (line 669) | Map<String, Long> getMessageDelays();
    method isWarpCategories (line 675) | boolean isWarpCategories();
    method isPhysicsListener (line 681) | boolean isPhysicsListener();
    method getChargeOnWarp (line 688) | double getChargeOnWarp();
    method isPublicWarps (line 694) | boolean isPublicWarps();
    method isLockedIslands (line 700) | boolean isLockedIslands();
    method getRecalcTaskTimeout (line 707) | long getRecalcTaskTimeout();
    method isAutoLanguageDetection (line 713) | boolean isAutoLanguageDetection();
    method isAutoUncoopWhenAlone (line 719) | boolean isAutoUncoopWhenAlone();
    method getTopIslandMembersSorting (line 725) | TopIslandMembersSorting getTopIslandMembersSorting();
    method getBossbarLimit (line 731) | int getBossbarLimit();
    method getDeleteUnsafeWarps (line 737) | boolean getDeleteUnsafeWarps();
    method getPlayerRespawn (line 743) | List<RespawnAction> getPlayerRespawn();
    method getBlockCountsSaveThreshold (line 749) | BigInteger getBlockCountsSaveThreshold();
    method getChatSigningSupport (line 755) | boolean getChatSigningSupport();
    method getCommandsPerPage (line 761) | int getCommandsPerPage();
    method isHelpOnInvalidCommand (line 768) | boolean isHelpOnInvalidCommand();
    method isHelpOnNoPermission (line 775) | boolean isHelpOnNoPermission();
    method isCacheSchematics (line 781) | boolean isCacheSchematics();
    method getEntityCategories (line 787) | @Deprecated
    method getEntityCategoriesMap (line 793) | EntityCategories getEntityCategoriesMap();
    type Database (line 795) | interface Database {
      method getType (line 801) | String getType();
      method isBackup (line 807) | boolean isBackup();
      method getAddress (line 814) | String getAddress();
      method getPort (line 821) | int getPort();
      method getDBName (line 828) | String getDBName();
      method getUsername (line 835) | String getUsername();
      method getPassword (line 842) | String getPassword();
      method getPrefix (line 849) | String getPrefix();
      method hasSSL (line 856) | boolean hasSSL();
      method hasPublicKeyRetrieval (line 863) | boolean hasPublicKeyRetrieval();
      method getWaitTimeout (line 870) | long getWaitTimeout();
      method getMaxLifetime (line 877) | long getMaxLifetime();
    type DefaultValues (line 881) | interface DefaultValues {
      method getIslandSize (line 887) | int getIslandSize();
      method getBlockLimits (line 894) | Map<Key, Integer> getBlockLimits();
      method getEntityLimits (line 901) | Map<Key, Integer> getEntityLimits();
      method getWarpsLimit (line 907) | int getWarpsLimit();
      method getTeamLimit (line 913) | int getTeamLimit();
      method getCoopLimit (line 919) | int getCoopLimit();
      method getCropGrowth (line 925) | double getCropGrowth();
      method getSpawnerRates (line 931) | double getSpawnerRates();
      method getMobDrops (line 937) | double getMobDrops();
      method getBankLimit (line 943) | BigDecimal getBankLimit();
      method getGenerators (line 953) | @Deprecated
      method getGeneratorsMap (line 961) | Map<Dimension, Map<Key, Integer>> getGeneratorsMap();
      method getRoleLimits (line 968) | Map<Integer, Integer> getRoleLimits();
      method getIslandEffects (line 975) | Map<PotionEffectType, Integer> getIslandEffects();
    type StackedBlocks (line 979) | interface StackedBlocks {
      method isEnabled (line 985) | boolean isEnabled();
      method getCustomName (line 991) | String getCustomName();
      method getDisabledWorlds (line 997) | List<String> getDisabledWorlds();
      method getWhitelisted (line 1003) | Set<Key> getWhitelisted();
      method getLimits (line 1010) | Map<Key, Integer> getLimits();
      method isAutoCollect (line 1016) | boolean isAutoCollect();
      method getDepositMenu (line 1022) | DepositMenu getDepositMenu();
      type DepositMenu (line 1025) | interface DepositMenu {
        method isEnabled (line 1031) | boolean isEnabled();
        method getTitle (line 1037) | String getTitle();
    type IslandRoles (line 1043) | interface IslandRoles {
      method getSection (line 1049) | ConfigurationSection getSection();
    type VisitorsSign (line 1053) | interface VisitorsSign {
      method isRequiredForVisit (line 1059) | boolean isRequiredForVisit();
      method getLine (line 1065) | String getLine();
      method getActive (line 1071) | String getActive();
      method getInactive (line 1077) | String getInactive();
      method getDescriptionLineFormat (line 1083) | String getDescriptionLineFormat();
    type Worlds (line 1087) | interface Worlds {
      method getDefaultWorldDimension (line 1093) | Dimension getDefaultWorldDimension();
      method getDefaultWorld (line 1101) | @Deprecated
      method getWorldName (line 1108) | String getWorldName();
      method getDefaultWorldName (line 1113) | String getDefaultWorldName();
      method getNormal (line 1121) | @Deprecated
      method getNether (line 1130) | @Deprecated
      method getEnd (line 1139) | @Deprecated
      method getDimensionConfig (line 1146) | @Nullable
      method getDifficulty (line 1153) | String getDifficulty();
      method getSeaLevelHeight (line 1159) | int getSeaLevelHeight();
      type DimensionConfig (line 1161) | interface DimensionConfig {
        method isEnabled (line 1167) | boolean isEnabled();
        method isUnlocked (line 1173) | boolean isUnlocked();
        method isSchematicOffset (line 1179) | boolean isSchematicOffset();
        method getBiome (line 1185) | String getBiome();
        method getName (line 1191) | String getName();
        method getPortalDestination (line 1200) | @Nullable
      type Normal (line 1205) | interface Normal extends DimensionConfig {
      type Nether (line 1209) | interface Nether extends DimensionConfig {
      type End (line 1213) | interface End extends DimensionConfig {
        method isDragonFight (line 1219) | boolean isDragonFight();
        method getPortalOffset (line 1225) | BlockOffset getPortalOffset();
    type Spawn (line 1231) | interface Spawn {
      method getLocation (line 1237) | String getLocation();
      method isProtected (line 1243) | boolean isProtected();
      method getSettings (line 1249) | List<String> getSettings();
      method getPermissions (line 1255) | List<String> getPermissions();
      method isWorldBorder (line 1261) | boolean isWorldBorder();
      method getSize (line 1267) | int getSize();
      method isPlayersDamage (line 1273) | boolean isPlayersDamage();
    type VoidTeleport (line 1277) | interface VoidTeleport {
      method isMembers (line 1283) | boolean isMembers();
      method isVisitors (line 1289) | boolean isVisitors();
    type IslandNames (line 1293) | interface IslandNames {
      method isRequiredForCreation (line 1299) | boolean isRequiredForCreation();
      method getMaxLength (line 1305) | int getMaxLength();
      method getMinLength (line 1311) | int getMinLength();
      method getFilteredNames (line 1317) | List<String> getFilteredNames();
      method isColorSupport (line 1323) | boolean isColorSupport();
      method isIslandTop (line 1329) | boolean isIslandTop();
      method isPreventPlayerNames (line 1335) | boolean isPreventPlayerNames();
      method isAnnounceChangeToAll (line 1341) | boolean isAnnounceChangeToAll();
    type AFKIntegrations (line 1345) | interface AFKIntegrations {
      method isDisableRedstone (line 1351) | boolean isDisableRedstone();
      method isDisableSpawning (line 1357) | boolean isDisableSpawning();
    type DefaultContainers (line 1361) | interface DefaultContainers {
      method isEnabled (line 1367) | boolean isEnabled();
    type IslandChests (line 1371) | interface IslandChests {
      method getChestTitle (line 1377) | String getChestTitle();
      method getDefaultPages (line 1383) | int getDefaultPages();
      method getDefaultSize (line 1389) | int getDefaultSize();
    type IslandPreviews (line 1393) | interface IslandPreviews {
      method getGameMode (line 1399) | GameMode getGameMode();
      method getMaxDistance (line 1405) | int getMaxDistance();
      method getBlockedCommands (line 1411) | List<String> getBlockedCommands();
      method getLocations (line 1418) | Map<String, Location> getLocations();
    type Interactables (line 1422) | interface Interactables {
      method getInteractables (line 1427) | Set<Key> getInteractables();
      method getInteractables (line 1432) | @Nullable
      method getRequiredPrivilege (line 1438) | @Nullable
    type EntityCategories (line 1443) | interface EntityCategories {
      method getCategories (line 1448) | List<EntityCategory> getCategories();
      method getCategories (line 1455) | List<EntityCategory> getCategories(Key key);
      method getCategoryByName (line 1462) | @Nullable

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseBridge.java
  type DatabaseBridge (line 9) | public interface DatabaseBridge {
    method loadAllObjects (line 17) | void loadAllObjects(String table, Consumer<Map<String, Object>> result...
    method startSavingData (line 25) | @Deprecated
    method batchOperations (line 33) | void batchOperations(boolean batchOperations);
    method updateObject (line 42) | void updateObject(String table, @Nullable DatabaseFilter filter, Pair<...
    method insertObject (line 50) | void insertObject(String table, Pair<String, Object>... columns);
    method deleteObject (line 58) | void deleteObject(String table, @Nullable DatabaseFilter filter);
    method loadObject (line 67) | void loadObject(String table, @Nullable DatabaseFilter filter, Consume...
    method setDatabaseBridgeMode (line 74) | void setDatabaseBridgeMode(DatabaseBridgeMode databaseBridgeMode);
    method getDatabaseBridgeMode (line 79) | DatabaseBridgeMode getDatabaseBridgeMode();

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseBridgeMode.java
  type DatabaseBridgeMode (line 6) | public enum DatabaseBridgeMode {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseFilter.java
  class DatabaseFilter (line 10) | public abstract class DatabaseFilter {
    method fromFilter (line 14) | public static DatabaseFilter fromFilter(String filterKey, Object filte...
    method fromFilters (line 18) | public static DatabaseFilter fromFilters(List<Pair<String, Object>> fi...
    method DatabaseFilter (line 32) | protected DatabaseFilter() {
    method forEach (line 35) | public abstract void forEach(BiConsumer<String, Object> consumer);
    method getFilters (line 37) | public abstract Collection<Pair<String, Object>> getFilters();
    class DatabaseFilterList (line 39) | private static class DatabaseFilterList extends DatabaseFilter {
      method DatabaseFilterList (line 43) | DatabaseFilterList(Collection<Pair<String, Object>> filters) {
      method forEach (line 47) | @Override
      method getFilters (line 52) | @Override
    class DatabaseFilterEmpty (line 59) | private static class DatabaseFilterEmpty extends DatabaseFilter {
      method forEach (line 61) | @Override
      method getFilters (line 66) | @Override
    class DatabaseFilterSingle (line 73) | private static class DatabaseFilterSingle extends DatabaseFilter {
      method DatabaseFilterSingle (line 78) | DatabaseFilterSingle(String filterKey, Object filterValue) {
      method forEach (line 83) | @Override
      method getFilters (line 88) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/data/IDatabaseBridgeHolder.java
  type IDatabaseBridgeHolder (line 3) | public interface IDatabaseBridgeHolder {
    method getDatabaseBridge (line 8) | DatabaseBridge getDatabaseBridge();

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/entity/EntityCategory.java
  type EntityCategory (line 8) | public interface EntityCategory {
    method getName (line 13) | String getName();
    method getEntities (line 18) | KeySet getEntities();
    method getSpawnPrivilege (line 23) | @Nullable
    method getDamagePrivilege (line 29) | @Nullable
    method getInteractPrivilege (line 35) | @Nullable
    method getSpawnerSpawningIslandFlag (line 41) | @Nullable
    method getNaturalSpawningIslandFlag (line 47) | @Nullable

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/BankAction.java
  type BankAction (line 3) | public enum BankAction {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/BorderColor.java
  type BorderColor (line 6) | public enum BorderColor {
    method safeValue (line 12) | public static BorderColor safeValue(String name, BorderColor def) {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/HitActionResult.java
  type HitActionResult (line 3) | public enum HitActionResult {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/MemberRemoveReason.java
  type MemberRemoveReason (line 6) | public enum MemberRemoveReason {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/Rating.java
  type Rating (line 8) | public enum Rating {
    method getValuesString (line 23) | public static String getValuesString() {
    method valueOf (line 37) | public static Rating valueOf(int value) {
    method getValue (line 44) | public int getValue() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/SyncStatus.java
  type SyncStatus (line 9) | public enum SyncStatus {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/TopIslandMembersSorting.java
  type TopIslandMembersSorting (line 7) | public enum TopIslandMembersSorting {
    method TopIslandMembersSorting (line 21) | TopIslandMembersSorting() {
    method setComparator (line 24) | public void setComparator(Comparator<SuperiorPlayer> comparator) {
    method getComparator (line 31) | public Comparator<SuperiorPlayer> getComparator() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/AttemptPlayerSendMessageEvent.java
  class AttemptPlayerSendMessageEvent (line 17) | public class AttemptPlayerSendMessageEvent extends Event implements Canc...
    method AttemptPlayerSendMessageEvent (line 33) | public AttemptPlayerSendMessageEvent(SuperiorPlayer receiver, String m...
    method getReceiver (line 43) | public SuperiorPlayer getReceiver() {
    method getMessageType (line 50) | public String getMessageType() {
    method getArgument (line 60) | public Object getArgument(int index) {
    method setArgument (line 71) | public void setArgument(int index, Object value) {
    method getArgumentsLength (line 79) | public int getArgumentsLength() {
    method isCancelled (line 83) | @Override
    method setCancelled (line 88) | @Override
    method getHandlers (line 93) | @Override
    method getHandlerList (line 98) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/BlockStackEvent.java
  class BlockStackEvent (line 9) | public class BlockStackEvent extends BlockEvent implements Cancellable {
    method BlockStackEvent (line 18) | public BlockStackEvent(Block block, Player player, int originalCount, ...
    method getHandlerList (line 25) | public static HandlerList getHandlerList() {
    method getPlayer (line 29) | public Player getPlayer() {
    method getOriginalCount (line 33) | public int getOriginalCount() {
    method getNewCount (line 37) | public int getNewCount() {
    method getIncreaseAmount (line 41) | public int getIncreaseAmount() {
    method isCancelled (line 45) | @Override
    method setCancelled (line 50) | @Override
    method getHandlers (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/BlockUnstackEvent.java
  class BlockUnstackEvent (line 10) | public class BlockUnstackEvent extends BlockEvent implements Cancellable {
    method BlockUnstackEvent (line 19) | public BlockUnstackEvent(Block block, Player player, int originalCount...
    method getHandlerList (line 26) | public static HandlerList getHandlerList() {
    method getPlayer (line 30) | @Nullable
    method getOriginalCount (line 35) | public int getOriginalCount() {
    method getNewCount (line 39) | public int getNewCount() {
    method getDecreaseAmount (line 43) | public int getDecreaseAmount() {
    method isCancelled (line 47) | @Override
    method setCancelled (line 52) | @Override
    method getHandlers (line 57) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBanEvent.java
  class IslandBanEvent (line 10) | public class IslandBanEvent extends IslandEvent implements Cancellable {
    method IslandBanEvent (line 24) | public IslandBanEvent(SuperiorPlayer superiorPlayer, SuperiorPlayer ta...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getTarget (line 40) | public SuperiorPlayer getTarget() {
    method isCancelled (line 44) | @Override
    method setCancelled (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBankDepositEvent.java
  class IslandBankDepositEvent (line 13) | public class IslandBankDepositEvent extends IslandEvent implements Cance...
    method IslandBankDepositEvent (line 26) | public IslandBankDepositEvent(@Nullable SuperiorPlayer superiorPlayer,...
    method getPlayer (line 36) | @Nullable
    method getAmount (line 44) | public BigDecimal getAmount() {
    method getFailureReason (line 51) | @Nullable
    method setFailureReason (line 61) | public void setFailureReason(@Nullable String failureReason) {
    method isCancelled (line 65) | @Override
    method setCancelled (line 70) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBankWithdrawEvent.java
  class IslandBankWithdrawEvent (line 13) | public class IslandBankWithdrawEvent extends IslandEvent implements Canc...
    method IslandBankWithdrawEvent (line 26) | public IslandBankWithdrawEvent(SuperiorPlayer superiorPlayer, Island i...
    method getPlayer (line 36) | @Nullable
    method getAmount (line 44) | public BigDecimal getAmount() {
    method getFailureReason (line 51) | @Nullable
    method setFailureReason (line 61) | public void setFailureReason(@Nullable String failureReason) {
    method isCancelled (line 65) | @Override
    method setCancelled (line 70) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBiomeChangeEvent.java
  class IslandBiomeChangeEvent (line 11) | public class IslandBiomeChangeEvent extends IslandEvent implements Cance...
    method IslandBiomeChangeEvent (line 24) | public IslandBiomeChangeEvent(SuperiorPlayer superiorPlayer, Island is...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getBiome (line 40) | public Biome getBiome() {
    method setBiome (line 47) | public void setBiome(Biome biome) {
    method isCancelled (line 51) | @Override
    method setCancelled (line 56) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBankLimitEvent.java
  class IslandChangeBankLimitEvent (line 14) | public class IslandChangeBankLimitEvent extends IslandEvent implements C...
    method IslandChangeBankLimitEvent (line 30) | public IslandChangeBankLimitEvent(@Nullable SuperiorPlayer superiorPla...
    method getPlayer (line 40) | @Nullable
    method getBankLimit (line 48) | public BigDecimal getBankLimit() {
    method setBankLimit (line 57) | public void setBankLimit(BigDecimal bankLimit) {
    method isCancelled (line 63) | @Override
    method setCancelled (line 68) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBlockLimitEvent.java
  class IslandChangeBlockLimitEvent (line 13) | public class IslandChangeBlockLimitEvent extends IslandEvent implements ...
    method IslandChangeBlockLimitEvent (line 31) | public IslandChangeBlockLimitEvent(@Nullable SuperiorPlayer superiorPl...
    method getPlayer (line 42) | @Nullable
    method getBlock (line 50) | public Key getBlock() {
    method getBlockLimit (line 57) | public int getBlockLimit() {
    method setBlockLimit (line 66) | public void setBlockLimit(int blockLimit) {
    method isCancelled (line 71) | @Override
    method setCancelled (line 76) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBorderSizeEvent.java
  class IslandChangeBorderSizeEvent (line 12) | public class IslandChangeBorderSizeEvent extends IslandEvent implements ...
    method IslandChangeBorderSizeEvent (line 28) | public IslandChangeBorderSizeEvent(@Nullable SuperiorPlayer superiorPl...
    method getPlayer (line 38) | @Nullable
    method getBorderSize (line 46) | public int getBorderSize() {
    method setBorderSize (line 55) | public void setBorderSize(int borderSize) {
    method isCancelled (line 60) | @Override
    method setCancelled (line 65) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeCoopLimitEvent.java
  class IslandChangeCoopLimitEvent (line 12) | public class IslandChangeCoopLimitEvent extends IslandEvent implements C...
    method IslandChangeCoopLimitEvent (line 28) | public IslandChangeCoopLimitEvent(@Nullable SuperiorPlayer superiorPla...
    method getPlayer (line 38) | @Nullable
    method getCoopLimit (line 46) | public int getCoopLimit() {
    method setCoopLimit (line 55) | public void setCoopLimit(int coopLimit) {
    method isCancelled (line 60) | @Override
    method setCancelled (line 65) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeCropGrowthEvent.java
  class IslandChangeCropGrowthEvent (line 12) | public class IslandChangeCropGrowthEvent extends IslandEvent implements ...
    method IslandChangeCropGrowthEvent (line 28) | public IslandChangeCropGrowthEvent(@Nullable SuperiorPlayer superiorPl...
    method getPlayer (line 38) | @Nullable
    method getCropGrowth (line 46) | public double getCropGrowth() {
    method setCropGrowth (line 55) | public void setCropGrowth(double cropGrowth) {
    method isCancelled (line 60) | @Override
    method setCancelled (line 65) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeDescriptionEvent.java
  class IslandChangeDescriptionEvent (line 11) | public class IslandChangeDescriptionEvent extends IslandEvent implements...
    method IslandChangeDescriptionEvent (line 25) | public IslandChangeDescriptionEvent(Island island, SuperiorPlayer supe...
    method getPlayer (line 34) | public SuperiorPlayer getPlayer() {
    method getDescription (line 41) | public String getDescription() {
    method setIslandName (line 50) | public void setIslandName(String description) {
    method isCancelled (line 55) | @Override
    method setCancelled (line 60) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeDiscordEvent.java
  class IslandChangeDiscordEvent (line 11) | public class IslandChangeDiscordEvent extends IslandEvent implements Can...
    method IslandChangeDiscordEvent (line 25) | public IslandChangeDiscordEvent(SuperiorPlayer superiorPlayer, Island ...
    method getPlayer (line 34) | public SuperiorPlayer getPlayer() {
    method getDiscord (line 41) | public String getDiscord() {
    method setDiscord (line 50) | public void setDiscord(String discord) {
    method isCancelled (line 55) | @Override
    method setCancelled (line 60) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeEffectLevelEvent.java
  class IslandChangeEffectLevelEvent (line 13) | public class IslandChangeEffectLevelEvent extends IslandEvent implements...
    method IslandChangeEffectLevelEvent (line 31) | public IslandChangeEffectLevelEvent(@Nullable SuperiorPlayer superiorP...
    method getPlayer (line 42) | @Nullable
    method getEffectType (line 50) | public PotionEffectType getEffectType() {
    method getEffectLevel (line 57) | public int getEffectLevel() {
    method setEffectLevel (line 66) | public void setEffectLevel(int effectLevel) {
    method isCancelled (line 71) | @Override
    method setCancelled (line 76) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeEntityLimitEvent.java
  class IslandChangeEntityLimitEvent (line 13) | public class IslandChangeEntityLimitEvent extends IslandEvent implements...
    method IslandChangeEntityLimitEvent (line 31) | public IslandChangeEntityLimitEvent(@Nullable SuperiorPlayer superiorP...
    method getPlayer (line 42) | @Nullable
    method getEntity (line 50) | public Key getEntity() {
    method getEntityLimit (line 57) | public int getEntityLimit() {
    method setEntityLimit (line 66) | public void setEntityLimit(int entityLimit) {
    method isCancelled (line 71) | @Override
    method setCancelled (line 76) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeGeneratorRateEvent.java
  class IslandChangeGeneratorRateEvent (line 15) | public class IslandChangeGeneratorRateEvent extends IslandEvent implemen...
    method IslandChangeGeneratorRateEvent (line 35) | @Deprecated
    method IslandChangeGeneratorRateEvent (line 51) | public IslandChangeGeneratorRateEvent(@Nullable SuperiorPlayer superio...
    method getPlayer (line 64) | @Nullable
    method getBlock (line 72) | public Key getBlock() {
    method getEnvironment (line 79) | @Deprecated
    method getDimension (line 87) | public Dimension getDimension() {
    method getGeneratorRate (line 94) | public int getGeneratorRate() {
    method setGeneratorRate (line 103) | public void setGeneratorRate(int generatorRate) {
    method isCancelled (line 108) | @Override
    method setCancelled (line 113) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeLevelBonusEvent.java
  class IslandChangeLevelBonusEvent (line 14) | public class IslandChangeLevelBonusEvent extends IslandEvent implements ...
    method IslandChangeLevelBonusEvent (line 32) | public IslandChangeLevelBonusEvent(@Nullable SuperiorPlayer superiorPl...
    method getPlayer (line 43) | @Nullable
    method getReason (line 51) | public Reason getReason() {
    method getLevelBonus (line 58) | public BigDecimal getLevelBonus() {
    method setLevelBonus (line 67) | public void setLevelBonus(BigDecimal levelBonus) {
    method isCancelled (line 72) | @Override
    method setCancelled (line 77) | @Override
    type Reason (line 85) | public enum Reason {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeMembersLimitEvent.java
  class IslandChangeMembersLimitEvent (line 13) | public class IslandChangeMembersLimitEvent extends IslandEvent implement...
    method IslandChangeMembersLimitEvent (line 29) | public IslandChangeMembersLimitEvent(@Nullable SuperiorPlayer superior...
    method getPlayer (line 39) | @Nullable
    method getMembersLimit (line 47) | public int getMembersLimit() {
    method setMembersLimit (line 56) | public void setMembersLimit(int membersLimit) {
    method isCancelled (line 61) | @Override
    method setCancelled (line 66) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeMobDropsEvent.java
  class IslandChangeMobDropsEvent (line 12) | public class IslandChangeMobDropsEvent extends IslandEvent implements Ca...
    method IslandChangeMobDropsEvent (line 28) | public IslandChangeMobDropsEvent(@Nullable SuperiorPlayer superiorPlay...
    method getPlayer (line 38) | @Nullable
    method getMobDrops (line 46) | public double getMobDrops() {
    method setMobDrops (line 55) | public void setMobDrops(double mobDrops) {
    method isCancelled (line 60) | @Override
    method setCancelled (line 65) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangePaypalEvent.java
  class IslandChangePaypalEvent (line 11) | public class IslandChangePaypalEvent extends IslandEvent implements Canc...
    method IslandChangePaypalEvent (line 25) | public IslandChangePaypalEvent(SuperiorPlayer superiorPlayer, Island i...
    method getPlayer (line 34) | public SuperiorPlayer getPlayer() {
    method getPaypal (line 41) | public String getPaypal() {
    method setPaypal (line 50) | public void setPaypal(String paypal) {
    method isCancelled (line 55) | @Override
    method setCancelled (line 60) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangePlayerPrivilegeEvent.java
  class IslandChangePlayerPrivilegeEvent (line 10) | public class IslandChangePlayerPrivilegeEvent extends IslandEvent implem...
    method IslandChangePlayerPrivilegeEvent (line 26) | public IslandChangePlayerPrivilegeEvent(Island island, SuperiorPlayer ...
    method getPlayer (line 36) | public SuperiorPlayer getPlayer() {
    method getPrivilegedPlayer (line 43) | public SuperiorPlayer getPrivilegedPlayer() {
    method isPrivilegeEnabled (line 50) | public boolean isPrivilegeEnabled() {
    method isCancelled (line 54) | @Override
    method setCancelled (line 59) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeRoleLimitEvent.java
  class IslandChangeRoleLimitEvent (line 13) | public class IslandChangeRoleLimitEvent extends IslandEvent implements C...
    method IslandChangeRoleLimitEvent (line 31) | public IslandChangeRoleLimitEvent(@Nullable SuperiorPlayer superiorPla...
    method getPlayer (line 42) | @Nullable
    method getPlayerRole (line 50) | public PlayerRole getPlayerRole() {
    method getRoleLimit (line 57) | public int getRoleLimit() {
    method setRoleLimit (line 66) | public void setRoleLimit(int roleLimit) {
    method isCancelled (line 71) | @Override
    method setCancelled (line 76) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeRolePrivilegeEvent.java
  class IslandChangeRolePrivilegeEvent (line 12) | public class IslandChangeRolePrivilegeEvent extends IslandEvent implemen...
    method IslandChangeRolePrivilegeEvent (line 27) | public IslandChangeRolePrivilegeEvent(Island island, @Nullable Superio...
    method getPlayer (line 37) | @Nullable
    method getPlayerRole (line 45) | public PlayerRole getPlayerRole() {
    method isCancelled (line 49) | @Override
    method setCancelled (line 54) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeSpawnerRatesEvent.java
  class IslandChangeSpawnerRatesEvent (line 13) | public class IslandChangeSpawnerRatesEvent extends IslandEvent implement...
    method IslandChangeSpawnerRatesEvent (line 29) | public IslandChangeSpawnerRatesEvent(@Nullable SuperiorPlayer superior...
    method getPlayer (line 39) | @Nullable
    method getSpawnerRates (line 47) | public double getSpawnerRates() {
    method setSpawnerRates (line 56) | public void setSpawnerRates(double spawnerRates) {
    method isCancelled (line 61) | @Override
    method setCancelled (line 66) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpCategoryIconEvent.java
  class IslandChangeWarpCategoryIconEvent (line 13) | public class IslandChangeWarpCategoryIconEvent extends IslandEvent imple...
    method IslandChangeWarpCategoryIconEvent (line 32) | public IslandChangeWarpCategoryIconEvent(SuperiorPlayer superiorPlayer...
    method getPlayer (line 42) | public SuperiorPlayer getPlayer() {
    method getWarpCategory (line 49) | public WarpCategory getWarpCategory() {
    method getIcon (line 56) | @Nullable
    method setIcon (line 67) | public void setIcon(@Nullable ItemStack icon) {
    method isCancelled (line 71) | @Override
    method setCancelled (line 76) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpCategorySlotEvent.java
  class IslandChangeWarpCategorySlotEvent (line 12) | public class IslandChangeWarpCategorySlotEvent extends IslandEvent imple...
    method IslandChangeWarpCategorySlotEvent (line 31) | public IslandChangeWarpCategorySlotEvent(SuperiorPlayer superiorPlayer...
    method getPlayer (line 43) | public SuperiorPlayer getPlayer() {
    method getWarpCategory (line 50) | public WarpCategory getWarpCategory() {
    method getSlot (line 57) | public int getSlot() {
    method setSlot (line 66) | public void setSlot(int slot) {
    method isCancelled (line 74) | @Override
    method setCancelled (line 79) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpIconEvent.java
  class IslandChangeWarpIconEvent (line 13) | public class IslandChangeWarpIconEvent extends IslandEvent implements Ca...
    method IslandChangeWarpIconEvent (line 32) | public IslandChangeWarpIconEvent(SuperiorPlayer superiorPlayer, Island...
    method getPlayer (line 42) | public SuperiorPlayer getPlayer() {
    method getIslandWarp (line 49) | public IslandWarp getIslandWarp() {
    method getIcon (line 56) | @Nullable
    method setIcon (line 67) | public void setIcon(@Nullable ItemStack icon) {
    method isCancelled (line 71) | @Override
    method setCancelled (line 76) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpLocationEvent.java
  class IslandChangeWarpLocationEvent (line 13) | public class IslandChangeWarpLocationEvent extends IslandEvent implement...
    method IslandChangeWarpLocationEvent (line 30) | public IslandChangeWarpLocationEvent(SuperiorPlayer superiorPlayer, Is...
    method getPlayer (line 40) | public SuperiorPlayer getPlayer() {
    method getIslandWarp (line 47) | public IslandWarp getIslandWarp() {
    method getLocation (line 54) | public Location getLocation() {
    method setLocation (line 63) | public void setLocation(Location location) {
    method isCancelled (line 71) | @Override
    method setCancelled (line 76) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpsLimitEvent.java
  class IslandChangeWarpsLimitEvent (line 12) | public class IslandChangeWarpsLimitEvent extends IslandEvent implements ...
    method IslandChangeWarpsLimitEvent (line 28) | public IslandChangeWarpsLimitEvent(@Nullable SuperiorPlayer superiorPl...
    method getPlayer (line 38) | @Nullable
    method getWarpsLimit (line 46) | public int getWarpsLimit() {
    method setWarpsLimit (line 55) | public void setWarpsLimit(int warpsLimit) {
    method isCancelled (line 60) | @Override
    method setCancelled (line 65) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWorthBonusEvent.java
  class IslandChangeWorthBonusEvent (line 14) | public class IslandChangeWorthBonusEvent extends IslandEvent implements ...
    method IslandChangeWorthBonusEvent (line 32) | public IslandChangeWorthBonusEvent(@Nullable SuperiorPlayer superiorPl...
    method getPlayer (line 43) | @Nullable
    method getReason (line 51) | public Reason getReason() {
    method getWorthBonus (line 58) | public BigDecimal getWorthBonus() {
    method setWorthBonus (line 67) | public void setWorthBonus(BigDecimal worthBonus) {
    method isCancelled (line 72) | @Override
    method setCancelled (line 77) | @Override
    type Reason (line 85) | public enum Reason {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChatEvent.java
  class IslandChatEvent (line 11) | public class IslandChatEvent extends IslandEvent implements Cancellable {
    method IslandChatEvent (line 24) | public IslandChatEvent(Island island, SuperiorPlayer superiorPlayer, S...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getMessage (line 40) | public String getMessage() {
    method setMessage (line 49) | public void setMessage(String message) {
    method isCancelled (line 55) | @Override
    method setCancelled (line 60) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChunkResetEvent.java
  class IslandChunkResetEvent (line 9) | public class IslandChunkResetEvent extends IslandEvent {
    method IslandChunkResetEvent (line 23) | public IslandChunkResetEvent(Island island, World world, int chunkX, i...
    method getWorld (line 33) | public World getWorld() {
    method getChunkX (line 40) | public int getChunkX() {
    method getChunkZ (line 47) | public int getChunkZ() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearFlagsEvent.java
  class IslandClearFlagsEvent (line 11) | public class IslandClearFlagsEvent extends IslandEvent implements Cancel...
    method IslandClearFlagsEvent (line 24) | public IslandClearFlagsEvent(Island island, @Nullable SuperiorPlayer s...
    method getPlayer (line 32) | @Nullable
    method isCancelled (line 37) | @Override
    method setCancelled (line 42) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearGeneratorRatesEvent.java
  class IslandClearGeneratorRatesEvent (line 14) | public class IslandClearGeneratorRatesEvent extends IslandEvent implemen...
    method IslandClearGeneratorRatesEvent (line 30) | @Deprecated
    method IslandClearGeneratorRatesEvent (line 43) | public IslandClearGeneratorRatesEvent(@Nullable SuperiorPlayer superio...
    method getPlayer (line 53) | @Nullable
    method getEnvironment (line 61) | @Deprecated
    method getDimension (line 69) | public Dimension getDimension() {
    method isCancelled (line 73) | @Override
    method setCancelled (line 78) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearPlayerPrivilegesEvent.java
  class IslandClearPlayerPrivilegesEvent (line 10) | public class IslandClearPlayerPrivilegesEvent extends IslandEvent implem...
    method IslandClearPlayerPrivilegesEvent (line 24) | public IslandClearPlayerPrivilegesEvent(Island island, SuperiorPlayer ...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getPrivilegedPlayer (line 40) | public SuperiorPlayer getPrivilegedPlayer() {
    method isCancelled (line 44) | @Override
    method setCancelled (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearRatingsEvent.java
  class IslandClearRatingsEvent (line 12) | public class IslandClearRatingsEvent extends IslandEvent implements Canc...
    method IslandClearRatingsEvent (line 26) | public IslandClearRatingsEvent(@Nullable SuperiorPlayer superiorPlayer...
    method getPlayer (line 35) | @Nullable
    method isCancelled (line 40) | @Override
    method setCancelled (line 45) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearRolesPrivilegesEvent.java
  class IslandClearRolesPrivilegesEvent (line 11) | public class IslandClearRolesPrivilegesEvent extends IslandEvent impleme...
    method IslandClearRolesPrivilegesEvent (line 23) | public IslandClearRolesPrivilegesEvent(Island island, @Nullable Superi...
    method getPlayer (line 31) | @Nullable
    method isCancelled (line 36) | @Override
    method setCancelled (line 41) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCloseEvent.java
  class IslandCloseEvent (line 11) | public class IslandCloseEvent extends IslandEvent implements Cancellable {
    method IslandCloseEvent (line 25) | public IslandCloseEvent(@Nullable SuperiorPlayer superiorPlayer, Islan...
    method getPlayer (line 34) | @Nullable
    method isCancelled (line 39) | @Override
    method setCancelled (line 44) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCloseWarpEvent.java
  class IslandCloseWarpEvent (line 11) | public class IslandCloseWarpEvent extends IslandEvent implements Cancell...
    method IslandCloseWarpEvent (line 25) | public IslandCloseWarpEvent(SuperiorPlayer superiorPlayer, Island isla...
    method getPlayer (line 34) | public SuperiorPlayer getPlayer() {
    method getIslandWarp (line 41) | public IslandWarp getIslandWarp() {
    method isCancelled (line 45) | @Override
    method setCancelled (line 50) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCoopPlayerEvent.java
  class IslandCoopPlayerEvent (line 10) | public class IslandCoopPlayerEvent extends IslandEvent implements Cancel...
    method IslandCoopPlayerEvent (line 23) | public IslandCoopPlayerEvent(Island island, SuperiorPlayer player, Sup...
    method getPlayer (line 32) | public SuperiorPlayer getPlayer() {
    method getTarget (line 39) | public SuperiorPlayer getTarget() {
    method isCancelled (line 43) | @Override
    method setCancelled (line 48) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateEvent.java
  class IslandCreateEvent (line 10) | public class IslandCreateEvent extends IslandEvent implements Cancellable {
    method IslandCreateEvent (line 24) | @Deprecated
    method IslandCreateEvent (line 36) | public IslandCreateEvent(SuperiorPlayer superiorPlayer, Island island,...
    method IslandCreateEvent (line 48) | public IslandCreateEvent(SuperiorPlayer superiorPlayer, Island island,...
    method getPlayer (line 58) | public SuperiorPlayer getPlayer() {
    method getSchematic (line 65) | public String getSchematic() {
    method canTeleport (line 72) | public boolean canTeleport() {
    method setTeleport (line 79) | public void setTeleport(boolean teleport) {
    method isCancelled (line 83) | @Override
    method setCancelled (line 88) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateWarpCategoryEvent.java
  class IslandCreateWarpCategoryEvent (line 10) | public class IslandCreateWarpCategoryEvent extends IslandEvent implement...
    method IslandCreateWarpCategoryEvent (line 24) | public IslandCreateWarpCategoryEvent(SuperiorPlayer superiorPlayer, Is...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getCategoryName (line 40) | public String getCategoryName() {
    method isCancelled (line 44) | @Override
    method setCancelled (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateWarpEvent.java
  class IslandCreateWarpEvent (line 13) | public class IslandCreateWarpEvent extends IslandEvent implements Cancel...
    method IslandCreateWarpEvent (line 36) | public IslandCreateWarpEvent(SuperiorPlayer superiorPlayer, Island isl...
    method getPlayer (line 49) | public SuperiorPlayer getPlayer() {
    method getWarpName (line 56) | public String getWarpName() {
    method getLocation (line 63) | public Location getLocation() {
    method isOpenToPublic (line 70) | public boolean isOpenToPublic() {
    method getWarpCategory (line 79) | @Nullable
    method isCancelled (line 84) | @Override
    method setCancelled (line 89) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDeleteWarpEvent.java
  class IslandDeleteWarpEvent (line 12) | public class IslandDeleteWarpEvent extends IslandEvent implements Cancel...
    method IslandDeleteWarpEvent (line 28) | public IslandDeleteWarpEvent(@Nullable SuperiorPlayer superiorPlayer, ...
    method getPlayer (line 38) | @Nullable
    method getIslandWarp (line 46) | public IslandWarp getIslandWarp() {
    method isCancelled (line 50) | @Override
    method setCancelled (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDisableFlagEvent.java
  class IslandDisableFlagEvent (line 12) | public class IslandDisableFlagEvent extends IslandEvent implements Cance...
    method IslandDisableFlagEvent (line 28) | public IslandDisableFlagEvent(@Nullable SuperiorPlayer superiorPlayer,...
    method getPlayer (line 38) | @Nullable
    method getIslandFlag (line 46) | public IslandFlag getIslandFlag() {
    method isCancelled (line 50) | @Override
    method setCancelled (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDisbandEvent.java
  class IslandDisbandEvent (line 10) | public class IslandDisbandEvent extends IslandEvent implements Cancellab...
    method IslandDisbandEvent (line 21) | public IslandDisbandEvent(SuperiorPlayer superiorPlayer, Island island) {
    method getPlayer (line 29) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 33) | @Override
    method setCancelled (line 38) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnableFlagEvent.java
  class IslandEnableFlagEvent (line 12) | public class IslandEnableFlagEvent extends IslandEvent implements Cancel...
    method IslandEnableFlagEvent (line 28) | public IslandEnableFlagEvent(@Nullable SuperiorPlayer superiorPlayer, ...
    method getPlayer (line 38) | @Nullable
    method getIslandFlag (line 46) | public IslandFlag getIslandFlag() {
    method isCancelled (line 50) | @Override
    method setCancelled (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterEvent.java
  class IslandEnterEvent (line 11) | public class IslandEnterEvent extends IslandEvent implements Cancellable {
    method IslandEnterEvent (line 25) | public IslandEnterEvent(SuperiorPlayer superiorPlayer, Island island, ...
    method getPlayer (line 34) | public SuperiorPlayer getPlayer() {
    method getCause (line 41) | public EnterCause getCause() {
    method getCancelTeleport (line 48) | public Location getCancelTeleport() {
    method setCancelTeleport (line 55) | public void setCancelTeleport(Location cancelTeleport) {
    method isCancelled (line 59) | @Override
    method setCancelled (line 64) | @Override
    type EnterCause (line 72) | public enum EnterCause {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterPortalEvent.java
  class IslandEnterPortalEvent (line 15) | public class IslandEnterPortalEvent extends IslandEvent implements Cance...
    method IslandEnterPortalEvent (line 36) | @Deprecated
    method IslandEnterPortalEvent (line 54) | public IslandEnterPortalEvent(Island island, SuperiorPlayer superiorPl...
    method getPlayer (line 68) | public SuperiorPlayer getPlayer() {
    method getPortalType (line 75) | public PortalType getPortalType() {
    method getDestination (line 82) | @Deprecated
    method getDestinationDimension (line 90) | public Dimension getDestinationDimension() {
    method setDestination (line 99) | @Deprecated
    method setDestination (line 109) | public void setDestination(Dimension destination) {
    method getSchematic (line 118) | @Nullable
    method setSchematic (line 131) | public void setSchematic(@Nullable Schematic schematic) {
    method isIgnoreInvalidSchematic (line 140) | public boolean isIgnoreInvalidSchematic() {
    method setIgnoreInvalidSchematic (line 149) | public void setIgnoreInvalidSchematic(boolean ignoreInvalidSchematic) {
    method isCancelled (line 153) | @Override
    method setCancelled (line 158) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterProtectedEvent.java
  class IslandEnterProtectedEvent (line 11) | public class IslandEnterProtectedEvent extends IslandEnterEvent {
    method IslandEnterProtectedEvent (line 24) | public IslandEnterProtectedEvent(SuperiorPlayer superiorPlayer, Island...
    method getHandlerList (line 28) | public static HandlerList getHandlerList() {
    method isCancelled (line 32) | @Override
    method setCancelled (line 37) | @Override
    method getHandlers (line 42) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEvent.java
  class IslandEvent (line 11) | public abstract class IslandEvent extends Event {
    method IslandEvent (line 22) | public IslandEvent(Island island) {
    method getHandlerList (line 27) | public static HandlerList getHandlerList() {
    method getIsland (line 34) | public Island getIsland() {
    method getHandlers (line 38) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandGenerateBlockEvent.java
  class IslandGenerateBlockEvent (line 12) | public class IslandGenerateBlockEvent extends IslandEvent implements Can...
    method IslandGenerateBlockEvent (line 28) | public IslandGenerateBlockEvent(Island island, Location location, Key ...
    method getLocation (line 37) | public Location getLocation() {
    method getBlock (line 44) | public Key getBlock() {
    method setBlock (line 53) | public void setBlock(Key block) {
    method isPlaceBlock (line 61) | public boolean isPlaceBlock() {
    method setPlaceBlock (line 68) | public void setPlaceBlock(boolean placeBlock) {
    method isCancelled (line 72) | @Override
    method setCancelled (line 77) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandHomeTeleportEvent.java
  class IslandHomeTeleportEvent (line 11) | public class IslandHomeTeleportEvent extends IslandEvent implements Canc...
    method IslandHomeTeleportEvent (line 24) | public IslandHomeTeleportEvent(Island island, SuperiorPlayer superiorP...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getDimension (line 40) | public Dimension getDimension() {
    method isCancelled (line 44) | @Override
    method setCancelled (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandInviteEvent.java
  class IslandInviteEvent (line 10) | public class IslandInviteEvent extends IslandEvent implements Cancellable {
    method IslandInviteEvent (line 23) | public IslandInviteEvent(SuperiorPlayer superiorPlayer, SuperiorPlayer...
    method getPlayer (line 32) | public SuperiorPlayer getPlayer() {
    method getTarget (line 39) | public SuperiorPlayer getTarget() {
    method isCancelled (line 43) | @Override
    method setCancelled (line 48) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandJoinEvent.java
  class IslandJoinEvent (line 10) | public class IslandJoinEvent extends IslandEvent implements Cancellable {
    method IslandJoinEvent (line 23) | @Deprecated
    method IslandJoinEvent (line 35) | public IslandJoinEvent(SuperiorPlayer superiorPlayer, Island island, C...
    method getPlayer (line 44) | public SuperiorPlayer getPlayer() {
    method getCause (line 51) | public Cause getCause() {
    method isCancelled (line 55) | @Override
    method setCancelled (line 60) | @Override
    type Cause (line 68) | public enum Cause {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandKickEvent.java
  class IslandKickEvent (line 10) | public class IslandKickEvent extends IslandEvent implements Cancellable {
    method IslandKickEvent (line 24) | public IslandKickEvent(SuperiorPlayer superiorPlayer, SuperiorPlayer t...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getTarget (line 40) | public SuperiorPlayer getTarget() {
    method isCancelled (line 44) | @Override
    method setCancelled (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandLeaveEvent.java
  class IslandLeaveEvent (line 12) | public class IslandLeaveEvent extends IslandEvent implements Cancellable {
    method IslandLeaveEvent (line 29) | public IslandLeaveEvent(SuperiorPlayer superiorPlayer, Island island, ...
    method getPlayer (line 39) | public SuperiorPlayer getPlayer() {
    method getCause (line 46) | public LeaveCause getCause() {
    method getTo (line 54) | @Nullable
    method isCancelled (line 59) | @Override
    method setCancelled (line 64) | @Override
    type LeaveCause (line 72) | public enum LeaveCause {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandLeaveProtectedEvent.java
  class IslandLeaveProtectedEvent (line 12) | public class IslandLeaveProtectedEvent extends IslandLeaveEvent {
    method IslandLeaveProtectedEvent (line 26) | public IslandLeaveProtectedEvent(SuperiorPlayer superiorPlayer, Island...
    method getHandlerList (line 30) | public static HandlerList getHandlerList() {
    method isCancelled (line 34) | @Override
    method setCancelled (line 39) | @Override
    method getHandlers (line 44) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandLockWorldEvent.java
  class IslandLockWorldEvent (line 11) | public class IslandLockWorldEvent extends IslandEvent implements Cancell...
    method IslandLockWorldEvent (line 23) | @Deprecated
    method IslandLockWorldEvent (line 34) | public IslandLockWorldEvent(Island island, Dimension dimension) {
    method getEnvironment (line 42) | @Deprecated
    method getDimension (line 50) | public Dimension getDimension() {
    method isCancelled (line 54) | @Override
    method setCancelled (line 59) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandOpenEvent.java
  class IslandOpenEvent (line 11) | public class IslandOpenEvent extends IslandEvent implements Cancellable {
    method IslandOpenEvent (line 25) | public IslandOpenEvent(@Nullable SuperiorPlayer superiorPlayer, Island...
    method getPlayer (line 34) | @Nullable
    method isCancelled (line 39) | @Override
    method setCancelled (line 44) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandOpenWarpEvent.java
  class IslandOpenWarpEvent (line 11) | public class IslandOpenWarpEvent extends IslandEvent implements Cancella...
    method IslandOpenWarpEvent (line 25) | public IslandOpenWarpEvent(SuperiorPlayer superiorPlayer, Island islan...
    method getPlayer (line 34) | public SuperiorPlayer getPlayer() {
    method getIslandWarp (line 41) | public IslandWarp getIslandWarp() {
    method isCancelled (line 45) | @Override
    method setCancelled (line 50) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandQuitEvent.java
  class IslandQuitEvent (line 10) | public class IslandQuitEvent extends IslandEvent implements Cancellable {
    method IslandQuitEvent (line 21) | public IslandQuitEvent(SuperiorPlayer superiorPlayer, Island island) {
    method getPlayer (line 29) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 33) | @Override
    method setCancelled (line 38) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRateEvent.java
  class IslandRateEvent (line 12) | public class IslandRateEvent extends IslandEvent implements Cancellable {
    method IslandRateEvent (line 30) | public IslandRateEvent(@Nullable SuperiorPlayer superiorPlayer, Superi...
    method getPlayer (line 41) | @Nullable
    method getRatingPlayer (line 49) | public SuperiorPlayer getRatingPlayer() {
    method getRating (line 56) | public Rating getRating() {
    method isCancelled (line 60) | @Override
    method setCancelled (line 65) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveBlockLimitEvent.java
  class IslandRemoveBlockLimitEvent (line 12) | public class IslandRemoveBlockLimitEvent extends IslandEvent implements ...
    method IslandRemoveBlockLimitEvent (line 28) | public IslandRemoveBlockLimitEvent(@Nullable SuperiorPlayer superiorPl...
    method getPlayer (line 38) | @Nullable
    method getBlock (line 46) | public Key getBlock() {
    method isCancelled (line 50) | @Override
    method setCancelled (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveEffectEvent.java
  class IslandRemoveEffectEvent (line 12) | public class IslandRemoveEffectEvent extends IslandEvent implements Canc...
    method IslandRemoveEffectEvent (line 28) | public IslandRemoveEffectEvent(@Nullable SuperiorPlayer superiorPlayer...
    method getPlayer (line 38) | @Nullable
    method getEffectType (line 46) | public PotionEffectType getEffectType() {
    method isCancelled (line 50) | @Override
    method setCancelled (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveEntityLimitEvent.java
  class IslandRemoveEntityLimitEvent (line 12) | public class IslandRemoveEntityLimitEvent extends IslandEvent implements...
    method IslandRemoveEntityLimitEvent (line 28) | public IslandRemoveEntityLimitEvent(@Nullable SuperiorPlayer superiorP...
    method getPlayer (line 38) | @Nullable
    method getEntity (line 46) | public Key getEntity() {
    method isCancelled (line 50) | @Override
    method setCancelled (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveGeneratorRateEvent.java
  class IslandRemoveGeneratorRateEvent (line 15) | public class IslandRemoveGeneratorRateEvent extends IslandEvent implemen...
    method IslandRemoveGeneratorRateEvent (line 33) | @Deprecated
    method IslandRemoveGeneratorRateEvent (line 48) | public IslandRemoveGeneratorRateEvent(@Nullable SuperiorPlayer superio...
    method getPlayer (line 60) | @Nullable
    method getBlock (line 68) | public Key getBlock() {
    method getEnvironment (line 75) | @Deprecated
    method getDimension (line 83) | public Dimension getDimension() {
    method isCancelled (line 87) | @Override
    method setCancelled (line 92) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveRatingEvent.java
  class IslandRemoveRatingEvent (line 11) | public class IslandRemoveRatingEvent extends IslandEvent implements Canc...
    method IslandRemoveRatingEvent (line 27) | public IslandRemoveRatingEvent(@Nullable SuperiorPlayer superiorPlayer...
    method getPlayer (line 37) | @Nullable
    method getRatingPlayer (line 45) | public SuperiorPlayer getRatingPlayer() {
    method isCancelled (line 49) | @Override
    method setCancelled (line 54) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveRoleLimitEvent.java
  class IslandRemoveRoleLimitEvent (line 13) | public class IslandRemoveRoleLimitEvent extends IslandEvent implements C...
    method IslandRemoveRoleLimitEvent (line 29) | public IslandRemoveRoleLimitEvent(@Nullable SuperiorPlayer superiorPla...
    method getPlayer (line 39) | @Nullable
    method getPlayerRole (line 47) | public PlayerRole getPlayerRole() {
    method isCancelled (line 51) | @Override
    method setCancelled (line 56) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveVisitorHomeEvent.java
  class IslandRemoveVisitorHomeEvent (line 11) | public class IslandRemoveVisitorHomeEvent extends IslandEvent implements...
    method IslandRemoveVisitorHomeEvent (line 25) | public IslandRemoveVisitorHomeEvent(@Nullable SuperiorPlayer superiorP...
    method getPlayer (line 33) | @Nullable
    method isCancelled (line 38) | @Override
    method setCancelled (line 43) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRenameEvent.java
  class IslandRenameEvent (line 12) | public class IslandRenameEvent extends IslandEvent implements Cancellable {
    method IslandRenameEvent (line 28) | public IslandRenameEvent(Island island, @Nullable SuperiorPlayer super...
    method getPlayer (line 38) | @Nullable
    method getIslandName (line 46) | public String getIslandName() {
    method setIslandName (line 55) | public void setIslandName(String islandName) {
    method isCancelled (line 60) | @Override
    method setCancelled (line 65) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRenameWarpCategoryEvent.java
  class IslandRenameWarpCategoryEvent (line 12) | public class IslandRenameWarpCategoryEvent extends IslandEvent implement...
    method IslandRenameWarpCategoryEvent (line 29) | public IslandRenameWarpCategoryEvent(SuperiorPlayer superiorPlayer, Is...
    method getPlayer (line 39) | public SuperiorPlayer getPlayer() {
    method getWarpCategory (line 46) | public WarpCategory getWarpCategory() {
    method getCategoryName (line 53) | public String getCategoryName() {
    method setCategoryName (line 62) | public void setCategoryName(String categoryName) {
    method isCancelled (line 70) | @Override
    method setCancelled (line 75) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRenameWarpEvent.java
  class IslandRenameWarpEvent (line 12) | public class IslandRenameWarpEvent extends IslandEvent implements Cancel...
    method IslandRenameWarpEvent (line 29) | public IslandRenameWarpEvent(SuperiorPlayer superiorPlayer, Island isl...
    method getPlayer (line 39) | public SuperiorPlayer getPlayer() {
    method getIslandWarp (line 46) | public IslandWarp getIslandWarp() {
    method getWarpName (line 53) | public String getWarpName() {
    method setWarpName (line 62) | public void setWarpName(String warpName) {
    method isCancelled (line 70) | @Override
    method setCancelled (line 75) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRestrictMoveEvent.java
  class IslandRestrictMoveEvent (line 10) | public class IslandRestrictMoveEvent extends Event {
    method IslandRestrictMoveEvent (line 23) | public IslandRestrictMoveEvent(SuperiorPlayer superiorPlayer, Restrict...
    method getHandlerList (line 28) | public static HandlerList getHandlerList() {
    method getPlayer (line 35) | public SuperiorPlayer getPlayer() {
    method getRestrictReason (line 42) | public RestrictReason getRestrictReason() {
    method getHandlers (line 46) | @Override
    type RestrictReason (line 51) | public enum RestrictReason {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandSchematicPasteEvent.java
  class IslandSchematicPasteEvent (line 9) | public class IslandSchematicPasteEvent extends IslandEvent {
    method IslandSchematicPasteEvent (line 21) | public IslandSchematicPasteEvent(Island island, String schematic, Loca...
    method getSchematic (line 30) | public String getSchematic() {
    method getLocation (line 37) | public Location getLocation() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandSetHomeEvent.java
  class IslandSetHomeEvent (line 14) | public class IslandSetHomeEvent extends IslandEvent implements Cancellab...
    method IslandSetHomeEvent (line 31) | public IslandSetHomeEvent(Island island, Location islandHome, Reason r...
    method getIslandHome (line 41) | public Location getIslandHome() {
    method setIslandHome (line 50) | public void setIslandHome(Location islandHome) {
    method getReason (line 58) | public Reason getReason() {
    method getPlayer (line 65) | @Nullable
    method isCancelled (line 70) | @Override
    method setCancelled (line 75) | @Override
    type Reason (line 83) | public enum Reason {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandSetVisitorHomeEvent.java
  class IslandSetVisitorHomeEvent (line 12) | public class IslandSetVisitorHomeEvent extends IslandEvent implements Ca...
    method IslandSetVisitorHomeEvent (line 26) | public IslandSetVisitorHomeEvent(SuperiorPlayer superiorPlayer, Island...
    method getPlayer (line 35) | public SuperiorPlayer getPlayer() {
    method getIslandVisitorHome (line 42) | public Location getIslandVisitorHome() {
    method setIslandHome (line 52) | public void setIslandHome(Location islandVisitorHome) {
    method isCancelled (line 57) | @Override
    method setCancelled (line 62) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandTransferEvent.java
  class IslandTransferEvent (line 10) | public class IslandTransferEvent extends IslandEvent implements Cancella...
    method IslandTransferEvent (line 23) | public IslandTransferEvent(Island island, SuperiorPlayer oldOwner, Sup...
    method getOldOwner (line 32) | public SuperiorPlayer getOldOwner() {
    method getNewOwner (line 39) | public SuperiorPlayer getNewOwner() {
    method isCancelled (line 43) | @Override
    method setCancelled (line 48) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandUnbanEvent.java
  class IslandUnbanEvent (line 10) | public class IslandUnbanEvent extends IslandEvent implements Cancellable {
    method IslandUnbanEvent (line 24) | public IslandUnbanEvent(SuperiorPlayer superiorPlayer, SuperiorPlayer ...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getUnbannedPlayer (line 40) | public SuperiorPlayer getUnbannedPlayer() {
    method isCancelled (line 44) | @Override
    method setCancelled (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandUncoopPlayerEvent.java
  class IslandUncoopPlayerEvent (line 12) | public class IslandUncoopPlayerEvent extends IslandEvent implements Canc...
    method IslandUncoopPlayerEvent (line 28) | public IslandUncoopPlayerEvent(Island island, @Nullable SuperiorPlayer...
    method getPlayer (line 38) | @Nullable
    method getTarget (line 46) | public SuperiorPlayer getTarget() {
    method getUncoopReason (line 53) | public UncoopReason getUncoopReason() {
    method isCancelled (line 57) | @Override
    method setCancelled (line 62) | @Override
    type UncoopReason (line 67) | public enum UncoopReason {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandUnlockWorldEvent.java
  class IslandUnlockWorldEvent (line 11) | public class IslandUnlockWorldEvent extends IslandEvent implements Cance...
    method IslandUnlockWorldEvent (line 23) | @Deprecated
    method IslandUnlockWorldEvent (line 34) | public IslandUnlockWorldEvent(Island island, Dimension dimension) {
    method getEnvironment (line 42) | @Deprecated
    method getDimension (line 50) | public Dimension getDimension() {
    method isCancelled (line 54) | @Override
    method setCancelled (line 59) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandUpgradeEvent.java
  class IslandUpgradeEvent (line 20) | public class IslandUpgradeEvent extends IslandEvent implements Cancellab...
    method IslandUpgradeEvent (line 42) | @Deprecated
    method IslandUpgradeEvent (line 68) | @Deprecated
    method IslandUpgradeEvent (line 87) | public IslandUpgradeEvent(@Nullable SuperiorPlayer superiorPlayer, Isl...
    method getPlayer (line 103) | @Nullable
    method getUpgradeName (line 111) | public String getUpgradeName() {
    method getUpgrade (line 118) | public Upgrade getUpgrade() {
    method getUpgradeLevel (line 125) | public UpgradeLevel getUpgradeLevel() {
    method getCommands (line 132) | public List<String> getCommands() {
    method getCause (line 139) | public Cause getCause() {
    method getUpgradeCost (line 146) | @Nullable
    method setUpgradeCost (line 156) | public void setUpgradeCost(@Nullable UpgradeCost upgradeCost) {
    method getAmountToWithdraw (line 165) | @Deprecated
    method setAmountToWithdraw (line 175) | @Deprecated
    method getCost (line 183) | public BigDecimal getCost() {
    method setCost (line 193) | public void setCost(BigDecimal cost) throws IllegalStateException {
    method isCancelled (line 200) | @Override
    method setCancelled (line 205) | @Override
    type Cause (line 211) | public enum Cause {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandVisitorHomeTeleportEvent.java
  class IslandVisitorHomeTeleportEvent (line 11) | public class IslandVisitorHomeTeleportEvent extends IslandEvent implemen...
    method IslandVisitorHomeTeleportEvent (line 24) | public IslandVisitorHomeTeleportEvent(Island island, SuperiorPlayer su...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getDimension (line 40) | public Dimension getDimension() {
    method isCancelled (line 44) | @Override
    method setCancelled (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandWarpTeleportEvent.java
  class IslandWarpTeleportEvent (line 11) | public class IslandWarpTeleportEvent extends IslandEvent implements Canc...
    method IslandWarpTeleportEvent (line 24) | public IslandWarpTeleportEvent(Island island, SuperiorPlayer superiorP...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getIslandWarp (line 40) | public IslandWarp getIslandWarp() {
    method isCancelled (line 44) | @Override
    method setCancelled (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandWorldResetEvent.java
  class IslandWorldResetEvent (line 13) | public class IslandWorldResetEvent extends IslandEvent implements Cancel...
    method IslandWorldResetEvent (line 29) | @Deprecated
    method IslandWorldResetEvent (line 42) | public IslandWorldResetEvent(@Nullable SuperiorPlayer superiorPlayer, ...
    method getPlayer (line 52) | @Nullable
    method getEnvironment (line 60) | @Deprecated
    method getDimension (line 68) | public Dimension getDimension() {
    method isCancelled (line 72) | @Override
    method setCancelled (line 77) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandWorthCalculatedEvent.java
  class IslandWorthCalculatedEvent (line 12) | public class IslandWorthCalculatedEvent extends IslandEvent {
    method IslandWorthCalculatedEvent (line 27) | public IslandWorthCalculatedEvent(Island island, @Nullable SuperiorPla...
    method getPlayer (line 38) | @Nullable
    method getLevel (line 46) | public BigDecimal getLevel() {
    method getWorth (line 53) | public BigDecimal getWorth() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandWorthUpdateEvent.java
  class IslandWorthUpdateEvent (line 10) | public class IslandWorthUpdateEvent extends IslandEvent {
    method IslandWorthUpdateEvent (line 26) | public IslandWorthUpdateEvent(Island island, BigDecimal oldWorth, BigD...
    method getOldWorth (line 37) | public BigDecimal getOldWorth() {
    method getOldLevel (line 44) | public BigDecimal getOldLevel() {
    method getNewWorth (line 51) | public BigDecimal getNewWorth() {
    method getNewLevel (line 58) | public BigDecimal getNewLevel() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/MissionCompleteEvent.java
  class MissionCompleteEvent (line 17) | public class MissionCompleteEvent extends Event implements Cancellable {
    method MissionCompleteEvent (line 38) | @Deprecated
    method MissionCompleteEvent (line 45) | public MissionCompleteEvent(SuperiorPlayer superiorPlayer, IMissionsHo...
    method getPlayer (line 58) | public SuperiorPlayer getPlayer() {
    method getMissionsHolder (line 65) | public IMissionsHolder getMissionsHolder() {
    method getMission (line 72) | public Mission<?> getMission() {
    method getItemRewards (line 79) | public List<ItemStack> getItemRewards() {
    method getCommandRewards (line 86) | public List<String> getCommandRewards() {
    method isIslandMission (line 93) | public boolean isIslandMission() {
    method isCancelled (line 97) | @Override
    method setCancelled (line 102) | @Override
    method getHandlers (line 107) | @Override
    method getHandlerList (line 112) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/MissionResetEvent.java
  class MissionResetEvent (line 18) | public class MissionResetEvent extends Event implements Cancellable {
    method MissionResetEvent (line 37) | public MissionResetEvent(@Nullable SuperiorPlayer superiorPlayer, IMis...
    method getPlayer (line 47) | @Nullable
    method getMissionsHolder (line 55) | public IMissionsHolder getMissionsHolder() {
    method getMission (line 62) | public Mission<?> getMission() {
    method isCancelled (line 66) | @Override
    method setCancelled (line 71) | @Override
    method getHandlers (line 76) | @Override
    method getHandlerList (line 81) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerChangeBorderColorEvent.java
  class PlayerChangeBorderColorEvent (line 13) | public class PlayerChangeBorderColorEvent extends Event implements Cance...
    method PlayerChangeBorderColorEvent (line 28) | public PlayerChangeBorderColorEvent(SuperiorPlayer superiorPlayer, Bor...
    method getPlayer (line 37) | public SuperiorPlayer getPlayer() {
    method getBorderColor (line 44) | public BorderColor getBorderColor() {
    method isCancelled (line 48) | @Override
    method setCancelled (line 53) | @Override
    method getHandlers (line 58) | @Override
    method getHandlerList (line 63) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerChangeLanguageEvent.java
  class PlayerChangeLanguageEvent (line 14) | public class PlayerChangeLanguageEvent extends Event implements Cancella...
    method PlayerChangeLanguageEvent (line 29) | public PlayerChangeLanguageEvent(SuperiorPlayer superiorPlayer, Locale...
    method getPlayer (line 38) | public SuperiorPlayer getPlayer() {
    method getLanguage (line 45) | public Locale getLanguage() {
    method isCancelled (line 49) | @Override
    method setCancelled (line 54) | @Override
    method getHandlers (line 59) | @Override
    method getHandlerList (line 64) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerChangeNameEvent.java
  class PlayerChangeNameEvent (line 11) | public class PlayerChangeNameEvent extends Event {
    method PlayerChangeNameEvent (line 24) | public PlayerChangeNameEvent(SuperiorPlayer superiorPlayer, String new...
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method getNewName (line 40) | public String getNewName() {
    method getHandlers (line 44) | @Override
    method getHandlerList (line 49) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerChangeRoleEvent.java
  class PlayerChangeRoleEvent (line 13) | public class PlayerChangeRoleEvent extends Event implements Cancellable {
    method PlayerChangeRoleEvent (line 28) | public PlayerChangeRoleEvent(SuperiorPlayer superiorPlayer, PlayerRole...
    method getHandlerList (line 34) | public static HandlerList getHandlerList() {
    method getPlayer (line 41) | public SuperiorPlayer getPlayer() {
    method getNewRole (line 48) | public PlayerRole getNewRole() {
    method isCancelled (line 52) | @Override
    method setCancelled (line 57) | @Override
    method getHandlers (line 62) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerCloseMenuEvent.java
  class PlayerCloseMenuEvent (line 16) | public class PlayerCloseMenuEvent extends Event implements Cancellable {
    method PlayerCloseMenuEvent (line 36) | @Deprecated
    method PlayerCloseMenuEvent (line 49) | public PlayerCloseMenuEvent(SuperiorPlayer superiorPlayer, MenuView<?,...
    method getPlayer (line 59) | public SuperiorPlayer getPlayer() {
    method getSuperiorMenu (line 68) | @Deprecated
    method getOpenedMenuView (line 76) | public MenuView<?, ?> getOpenedMenuView() {
    method getNewMenu (line 86) | @Nullable
    method getNewMenuView (line 96) | @Nullable
    method setNewMenu (line 108) | @Deprecated
    method setNewMenuView (line 119) | public void setNewMenuView(@Nullable MenuView<?, ?> newMenuView) {
    method isCancelled (line 123) | @Override
    method setCancelled (line 128) | @Override
    method getHandlers (line 133) | @Override
    method getHandlerList (line 138) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerOpenMenuEvent.java
  class PlayerOpenMenuEvent (line 14) | public class PlayerOpenMenuEvent extends Event implements Cancellable {
    method PlayerOpenMenuEvent (line 30) | @Deprecated
    method PlayerOpenMenuEvent (line 41) | public PlayerOpenMenuEvent(SuperiorPlayer superiorPlayer, MenuView<?, ...
    method getPlayer (line 50) | public SuperiorPlayer getPlayer() {
    method getSuperiorMenu (line 59) | @Deprecated
    method getMenuView (line 67) | public MenuView<?, ?> getMenuView() {
    method isCancelled (line 71) | @Override
    method setCancelled (line 76) | @Override
    method getHandlers (line 81) | @Override
    method getHandlerList (line 86) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerReplaceEvent.java
  class PlayerReplaceEvent (line 11) | public class PlayerReplaceEvent extends Event {
    method PlayerReplaceEvent (line 24) | public PlayerReplaceEvent(SuperiorPlayer oldPlayer, SuperiorPlayer new...
    method getOldPlayer (line 33) | public SuperiorPlayer getOldPlayer() {
    method getNewPlayer (line 40) | public SuperiorPlayer getNewPlayer() {
    method getHandlers (line 44) | @Override
    method getHandlerList (line 49) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleBlocksStackerEvent.java
  class PlayerToggleBlocksStackerEvent (line 12) | public class PlayerToggleBlocksStackerEvent extends Event implements Can...
    method PlayerToggleBlocksStackerEvent (line 25) | public PlayerToggleBlocksStackerEvent(SuperiorPlayer superiorPlayer) {
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 37) | @Override
    method setCancelled (line 42) | @Override
    method getHandlers (line 47) | @Override
    method getHandlerList (line 52) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleBorderEvent.java
  class PlayerToggleBorderEvent (line 12) | public class PlayerToggleBorderEvent extends Event implements Cancellable {
    method PlayerToggleBorderEvent (line 25) | public PlayerToggleBorderEvent(SuperiorPlayer superiorPlayer) {
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 37) | @Override
    method setCancelled (line 42) | @Override
    method getHandlers (line 47) | @Override
    method getHandlerList (line 52) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleBypassEvent.java
  class PlayerToggleBypassEvent (line 12) | public class PlayerToggleBypassEvent extends Event implements Cancellable {
    method PlayerToggleBypassEvent (line 25) | public PlayerToggleBypassEvent(SuperiorPlayer superiorPlayer) {
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 37) | @Override
    method setCancelled (line 42) | @Override
    method getHandlers (line 47) | @Override
    method getHandlerList (line 52) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleFlyEvent.java
  class PlayerToggleFlyEvent (line 12) | public class PlayerToggleFlyEvent extends Event implements Cancellable {
    method PlayerToggleFlyEvent (line 25) | public PlayerToggleFlyEvent(SuperiorPlayer superiorPlayer) {
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 37) | @Override
    method setCancelled (line 42) | @Override
    method getHandlers (line 47) | @Override
    method getHandlerList (line 52) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerTogglePanelEvent.java
  class PlayerTogglePanelEvent (line 12) | public class PlayerTogglePanelEvent extends Event implements Cancellable {
    method PlayerTogglePanelEvent (line 25) | public PlayerTogglePanelEvent(SuperiorPlayer superiorPlayer) {
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 37) | @Override
    method setCancelled (line 42) | @Override
    method getHandlers (line 47) | @Override
    method getHandlerList (line 52) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleSpyEvent.java
  class PlayerToggleSpyEvent (line 12) | public class PlayerToggleSpyEvent extends Event implements Cancellable {
    method PlayerToggleSpyEvent (line 25) | public PlayerToggleSpyEvent(SuperiorPlayer superiorPlayer) {
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 37) | @Override
    method setCancelled (line 42) | @Override
    method getHandlers (line 47) | @Override
    method getHandlerList (line 52) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleTeamChatEvent.java
  class PlayerToggleTeamChatEvent (line 12) | public class PlayerToggleTeamChatEvent extends Event implements Cancella...
    method PlayerToggleTeamChatEvent (line 25) | public PlayerToggleTeamChatEvent(SuperiorPlayer superiorPlayer) {
    method getPlayer (line 33) | public SuperiorPlayer getPlayer() {
    method isCancelled (line 37) | @Override
    method setCancelled (line 42) | @Override
    method getHandlers (line 47) | @Override
    method getHandlerList (line 52) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PluginInitializeEvent.java
  class PluginInitializeEvent (line 14) | public class PluginInitializeEvent extends Event {
    method PluginInitializeEvent (line 31) | public PluginInitializeEvent(SuperiorSkyblock plugin) {
    method getPlugin (line 40) | public SuperiorSkyblock getPlugin() {
    method getIslandsContainer (line 48) | @Nullable
    method setIslandsContainer (line 58) | public void setIslandsContainer(IslandsContainer islandsContainer) {
    method getPlayersContainer (line 67) | @Nullable
    method setPlayersContainer (line 77) | public void setPlayersContainer(PlayersContainer playersContainer) {
    method getHandlerList (line 82) | public static HandlerList getHandlerList() {
    method getHandlers (line 86) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PluginInitializedEvent.java
  class PluginInitializedEvent (line 10) | public class PluginInitializedEvent extends Event {
    method PluginInitializedEvent (line 19) | public PluginInitializedEvent(SuperiorSkyblock plugin) {
    method getHandlerList (line 23) | public static HandlerList getHandlerList() {
    method getPlugin (line 27) | public SuperiorSkyblock getPlugin() {
    method getHandlers (line 31) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PluginLoadDataEvent.java
  class PluginLoadDataEvent (line 11) | public class PluginLoadDataEvent extends Event implements Cancellable {
    method PluginLoadDataEvent (line 24) | public PluginLoadDataEvent(SuperiorSkyblock plugin) {
    method getPlugin (line 31) | public SuperiorSkyblock getPlugin() {
    method isCancelled (line 35) | @Override
    method setCancelled (line 40) | @Override
    method getHandlerList (line 45) | public static HandlerList getHandlerList() {
    method getHandlers (line 49) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PostIslandCreateEvent.java
  class PostIslandCreateEvent (line 9) | public class PostIslandCreateEvent extends IslandEvent {
    method PostIslandCreateEvent (line 19) | public PostIslandCreateEvent(SuperiorPlayer superiorPlayer, Island isl...
    method getPlayer (line 27) | public SuperiorPlayer getPlayer() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PreIslandCreateEvent.java
  class PreIslandCreateEvent (line 11) | public class PreIslandCreateEvent extends Event implements Cancellable {
    method PreIslandCreateEvent (line 25) | public PreIslandCreateEvent(SuperiorPlayer superiorPlayer, String isla...
    method PreIslandCreateEvent (line 36) | @Deprecated
    method getHandlerList (line 41) | public static HandlerList getHandlerList() {
    method getPlayer (line 48) | public SuperiorPlayer getPlayer() {
    method getIslandName (line 55) | public String getIslandName() {
    method isCancelled (line 59) | @Override
    method setCancelled (line 64) | @Override
    method getHandlers (line 69) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/events/SendMessageEvent.java
  class SendMessageEvent (line 14) | public class SendMessageEvent extends Event implements Cancellable {
    method SendMessageEvent (line 32) | public SendMessageEvent(CommandSender receiver, String messageType, IM...
    method getReceiver (line 43) | public CommandSender getReceiver() {
    method getMessageType (line 50) | public String getMessageType() {
    method getArgument (line 60) | public Object getArgument(int index) {
    method setArgument (line 71) | public void setArgument(int index, Object value) {
    method getArgumentsLength (line 79) | public int getArgumentsLength() {
    method getMessageComponent (line 86) | public IMessageComponent getMessageComponent() {
    method setMessageComponent (line 95) | public void setMessageComponent(IMessageComponent messageComponent) {
    method isCancelled (line 100) | @Override
    method setCancelled (line 105) | @Override
    method getHandlers (line 110) | @Override
    method getHandlerList (line 115) | public static HandlerList getHandlerList() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/BanksFactory.java
  type BanksFactory (line 6) | public interface BanksFactory {
    method createIslandBank (line 14) | IslandBank createIslandBank(Island island, IslandBank original);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DatabaseBridgeFactory.java
  type DatabaseBridgeFactory (line 10) | public interface DatabaseBridgeFactory {
    method createIslandsDatabaseBridge (line 19) | DatabaseBridge createIslandsDatabaseBridge(@Nullable Island island, Da...
    method createPlayersDatabaseBridge (line 28) | DatabaseBridge createPlayersDatabaseBridge(@Nullable SuperiorPlayer su...
    method createGridDatabaseBridge (line 37) | DatabaseBridge createGridDatabaseBridge(@Nullable GridManager gridMana...
    method createStackedBlocksDatabaseBridge (line 46) | DatabaseBridge createStackedBlocksDatabaseBridge(@Nullable StackedBloc...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DelegateBanksFactory.java
  class DelegateBanksFactory (line 6) | public class DelegateBanksFactory implements BanksFactory {
    method DelegateBanksFactory (line 10) | protected DelegateBanksFactory(BanksFactory handle) {
    method createIslandBank (line 14) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DelegateDatabaseBridgeFactory.java
  class DelegateDatabaseBridgeFactory (line 10) | public class DelegateDatabaseBridgeFactory implements DatabaseBridgeFact...
    method DelegateDatabaseBridgeFactory (line 14) | protected DelegateDatabaseBridgeFactory(DatabaseBridgeFactory handle) {
    method createIslandsDatabaseBridge (line 18) | @Override
    method createPlayersDatabaseBridge (line 23) | @Override
    method createGridDatabaseBridge (line 28) | @Override
    method createStackedBlocksDatabaseBridge (line 33) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DelegateIslandsFactory.java
  class DelegateIslandsFactory (line 9) | public class DelegateIslandsFactory implements IslandsFactory {
    method DelegateIslandsFactory (line 13) | protected DelegateIslandsFactory(IslandsFactory handle) {
    method createIsland (line 17) | @Override
    method createIslandCalculationAlgorithm (line 22) | @Override
    method createIslandBlocksTrackerAlgorithm (line 28) | @Override
    method createIslandEntitiesTrackerAlgorithm (line 34) | @Override
    method createIslandCalculationAlgorithm (line 40) | @Override
    method createIslandBlocksTrackerAlgorithm (line 45) | @Override
    method createIslandEntitiesTrackerAlgorithm (line 50) | @Override
    method createPersistentDataContainer (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DelegatePlayersFactory.java
  class DelegatePlayersFactory (line 7) | public class DelegatePlayersFactory implements PlayersFactory {
    method DelegatePlayersFactory (line 11) | protected DelegatePlayersFactory(PlayersFactory handle) {
    method createPlayer (line 15) | @Override
    method createPlayerTeleportAlgorithm (line 20) | @Override
    method createPlayerTeleportAlgorithm (line 26) | @Override
    method createPersistentDataContainer (line 31) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/IslandsFactory.java
  type IslandsFactory (line 9) | public interface IslandsFactory {
    method createIsland (line 16) | Island createIsland(Island original);
    method createIslandCalculationAlgorithm (line 24) | @Deprecated
    method createIslandBlocksTrackerAlgorithm (line 35) | @Deprecated
    method createIslandEntitiesTrackerAlgorithm (line 46) | @Deprecated
    method createIslandCalculationAlgorithm (line 57) | IslandCalculationAlgorithm createIslandCalculationAlgorithm(Island isl...
    method createIslandBlocksTrackerAlgorithm (line 65) | IslandBlocksTrackerAlgorithm createIslandBlocksTrackerAlgorithm(Island...
    method createIslandEntitiesTrackerAlgorithm (line 73) | IslandEntitiesTrackerAlgorithm createIslandEntitiesTrackerAlgorithm(Is...
    method createPersistentDataContainer (line 81) | PersistentDataContainer createPersistentDataContainer(Island island, P...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/PlayersFactory.java
  type PlayersFactory (line 7) | public interface PlayersFactory {
    method createPlayer (line 14) | SuperiorPlayer createPlayer(SuperiorPlayer original);
    method createPlayerTeleportAlgorithm (line 22) | @Deprecated
    method createPlayerTeleportAlgorithm (line 33) | PlayerTeleportAlgorithm createPlayerTeleportAlgorithm(SuperiorPlayer s...
    method createPersistentDataContainer (line 41) | PersistentDataContainer createPersistentDataContainer(SuperiorPlayer s...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/BlockValuesManager.java
  type BlockValuesManager (line 9) | public interface BlockValuesManager {
    method getBlockWorth (line 17) | BigDecimal getBlockWorth(Key key);
    method getBlockLevel (line 25) | BigDecimal getBlockLevel(Key key);
    method getBlockKey (line 33) | Key getBlockKey(Key key);
    method registerCustomKey (line 42) | void registerCustomKey(Key key, @Nullable BigDecimal worthValue, @Null...
    method registerKeyParser (line 50) | void registerKeyParser(CustomKeyParser customKeyParser, Key... blockTy...
    type SyncWorthStatus (line 52) | enum SyncWorthStatus {
      method of (line 58) | public static SyncWorthStatus of(String name) {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/CommandsManager.java
  type CommandsManager (line 9) | public interface CommandsManager {
    method registerCommand (line 16) | void registerCommand(SuperiorCommand superiorCommand);
    method unregisterCommand (line 23) | void unregisterCommand(SuperiorCommand superiorCommand);
    method registerAdminCommand (line 30) | void registerAdminCommand(SuperiorCommand superiorCommand);
    method unregisterAdminCommand (line 37) | void unregisterAdminCommand(SuperiorCommand superiorCommand);
    method getSubCommands (line 42) | List<SuperiorCommand> getSubCommands();
    method getSubCommands (line 49) | List<SuperiorCommand> getSubCommands(boolean includeDisabled);
    method getCommand (line 57) | @Nullable
    method getAdminSubCommands (line 63) | List<SuperiorCommand> getAdminSubCommands();
    method getAdminCommand (line 71) | @Nullable
    method dispatchSubCommand (line 81) | void dispatchSubCommand(CommandSender sender, String subCommand);
    method dispatchSubCommand (line 91) | void dispatchSubCommand(CommandSender sender, String subCommand, @Null...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/FactoriesManager.java
  type FactoriesManager (line 26) | public interface FactoriesManager {
    method registerIslandsFactory (line 34) | void registerIslandsFactory(@Nullable IslandsFactory islandsFactory);
    method getIslandsFactory (line 39) | IslandsFactory getIslandsFactory();
    method registerPlayersFactory (line 47) | void registerPlayersFactory(@Nullable PlayersFactory playersFactory);
    method getPlayersFactory (line 52) | PlayersFactory getPlayersFactory();
    method registerBanksFactory (line 60) | void registerBanksFactory(@Nullable BanksFactory banksFactory);
    method getBanksFactory (line 65) | BanksFactory getBanksFactory();
    method registerDatabaseBridgeFactory (line 73) | void registerDatabaseBridgeFactory(@Nullable DatabaseBridgeFactory dat...
    method getDatabaseBridgeFactory (line 78) | DatabaseBridgeFactory getDatabaseBridgeFactory();
    method createIsland (line 90) | Island createIsland(@Nullable SuperiorPlayer owner, UUID uuid, Locatio...
    method createIslandBuilder (line 95) | Island.Builder createIslandBuilder();
    method createPlayer (line 103) | SuperiorPlayer createPlayer(UUID playerUUID);
    method createPlayerBuilder (line 108) | SuperiorPlayer.Builder createPlayerBuilder();
    method createBlockOffset (line 117) | BlockOffset createBlockOffset(int offsetX, int offsetY, int offsetZ);
    method createBlockPosition (line 128) | @Deprecated
    method createBlockPosition (line 138) | BlockPosition createBlockPosition(int blockX, int blockY, int blockZ);
    method createBlockPosition (line 145) | BlockPosition createBlockPosition(Location location);
    method createWorldPosition (line 154) | WorldPosition createWorldPosition(double x, double y, double z);
    method createWorldPosition (line 165) | WorldPosition createWorldPosition(double x, double y, double z, float ...
    method createWorldPosition (line 172) | WorldPosition createWorldPosition(Location location);
    method createTransaction (line 186) | BankTransaction createTransaction(@Nullable UUID player, BankAction ac...
    method createWorldInfo (line 195) | WorldInfo createWorldInfo(String worldName, Dimension dimension);
    method createGameSound (line 204) | GameSound createGameSound(Sound sound, float volume, float pitch);
    method createSchematicOptionsBuilder (line 211) | SchematicOptions.Builder createSchematicOptionsBuilder(String schemati...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/GridManager.java
  type GridManager (line 25) | public interface GridManager extends IDatabaseBridgeHolder {
    method createIsland (line 36) | void createIsland(SuperiorPlayer superiorPlayer, String schemName, Big...
    method createIsland (line 48) | void createIsland(SuperiorPlayer superiorPlayer, String schemName, Big...
    method createIsland (line 61) | void createIsland(SuperiorPlayer superiorPlayer, String schemName, Big...
    method createIsland (line 76) | void createIsland(SuperiorPlayer superiorPlayer, String schemName, Big...
    method createIsland (line 86) | void createIsland(Island.Builder builder, Biome biome, boolean offset);
    method createIsland (line 96) | void createIsland(Island.Builder builder, Biome biome, boolean offset,...
    method setIslandCreationAlgorithm (line 104) | void setIslandCreationAlgorithm(@Nullable IslandCreationAlgorithm isla...
    method getIslandCreationAlgorithm (line 109) | IslandCreationAlgorithm getIslandCreationAlgorithm();
    method hasActiveCreateRequest (line 116) | boolean hasActiveCreateRequest(SuperiorPlayer superiorPlayer);
    method startIslandPreview (line 125) | void startIslandPreview(SuperiorPlayer superiorPlayer, String schemNam...
    method cancelIslandPreview (line 132) | void cancelIslandPreview(SuperiorPlayer superiorPlayer);
    method cancelAllIslandPreviews (line 137) | void cancelAllIslandPreviews();
    method getIslandPreview (line 144) | @Nullable
    method deleteIsland (line 152) | void deleteIsland(Island island);
    method getIsland (line 161) | @Nullable
    method getIsland (line 173) | @Nullable
    method getIslandPosition (line 184) | int getIslandPosition(Island island, SortingType sortingType);
    method getIsland (line 193) | @Nullable
    method getIslandByUUID (line 203) | @Nullable
    method getIsland (line 212) | @Nullable
    method getIslandAt (line 221) | @Nullable
    method getIslandAt (line 231) | @Nullable
    method getIslandsAt (line 241) | @Nullable
    method transferIsland (line 251) | @Deprecated
    method getSize (line 257) | int getSize();
    method sortIslands (line 264) | void sortIslands(SortingType sortingType);
    method sortIslands (line 272) | void sortIslands(SortingType sortingType, @Nullable Runnable onFinish);
    method getSpawnIsland (line 277) | Island getSpawnIsland();
    method getIslandsWorld (line 286) | @Nullable
    method getIslandsWorldDimension (line 295) | @Nullable
    method getIslandsWorldInfo (line 306) | @Nullable
    method getIslandsWorldInfo (line 317) | @Nullable
    method isIslandsWorld (line 324) | boolean isIslandsWorld(World world);
    method registerIslandWorld (line 333) | void registerIslandWorld(World world);
    method getRegisteredWorlds (line 338) | List<World> getRegisteredWorlds();
    method getAllIslands (line 347) | @Deprecated
    method getIslands (line 353) | List<Island> getIslands();
    method getIslands (line 361) | List<Island> getIslands(SortingType sortingType);
    method getBlockAmount (line 369) | @Deprecated
    method getBlockAmount (line 378) | @Deprecated
    method setBlockAmount (line 388) | @Deprecated
    method getStackedBlocks (line 396) | @Deprecated
    method calcAllIslands (line 402) | void calcAllIslands();
    method calcAllIslands (line 409) | void calcAllIslands(@Nullable Runnable callback);
    method addIslandToPurge (line 416) | void addIslandToPurge(Island island);
    method removeIslandFromPurge (line 423) | void removeIslandFromPurge(Island island);
    method isIslandPurge (line 428) | boolean isIslandPurge(Island island);
    method getIslandsToPurge (line 433) | List<Island> getIslandsToPurge();
    method registerSortingType (line 440) | void registerSortingType(SortingType sortingType);
    method getTotalWorth (line 446) | BigDecimal getTotalWorth();
    method getTotalLevel (line 452) | BigDecimal getTotalLevel();
    method getLastIslandLocation (line 460) | @Deprecated
    method setLastIslandLocation (line 470) | @Deprecated
    method getLastIslandPosition (line 476) | BlockPosition getLastIslandPosition();
    method setLastIslandPosition (line 484) | void setLastIslandPosition(BlockPosition blockPosition);
    method getIslandsContainer (line 489) | IslandsContainer getIslandsContainer();
    method setIslandsContainer (line 496) | void setIslandsContainer(IslandsContainer islandsContainer);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/KeysManager.java
  type KeysManager (line 18) | public interface KeysManager {
    method getKey (line 25) | Key getKey(EntityType entityType);
    method getEntityTypeKey (line 32) | Key getEntityTypeKey(String entityTypeName);
    method getKey (line 39) | Key getKey(Entity entity);
    method getKey (line 46) | Key getKey(Block block);
    method getKey (line 53) | Key getKey(BlockState blockState);
    method getKey (line 60) | Key getKey(ItemStack itemStack);
    method getKey (line 68) | Key getKey(Material material, short data);
    method getKey (line 75) | Key getKey(Material material);
    method getMaterialAndDataKey (line 82) | Key getMaterialAndDataKey(String type);
    method getSpawnerKey (line 89) | Key getSpawnerKey(EntityType entityType);
    method getSpawnerKey (line 96) | Key getSpawnerKey(String entityTypeName);
    method getKey (line 103) | Key getKey(String key);
    method getKey (line 111) | Key getKey(String globalKey, String subKey);
    method createKeySet (line 116) | KeySet createKeySet(Supplier<Set<String>> setCreator);
    method createKeySet (line 125) | KeySet createKeySet(Supplier<Set<String>> setCreator, Collection<Key> ...
    method createKeyMap (line 130) | <V> KeyMap<V> createKeyMap(Supplier<Map<String, V>> mapCreator);
    method createKeyMap (line 139) | <V> KeyMap<V> createKeyMap(Supplier<Map<String, V>> mapCreator, Map<Ke...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/MenusManager.java
  type MenusManager (line 27) | public interface MenusManager {
    method openBankLogs (line 37) | void openBankLogs(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method refreshBankLogs (line 44) | void refreshBankLogs(Island island);
    method openBiomes (line 54) | void openBiomes(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu p...
    method openIslandBiomesMenu (line 62) | @Deprecated
    method openBorderColor (line 72) | void openBorderColor(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method openBorderColorMenu (line 80) | @Deprecated
    method openConfirmBan (line 92) | void openConfirmBan(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method openConfirmDisband (line 102) | void openConfirmDisband(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method openConfirmDisbandMenu (line 110) | @Deprecated
    method openConfirmKick (line 122) | void openConfirmKick(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method openConfirmLeave (line 131) | void openConfirmLeave(SuperiorPlayer targetPlayer, @Nullable ISuperior...
    method openConfirmTransfer (line 142) | void openConfirmTransfer(SuperiorPlayer targetPlayer, @Nullable ISuper...
    method openControlPanel (line 152) | void openControlPanel(SuperiorPlayer targetPlayer, @Nullable ISuperior...
    method openIslandPanelMenu (line 160) | @Deprecated
    method openCoops (line 171) | void openCoops(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu pr...
    method refreshCoops (line 178) | void refreshCoops(Island island);
    method openCounts (line 188) | void openCounts(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu p...
    method openIslandCountsMenu (line 197) | @Deprecated
    method refreshCounts (line 205) | void refreshCounts(Island island);
    method openGlobalWarps (line 214) | void openGlobalWarps(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method openGlobalWarpsMenu (line 222) | @Deprecated
    method refreshGlobalWarps (line 228) | void refreshGlobalWarps();
    method openIslandBank (line 238) | void openIslandBank(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method refreshIslandBank (line 245) | void refreshIslandBank(Island island);
    method openIslandBannedPlayers (line 254) | void openIslandBannedPlayers(SuperiorPlayer targetPlayer, @Nullable IS...
    method refreshIslandBannedPlayers (line 261) | void refreshIslandBannedPlayers(Island island);
    method openIslandChest (line 271) | void openIslandChest(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method refreshIslandChest (line 278) | void refreshIslandChest(Island island);
    method openIslandCreation (line 288) | void openIslandCreation(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method openIslandCreationMenu (line 297) | @Deprecated
    method openIslandRate (line 308) | void openIslandRate(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method openIslandRateMenu (line 317) | @Deprecated
    method openIslandRatings (line 328) | void openIslandRatings(SuperiorPlayer targetPlayer, @Nullable ISuperio...
    method openIslandRatingsMenu (line 337) | @Deprecated
    method refreshIslandRatings (line 345) | void refreshIslandRatings(Island island);
    method openMemberManage (line 355) | void openMemberManage(SuperiorPlayer targetPlayer, @Nullable ISuperior...
    method openMemberManageMenu (line 364) | @Deprecated
    method destroyMemberManage (line 372) | void destroyMemberManage(SuperiorPlayer islandMember);
    method openMemberRole (line 382) | void openMemberRole(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method openMemberRoleMenu (line 391) | @Deprecated
    method destroyMemberRole (line 399) | void destroyMemberRole(SuperiorPlayer islandMember);
    method openMembers (line 408) | void openMembers(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu ...
    method openIslandMembersMenu (line 417) | @Deprecated
    method refreshMembers (line 425) | void refreshMembers(Island island);
    method openMissions (line 433) | void openMissions(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method openIslandMainMissionsMenu (line 441) | @Deprecated
    method openMissionsCategory (line 451) | void openMissionsCategory(SuperiorPlayer targetPlayer, @Nullable ISupe...
    method openIslandMissionsMenu (line 460) | @Deprecated
    method refreshMissionsCategory (line 468) | void refreshMissionsCategory(MissionCategory missionCategory);
    method openPermissions (line 479) | void openPermissions(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method openIslandPermissionsMenu (line 490) | @Deprecated
    method openPermissions (line 502) | void openPermissions(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method openIslandPermissionsMenu (line 513) | @Deprecated
    method refreshPermissions (line 521) | void refreshPermissions(Island island);
    method refreshPermissions (line 529) | void refreshPermissions(Island island, SuperiorPlayer permissiblePlayer);
    method refreshPermissions (line 537) | void refreshPermissions(Island island, PlayerRole permissibleRole);
    method updatePermission (line 544) | void updatePermission(IslandPrivilege islandPrivilege);
    method openPlayerLanguage (line 553) | void openPlayerLanguage(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method openPlayerLanguageMenu (line 561) | @Deprecated
    method openSettings (line 572) | void openSettings(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method openIslandSettingsMenu (line 581) | @Deprecated
    method refreshSettings (line 589) | void refreshSettings(Island island);
    method updateSettings (line 596) | @Deprecated
    method openTopIslands (line 606) | void openTopIslands(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method openIslandsTopMenu (line 615) | @Deprecated
    method refreshTopIslands (line 623) | void refreshTopIslands(SortingType sortingType);
    method openUniqueVisitors (line 632) | void openUniqueVisitors(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method openUniqueVisitorsMenu (line 641) | @Deprecated
    method refreshUniqueVisitors (line 649) | void refreshUniqueVisitors(Island island);
    method openUpgrades (line 658) | void openUpgrades(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method openIslandUpgradeMenu (line 667) | @Deprecated
    method refreshUpgrades (line 675) | void refreshUpgrades(Island island);
    method openValues (line 685) | void openValues(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu p...
    method openIslandValuesMenu (line 694) | @Deprecated
    method refreshValues (line 702) | void refreshValues(Island island);
    method openVisitors (line 711) | void openVisitors(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method refreshVisitors (line 718) | void refreshVisitors(Island island);
    method openIslandVisitorsMenu (line 727) | @Deprecated
    method openWarpCategories (line 737) | void openWarpCategories(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method refreshWarpCategories (line 744) | void refreshWarpCategories(Island island);
    method destroyWarpCategories (line 751) | void destroyWarpCategories(Island island);
    method openWarpCategoryIconEdit (line 761) | void openWarpCategoryIconEdit(SuperiorPlayer targetPlayer, @Nullable I...
    method openWarpCategoryManage (line 771) | void openWarpCategoryManage(SuperiorPlayer targetPlayer, @Nullable ISu...
    method refreshWarpCategoryManage (line 778) | void refreshWarpCategoryManage(WarpCategory warpCategory);
    method openWarpIconEdit (line 788) | void openWarpIconEdit(SuperiorPlayer targetPlayer, @Nullable ISuperior...
    method openWarpManage (line 798) | void openWarpManage(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method refreshWarpManage (line 805) | void refreshWarpManage(IslandWarp islandWarp);
    method openWarps (line 815) | void openWarps(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu pr...
    method openIslandWarpsMenu (line 824) | @Deprecated
    method refreshWarps (line 832) | void refreshWarps(WarpCategory warpCategory);
    method destroyWarps (line 839) | void destroyWarps(WarpCategory warpCategory);
    method registerMenu (line 846) | void registerMenu(Menu<?, ?> menu);
    method getMenu (line 853) | @Nullable
    method getMenus (line 859) | Map<String, Menu<?, ?>> getMenus();
    method getCustomMenus (line 864) | Map<String, Menu<?, ?>> getCustomMenus();
    method createPatternBuilder (line 869) | <V extends MenuView<V, ?>> MenuLayout.Builder<V> createPatternBuilder();
    method createPagedPatternBuilder (line 874) | <V extends PagedMenuView<V, ?, E>, E> PagedMenuLayout.Builder<V, E> cr...
    method createButtonBuilder (line 879) | <V extends MenuView<V, ?>> MenuTemplateButton.Builder<V> createButtonB...
    method createPagedButtonBuilder (line 885) | <V extends MenuView<V, ?>, E> PagedMenuTemplateButton.Builder<V, E> cr...
    method getParser (line 891) | MenuParser getParser();
    method getMenuCommands (line 896) | MenuCommands getMenuCommands();
    method getOldMenuFromView (line 902) | @Deprecated

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/MissionsManager.java
  type MissionsManager (line 11) | public interface MissionsManager {
    method getMission (line 18) | @Nullable
    method getAllMissions (line 24) | List<Mission<?>> getAllMissions();
    method getPlayerMissions (line 29) | List<Mission<?>> getPlayerMissions();
    method getIslandMissions (line 34) | List<Mission<?>> getIslandMissions();
    method getMissionCategory (line 41) | @Nullable
    method getMissionCategories (line 47) | List<MissionCategory> getMissionCategories();
    method hasCompleted (line 56) | boolean hasCompleted(SuperiorPlayer superiorPlayer, Mission<?> mission);
    method canComplete (line 65) | boolean canComplete(SuperiorPlayer superiorPlayer, Mission<?> mission);
    method canCompleteNoProgress (line 74) | boolean canCompleteNoProgress(SuperiorPlayer superiorPlayer, Mission<?...
    method canCompleteAgain (line 83) | boolean canCompleteAgain(SuperiorPlayer superiorPlayer, Mission<?> mis...
    method hasAllRequiredMissions (line 92) | boolean hasAllRequiredMissions(SuperiorPlayer superiorPlayer, Mission<...
    method canPassAllChecks (line 101) | boolean canPassAllChecks(SuperiorPlayer superiorPlayer, Mission<?> mis...
    method rewardMission (line 110) | void rewardMission(Mission<?> mission, SuperiorPlayer superiorPlayer, ...
    method rewardMission (line 120) | void rewardMission(Mission<?> mission, SuperiorPlayer superiorPlayer, ...
    method rewardMission (line 131) | void rewardMission(Mission<?> mission, SuperiorPlayer superiorPlayer, ...
    method saveMissionsData (line 137) | void saveMissionsData();
    method loadMissionsData (line 143) | void loadMissionsData();
    method loadMissionsData (line 149) | void loadMissionsData(List<Mission<?>> missionsList);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/ModulesManager.java
  type ModulesManager (line 11) | public interface ModulesManager {
    method registerModule (line 18) | void registerModule(PluginModule pluginModule);
    method registerModule (line 25) | PluginModule registerModule(File moduleFile) throws IOException, Refle...
    method unregisterModule (line 32) | void unregisterModule(PluginModule pluginModule);
    method getModule (line 39) | @Nullable
    method getModules (line 45) | Collection<PluginModule> getModules();
    method enableModule (line 52) | void enableModule(PluginModule pluginModule);
    method enableModules (line 59) | void enableModules(ModuleLoadTime moduleLoadTime);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/PlayersManager.java
  type PlayersManager (line 12) | public interface PlayersManager {
    method getSuperiorPlayer (line 20) | @Nullable
    method getSuperiorPlayer (line 28) | SuperiorPlayer getSuperiorPlayer(Player player);
    method getSuperiorPlayer (line 36) | SuperiorPlayer getSuperiorPlayer(UUID uuid);
    method getAllPlayers (line 41) | List<SuperiorPlayer> getAllPlayers();
    method getPlayerRole (line 49) | @Nullable
    method getPlayerRoleFromId (line 59) | @Nullable
    method getPlayerRole (line 71) | @Deprecated
    method getDefaultRole (line 79) | @Deprecated
    method getLastRole (line 87) | @Deprecated
    method getGuestRole (line 95) | @Deprecated
    method getCoopRole (line 103) | @Deprecated
    method getRoles (line 111) | @Deprecated
    method getPlayersContainer (line 117) | PlayersContainer getPlayersContainer();
    method setPlayersContainer (line 124) | void setPlayersContainer(PlayersContainer playersContainer);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/ProvidersManager.java
  type ProvidersManager (line 20) | public interface ProvidersManager {
    method getSpawnersProvider (line 25) | SpawnersProvider getSpawnersProvider();
    method setSpawnersProvider (line 32) | void setSpawnersProvider(SpawnersProvider spawnersProvider);
    method getStackedBlocksProvider (line 37) | StackedBlocksProvider getStackedBlocksProvider();
    method setStackedBlocksProvider (line 44) | void setStackedBlocksProvider(StackedBlocksProvider stackedBlocksProvi...
    method getEntitiesProviders (line 49) | List<EntitiesProvider> getEntitiesProviders();
    method addEntitiesProvider (line 56) | void addEntitiesProvider(EntitiesProvider entitiesProvider);
    method getEconomyProvider (line 61) | EconomyProvider getEconomyProvider();
    method setEconomyProvider (line 68) | void setEconomyProvider(EconomyProvider economyProvider);
    method getWorldsProvider (line 73) | WorldsProvider getWorldsProvider();
    method setWorldsProvider (line 80) | void setWorldsProvider(WorldsProvider worldsProvider);
    method getChunksProvider (line 85) | ChunksProvider getChunksProvider();
    method setChunksProvider (line 92) | void setChunksProvider(ChunksProvider chunksProvider);
    method getBankEconomyProvider (line 97) | EconomyProvider getBankEconomyProvider();
    method setBankEconomyProvider (line 104) | void setBankEconomyProvider(EconomyProvider economyProvider);
    method getAFKProviders (line 109) | List<AFKProvider> getAFKProviders();
    method addAFKProvider (line 116) | void addAFKProvider(AFKProvider afkProvider);
    method getMenusProvider (line 121) | MenusProvider getMenusProvider();
    method setMenusProvider (line 128) | void setMenusProvider(MenusProvider menuProvider);
    method getPermissionsProvider (line 133) | PermissionsProvider getPermissionsProvider();
    method setPermissionsProvider (line 140) | void setPermissionsProvider(PermissionsProvider permissionsProvider);
    method getPricesProvider (line 145) | PricesProvider getPricesProvider();
    method setPricesProvider (line 152) | void setPricesProvider(PricesProvider pricesProvider);
    method getVanishProvider (line 157) | VanishProvider getVanishProvider();
    method setVanishProvider (line 164) | void setVanishProvider(VanishProvider vanishProvider);
    method registerSkinsListener (line 171) | void registerSkinsListener(ISkinsListener skinsListener);
    method unregisterSkinsListener (line 178) | void unregisterSkinsListener(ISkinsListener skinsListener);
    method registerStackedBlocksListener (line 185) | void registerStackedBlocksListener(IStackedBlocksListener stackedBlock...
    method unregisterStackedBlocksListener (line 192) | void unregisterStackedBlocksListener(IStackedBlocksListener stackedBlo...
    method registerWorldsListener (line 199) | void registerWorldsListener(IWorldsListener worldsListener);
    method unregisterWorldsListener (line 206) | void unregisterWorldsListener(IWorldsListener worldsListener);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/RolesManager.java
  type RolesManager (line 8) | public interface RolesManager {
    method getPlayerRole (line 16) | @Nullable
    method getPlayerRoleFromId (line 25) | @Nullable
    method getPlayerRole (line 35) | PlayerRole getPlayerRole(String name);
    method getDefaultRole (line 40) | PlayerRole getDefaultRole();
    method getLastRole (line 45) | PlayerRole getLastRole();
    method getGuestRole (line 50) | PlayerRole getGuestRole();
    method getCoopRole (line 55) | PlayerRole getCoopRole();
    method getRoles (line 60) | List<PlayerRole> getRoles();

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/SchematicManager.java
  type SchematicManager (line 12) | public interface SchematicManager {
    method getSchematic (line 20) | @Nullable
    method getSchematics (line 26) | List<String> getSchematics();
    method registerSchematicParser (line 36) | void registerSchematicParser(SchematicParser schematicParser);
    method getSchematicParsers (line 41) | List<SchematicParser> getSchematicParsers();
    method saveSchematic (line 50) | void saveSchematic(SuperiorPlayer superiorPlayer, String schematicName);
    method saveSchematic (line 60) | void saveSchematic(SuperiorPlayer superiorPlayer, String schematicName...
    method saveSchematic (line 72) | void saveSchematic(Location pos1, Location pos2, int offsetX, int offs...
    method saveSchematic (line 86) | void saveSchematic(Location pos1, Location pos2, int offsetX, int offs...
    method saveSchematic (line 99) | void saveSchematic(Location pos1, Location pos2, int offsetX, int offs...
    method saveSchematic (line 114) | void saveSchematic(Location pos1, Location pos2, int offsetX, int offs...
    method saveSchematic (line 123) | void saveSchematic(Location pos1, Location pos2, SchematicOptions sche...
    method saveSchematic (line 133) | void saveSchematic(Location pos1, Location pos2, SchematicOptions sche...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/StackedBlocksManager.java
  type StackedBlocksManager (line 13) | public interface StackedBlocksManager extends IDatabaseBridgeHolder {
    method getStackedBlockAmount (line 20) | int getStackedBlockAmount(Block block);
    method getStackedBlockAmount (line 27) | int getStackedBlockAmount(Location location);
    method getStackedBlockKey (line 34) | @Nullable
    method setStackedBlock (line 43) | boolean setStackedBlock(Block block, int amount);
    method setStackedBlock (line 53) | boolean setStackedBlock(Location location, Key blockKey, int amount);
    method removeStackedBlock (line 61) | int removeStackedBlock(Location location);
    method removeStackedBlocks (line 69) | Map<Location, Integer> removeStackedBlocks(Chunk chunk);
    method removeStackedBlocks (line 79) | Map<Location, Integer> removeStackedBlocks(World world, int chunkX, in...
    method getStackedBlocks (line 86) | Map<Location, Integer> getStackedBlocks(Chunk chunk);
    method getStackedBlocks (line 95) | Map<Location, Integer> getStackedBlocks(World world, int chunkX, int c...
    method getStackedBlocks (line 100) | Map<Location, Integer> getStackedBlocks();
    method updateStackedBlockHologram (line 107) | void updateStackedBlockHologram(Location location);
    method updateStackedBlockHolograms (line 114) | void updateStackedBlockHolograms(Chunk chunk);
    method removeStackedBlockHologram (line 121) | void removeStackedBlockHologram(Location location);
    method removeStackedBlockHolograms (line 128) | void removeStackedBlockHolograms(Chunk chunk);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/UpgradesManager.java
  type UpgradesManager (line 10) | public interface UpgradesManager {
    method getUpgrade (line 17) | @Nullable
    method getUpgrade (line 25) | @Nullable
    method addUpgrade (line 33) | void addUpgrade(Upgrade upgrade);
    method getDefaultUpgrade (line 38) | Upgrade getDefaultUpgrade();
    method isUpgrade (line 45) | boolean isUpgrade(String upgradeName);
    method getUpgrades (line 50) | Collection<Upgrade> getUpgrades();
    method registerUpgradeCostLoader (line 58) | void registerUpgradeCostLoader(String id, UpgradeCostLoader costLoader);
    method getUpgradesCostLoaders (line 63) | Collection<UpgradeCostLoader> getUpgradesCostLoaders();
    method getUpgradeCostLoader (line 68) | @Nullable

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/AFKProvider.java
  type AFKProvider (line 5) | public interface AFKProvider {
    method isAFK (line 12) | boolean isAFK(Player player);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/ChunksProvider.java
  type ChunksProvider (line 8) | public interface ChunksProvider {
    method loadChunk (line 18) | CompletableFuture<Chunk> loadChunk(World world, int chunkX, int chunkZ);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/EconomyProvider.java
  type EconomyProvider (line 8) | public interface EconomyProvider {
    method getBalance (line 15) | BigDecimal getBalance(SuperiorPlayer superiorPlayer);
    method depositMoney (line 24) | EconomyResult depositMoney(SuperiorPlayer superiorPlayer, double amount);
    method withdrawMoney (line 33) | EconomyResult withdrawMoney(SuperiorPlayer superiorPlayer, double amou...
    class EconomyResult (line 35) | class EconomyResult {
      method EconomyResult (line 41) | public EconomyResult(String errorMessage) {
      method EconomyResult (line 45) | public EconomyResult(double transactionMoney) {
      method EconomyResult (line 49) | public EconomyResult(@Nullable String errorMessage, double transacti...
      method getErrorMessage (line 57) | @Nullable
      method getTransactionMoney (line 65) | public double getTransactionMoney() {
      method hasFailed (line 72) | public boolean hasFailed() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/EntitiesProvider.java
  type EntitiesProvider (line 5) | public interface EntitiesProvider {
    method shouldTrackEntity (line 16) | boolean shouldTrackEntity(Entity entity);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/LazyWorldsProvider.java
  type LazyWorldsProvider (line 9) | public interface LazyWorldsProvider extends WorldsProvider {
    method prepareWorld (line 18) | @Deprecated
    method prepareWorld (line 30) | void prepareWorld(Island island, Dimension dimension, Runnable finishC...
    method getIslandsWorldInfo (line 40) | @Deprecated
    method getIslandsWorldInfo (line 54) | @Nullable
    method getIslandsWorldInfo (line 65) | @Nullable

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/MenusProvider.java
  type MenusProvider (line 17) | public interface MenusProvider {
    method initializeMenus (line 22) | void initializeMenus();
    method openBankLogs (line 32) | void openBankLogs(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method refreshBankLogs (line 39) | void refreshBankLogs(Island island);
    method openBiomes (line 49) | void openBiomes(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu p...
    method openBorderColor (line 58) | void openBorderColor(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method openConfirmBan (line 69) | void openConfirmBan(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method openConfirmDisband (line 79) | void openConfirmDisband(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method openConfirmKick (line 90) | void openConfirmKick(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method openConfirmLeave (line 99) | void openConfirmLeave(SuperiorPlayer targetPlayer, @Nullable ISuperior...
    method openConfirmTransfer (line 110) | void openConfirmTransfer(SuperiorPlayer targetPlayer, @Nullable ISuper...
    method openControlPanel (line 120) | void openControlPanel(SuperiorPlayer targetPlayer, @Nullable ISuperior...
    method openCoops (line 130) | void openCoops(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu pr...
    method refreshCoops (line 137) | void refreshCoops(Island island);
    method openCounts (line 147) | void openCounts(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu p...
    method refreshCounts (line 154) | void refreshCounts(Island island);
    method openGlobalWarps (line 163) | void openGlobalWarps(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method refreshGlobalWarps (line 168) | void refreshGlobalWarps();
    method openIslandBank (line 178) | void openIslandBank(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method refreshIslandBank (line 185) | void refreshIslandBank(Island island);
    method openIslandBannedPlayers (line 195) | void openIslandBannedPlayers(SuperiorPlayer targetPlayer, @Nullable IS...
    method refreshIslandBannedPlayers (line 202) | void refreshIslandBannedPlayers(Island island);
    method openIslandChest (line 212) | void openIslandChest(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method refreshIslandChest (line 219) | void refreshIslandChest(Island island);
    method getIslandCreationConfig (line 226) | MenuIslandCreationConfig getIslandCreationConfig(Schematic schematic);
    method openIslandCreation (line 236) | void openIslandCreation(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method openIslandRate (line 246) | void openIslandRate(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method openIslandRatings (line 256) | void openIslandRatings(SuperiorPlayer targetPlayer, @Nullable ISuperio...
    method refreshIslandRatings (line 263) | void refreshIslandRatings(Island island);
    method openMemberManage (line 273) | void openMemberManage(SuperiorPlayer targetPlayer, @Nullable ISuperior...
    method destroyMemberManage (line 280) | void destroyMemberManage(SuperiorPlayer islandMember);
    method openMemberRole (line 290) | void openMemberRole(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method destroyMemberRole (line 297) | void destroyMemberRole(SuperiorPlayer islandMember);
    method openMembers (line 306) | void openMembers(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu ...
    method refreshMembers (line 313) | void refreshMembers(Island island);
    method openMissions (line 321) | void openMissions(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method openMissionsCategory (line 330) | void openMissionsCategory(SuperiorPlayer targetPlayer, @Nullable ISupe...
    method refreshMissionsCategory (line 337) | void refreshMissionsCategory(MissionCategory missionCategory);
    method openPermissions (line 348) | void openPermissions(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method openPermissions (line 360) | void openPermissions(SuperiorPlayer targetPlayer, @Nullable ISuperiorM...
    method refreshPermissions (line 368) | void refreshPermissions(Island island);
    method refreshPermissions (line 376) | void refreshPermissions(Island island, SuperiorPlayer permissiblePlayer);
    method refreshPermissions (line 384) | void refreshPermissions(Island island, PlayerRole permissibleRole);
    method updatePermission (line 391) | void updatePermission(IslandPrivilege islandPrivilege);
    method openPlayerLanguage (line 400) | void openPlayerLanguage(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method openSettings (line 410) | void openSettings(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method refreshSettings (line 417) | void refreshSettings(Island island);
    method updateSettings (line 424) | void updateSettings(IslandFlag islandFlag);
    method openTopIslands (line 433) | void openTopIslands(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method refreshTopIslands (line 440) | void refreshTopIslands(SortingType sortingType);
    method openUniqueVisitors (line 449) | void openUniqueVisitors(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method refreshUniqueVisitors (line 456) | void refreshUniqueVisitors(Island island);
    method openUpgrades (line 465) | void openUpgrades(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method refreshUpgrades (line 472) | void refreshUpgrades(Island island);
    method openValues (line 482) | void openValues(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu p...
    method refreshValues (line 489) | void refreshValues(Island island);
    method openVisitors (line 498) | void openVisitors(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu...
    method refreshVisitors (line 505) | void refreshVisitors(Island island);
    method openWarpCategories (line 514) | void openWarpCategories(SuperiorPlayer targetPlayer, @Nullable ISuperi...
    method refreshWarpCategories (line 521) | void refreshWarpCategories(Island island);
    method destroyWarpCategories (line 528) | void destroyWarpCategories(Island island);
    method openWarpCategoryIconEdit (line 538) | void openWarpCategoryIconEdit(SuperiorPlayer targetPlayer, @Nullable I...
    method openWarpCategoryManage (line 548) | void openWarpCategoryManage(SuperiorPlayer targetPlayer, @Nullable ISu...
    method refreshWarpCategoryManage (line 555) | void refreshWarpCategoryManage(WarpCategory warpCategory);
    method openWarpIconEdit (line 565) | void openWarpIconEdit(SuperiorPlayer targetPlayer, @Nullable ISuperior...
    method openWarpManage (line 575) | void openWarpManage(SuperiorPlayer targetPlayer, @Nullable ISuperiorMe...
    method refreshWarpManage (line 582) | void refreshWarpManage(IslandWarp islandWarp);
    method openWarps (line 592) | void openWarps(SuperiorPlayer targetPlayer, @Nullable ISuperiorMenu pr...
    method refreshWarps (line 599) | void refreshWarps(WarpCategory warpCategory);
    method destroyWarps (line 606) | void destroyWarps(WarpCategory warpCategory);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/PermissionsProvider.java
  type PermissionsProvider (line 5) | public interface PermissionsProvider {
    method hasPermission (line 15) | boolean hasPermission(Player player, String permission);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/PricesProvider.java
  type PricesProvider (line 9) | public interface PricesProvider {
    method getPrice (line 17) | BigDecimal getPrice(Key key);
    method getBlockKey (line 26) | @Nullable
    method getWhenPricesAreReady (line 32) | default CompletableFuture<Void> getWhenPricesAreReady() {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/SpawnersProvider.java
  type SpawnersProvider (line 8) | public interface SpawnersProvider {
    method getSpawner (line 17) | Pair<Integer, String> getSpawner(Location location);
    method getSpawnerType (line 25) | @Nullable

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/SpawnersSnapshotProvider.java
  type SpawnersSnapshotProvider (line 13) | public interface SpawnersSnapshotProvider extends SpawnersProvider {
    method takeSnapshot (line 20) | void takeSnapshot(Chunk chunk);
    method releaseSnapshot (line 29) | void releaseSnapshot(World world, int chunkX, int chunkZ);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/StackedBlocksProvider.java
  type StackedBlocksProvider (line 9) | public interface StackedBlocksProvider {
    method getBlocks (line 21) | Collection<Pair<Key, Integer>> getBlocks(World world, int chunkX, int ...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/StackedBlocksSnapshotProvider.java
  type StackedBlocksSnapshotProvider (line 13) | public interface StackedBlocksSnapshotProvider extends StackedBlocksProv...
    method takeSnapshot (line 20) | void takeSnapshot(Chunk chunk);
    method releaseSnapshot (line 29) | void releaseSnapshot(World world, int chunkX, int chunkZ);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/VanishProvider.java
  type VanishProvider (line 5) | public interface VanishProvider {
    method isVanished (line 12) | boolean isVanished(Player player);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/WorldsProvider.java
  type WorldsProvider (line 14) | public interface WorldsProvider {
    method prepareWorlds (line 19) | void prepareWorlds();
    method getIslandsWorld (line 28) | @Nullable
    method getIslandsWorld (line 38) | @Deprecated
    method getIslandsWorldDimension (line 50) | @Nullable
    method isIslandsWorld (line 58) | boolean isIslandsWorld(World world);
    method getNextLocation (line 70) | default Location getNextLocation(Location previousLocation, int island...
    method getNextLocation (line 84) | Location getNextLocation(BlockPosition previousPosition, int islandsHe...
    method finishIslandCreation (line 93) | void finishIslandCreation(Location islandLocation, UUID islandOwner, U...
    method prepareTeleport (line 102) | void prepareTeleport(Island island, Location location, Runnable finish...
    method isNormalEnabled (line 107) | default boolean isNormalEnabled() {
    method isNormalUnlocked (line 114) | default boolean isNormalUnlocked() {
    method isNetherEnabled (line 121) | default boolean isNetherEnabled() {
    method isNetherUnlocked (line 128) | default boolean isNetherUnlocked() {
    method isEndEnabled (line 135) | default boolean isEndEnabled() {
    method isEndUnlocked (line 142) | default boolean isEndUnlocked() {
    method isDimensionEnabled (line 151) | boolean isDimensionEnabled(Dimension dimension);
    method isDimensionUnlocked (line 156) | boolean isDimensionUnlocked(Dimension dimension);
    method addWorldLoadListener (line 164) | default void addWorldLoadListener(IWorldLoadListener worldLoadListener) {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/listener/ISkinsListener.java
  type ISkinsListener (line 8) | public interface ISkinsListener {
    method setSkinTexture (line 15) | void setSkinTexture(SuperiorPlayer superiorPlayer);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/listener/IStackedBlocksListener.java
  type IStackedBlocksListener (line 9) | public interface IStackedBlocksListener {
    method recordBlockAction (line 18) | void recordBlockAction(OfflinePlayer offlinePlayer, Block block, Actio...
    type Action (line 20) | enum Action {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/listener/IWorldLoadListener.java
  type IWorldLoadListener (line 11) | public interface IWorldLoadListener {
    method onWorldLoad (line 20) | void onWorldLoad(World world, Dimension worldDimension, @WorldLoadFlag...

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/listener/IWorldsListener.java
  type IWorldsListener (line 6) | public interface IWorldsListener {
    method loadWorld (line 13) | void loadWorld(String worldName);

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/island/BlockChangeResult.java
  type BlockChangeResult (line 6) | public enum BlockChangeResult {

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/island/DelegateIsland.java
  class DelegateIsland (line 45) | public class DelegateIsland implements Island {
    method DelegateIsland (line 49) | protected DelegateIsland(Island handle) {
    method getOwner (line 53) | @Override
    method getUniqueId (line 58) | @Override
    method getCreationTime (line 63) | @Override
    method getCreationTimeDate (line 68) | @Override
    method updateDatesFormatter (line 73) | @Override
    method getCache (line 78) | @Override
    method getIslandMembers (line 83) | @Override
    method getIslandMembers (line 88) | @Override
    method getBannedPlayers (line 93) | @Override
    method getIslandVisitors (line 98) | @Override
    method getIslandVisitors (line 103) | @Override
    method getAllPlayersInside (line 108) | @Override
    method getUniqueVisitors (line 113) | @Override
    method getUniqueVisitorsWithTimes (line 118) | @Override
    method inviteMember (line 123) | @Override
    method revokeInvite (line 128) | @Override
    method isInvited (line 133) | @Override
    method getInvitedPlayers (line 138) | @Override
    method addMember (line 143) | @Override
    method kickMember (line 148) | @Override
    method removeMember (line 154) | @Override
    method isMember (line 159) | @Override
    method banMember (line 164) | @Override
    method banMember (line 169) | @Override
    method unbanMember (line 174) | @Override
    method isBanned (line 179) | @Override
    method addCoop (line 184) | @Override
    method removeCoop (line 189) | @Override
    method isCoop (line 194) | @Override
    method getCoopPlayers (line 199) | @Override
    method getCoopLimit (line 204) | @Override
    method getCoopLimitRaw (line 209) | @Override
    method setCoopLimit (line 214) | @Override
    method setPlayerInside (line 219) | @Override
    method isVisitor (line 224) | @Override
    method getCenter (line 229) | @Override
    method getCenterPosition (line 234) | @Override
    method accessIslandWorld (line 239) | @Override
    method getIslandHome (line 244) | @Override
    method getIslandHomePosition (line 249) | @Override
    method getIslandHomesAsDimensions (line 254) | @Override
    method getIslandHomes (line 259) | @Override
    method setIslandHome (line 264) | @Override
    method setIslandHome (line 269) | @Override
    method setIslandHome (line 275) | @Override
    method getVisitorsLocation (line 280) | @Override
    method getVisitorsPosition (line 285) | @Override
    method setVisitorsLocation (line 290) | @Override
    method setVisitorsLocation (line 295) | @Override
    method getMinimum (line 300) | @Override
    method getMinimumPosition (line 305) | @Override
    method getMinimumProtected (line 310) | @Override
    method getMinimumProtectedPosition (line 315) | @Override
    method getMaximum (line 320) | @Override
    method getMaximumPosition (line 325) | @Override
    method getMaximumProtected (line 330) | @Override
    method getMaximumProtectedPosition (line 335) | @Override
    method getAllChunks (line 340) | @Override
    method getAllChunks (line 345) | @Override
    method getAllChunks (line 350) | @Override
    method getAllChunks (line 355) | @Override
    method getLoadedChunks (line 360) | @Override
    method getLoadedChunks (line 365) | @Override
    method getLoadedChunks (line 370) | @Override
    method getLoadedChunks (line 375) | @Override
    method getAllChunksAsync (line 380) | @Override
    method getAllChunksAsync (line 385) | @Override
    method getAllChunksAsync (line 390) | @Override
    method getAllChunksAsync (line 395) | @Override
    method resetChunks (line 402) | @Override
    method resetChunks (line 407) | @Override
    method resetChunks (line 412) | @Override
    method resetChunks (line 417) | @Override
    method resetChunks (line 422) | @Override
    method resetChunks (line 427) | @Override
    method resetChunks (line 432) | @Override
    method resetChunks (line 437) | @Override
    method isInside (line 442) | @Override
    method isInside (line 447) | @Override
    method isInside (line 452) | @Override
    method isInside (line 457) | @Override
    method isInside (line 462) | @Override
    method isInside (line 467) | @Override
    method isInside (line 472) | @Override
    method isInside (line 477) | @Override
    method isInside (line 482) | @Override
    method isInside (line 487) | @Override
    method isInside (line 492) | @Override
    method isInside (line 497) | @Override
    method isInside (line 502) | @Override
    method isInside (line 507) | @Override
    method isInside (line 512) | @Override
    method isInside (line 517) | @Override
    method isInside (line 522) | @Override
    method isInside (line 527) | @Override
    method isInside (line 532) | @Override
    method isInsideRange (line 537) | @Override
    method isInsideRange (line 542) | @Override
    method isInsideRange (line 547) | @Override
    method isInsideRange (line 552) | @Override
    method isInsideRange (line 557) | @Override
    method isInsideRange (line 562) | @Override
    method isInsideRange (line 567) | @Override
    method isInsideRange (line 572) | @Override
    method isInsideRange (line 577) | @Override
    method isInsideRange (line 582) | @Override
    method isInsideRange (line 587) | @Override
    method isInsideRange (line 592) | @Override
    method isInsideRange (line 597) | @Override
    method isInsideRange (line 602) | @Override
    method isInsideRange (line 607) | @Override
    method isInsideRange (line 612) | @Override
    method isInsideRange (line 617) | @Override
    method isInsideRange (line 622) | @Override
    method isInsideRange (line 627) | @Override
    method isNormalEnabled (line 632) | @Override
    method setNormalEnabled (line 638) | @Override
    method isNetherEnabled (line 644) | @Override
    method setNetherEnabled (line 650) | @Override
    method isEndEnabled (line 656) | @Override
    method setEndEnabled (line 662) | @Override
    method isDimensionEnabled (line 668) | @Override
    method setDimensionEnabled (line 673) | @Override
    method getUnlockedWorlds (line 678) | @Override
    method hasPermission (line 683) | @Override
    method hasPermission (line 688) | @Override
    method hasPermission (line 693) | @Override
    method setPermission (line 698) | @Override
    method setPermission (line 704) | @Override
    method resetPermissions (line 709) | @Override
    method setPermission (line 714) | @Override
    method resetPermissions (line 719) | @Override
    method getPermissionNode (line 724) | @Override
    method getRequiredPlayerRole (line 729) | @Override
    method getPlayerPermissions (line 734) | @Override
    method getRolePermissions (line 739) | @Override
    method isSpawn (line 744) | @Override
    method getName (line 749) | @Override
    method setName (line 754) | @Override
    method getRawName (line 759) | @Override
    method getStrippedName (line 765) | @Override
    method getFormattedName (line 770) | @Override
    method getDescription (line 775) | @Override
    method setDescription (line 780) | @Override
    method disbandIsland (line 785) | @Override
    method transferIsland (line 790) | @Override
    method replacePlayers (line 795) | @Override
    method calcIslandWorth (line 800) | @Override
    method calcIslandWorth (line 805) | @Override
    method getCalculationAlgorithm (line 810) | @Override
    method updateBorder (line 815) | @Override
    method updateIslandFly (line 820) | @Override
    method getIslandSize (line 825) | @Override
    method setIslandSize (line 830) | @Override
    method getIslandSizeRaw (line 835) | @Override
    method getDiscord (line 840) | @Override
    method setDiscord (line 845) | @Override
    method getPaypal (line 850) | @Override
    method setPaypal (line 855) | @Override
    method getBiome (line 860) | @Override
    method setBiome (line 865) | @Override
    method setBiome (line 870) | @Override
    method isLocked (line 875) | @Override
    method setLocked (line 880) | @Override
    method isIgnored (line 885) | @Override
    method setIgnored (line 890) | @Override
    method sendMessage (line 895) | @Override
    method sendMessage (line 900) | @Override
    method sendMessage (line 905) | @Override
    method sendMessage (line 910) | @Override
    method sendMessage (line 915) | @Override
    method sendMessage (line 920) | @Override
    method sendTitle (line 925) | @Override
    method sendTitle (line 930) | @Override
    method executeCommand (line 935) | @Override
    method executeCommand (line 940) | @Override
    method isBeingRecalculated (line 945) | @Override
    method updateLastTime (line 950) | @Override
    method setCurrentlyActive (line 955) | @Override
    method completeMission (line 960) | @Override
    method setCurrentlyActive (line 965) | @Override
    method resetMission (line 970) | @Override
    method isCurrentlyActive (line 975) | @Override
    method hasCompletedMission (line 980) | @Override
    method getLastTimeUpdate (line 985) | @Override
    method canCompleteMissionAgain (line 990) | @Override
    method setLastTimeUpdate (line 995) | @Override
    method getAmountMissionCompleted (line 1000) | @Override
    method getIslandBank (line 1005) | @Override
    method setAmountMissionCompleted (line 1010) | @Override
    method getBankLimit (line 1015) | @Override
    method getCompletedMissions (line 1020) | @Override
    method setBankLimit (line 1025) | @Override
    method getCompletedMissionsWithAmounts (line 1030) | @Override
    method getBankLimitRaw (line 1035) | @Override
    method getDatabaseBridge (line 1040) | @Override
    method giveInterest (line 1045) | @Override
    method getPersistentDataContainer (line 1050) | @Override
    method getLastInterestTime (line 1055) | @Override
    method isPersistentDataContainerEmpty (line 1060) | @Override
    method setLastInterestTime (line 1065) | @Override
    method savePersistentDataContainer (line 1070) | @Override
    method getNextInterest (line 1075) | @Override
    method handleBlockPlace (line 1080) | @Override
    method handleBlockPlaceWithResult (line 1085) | @Override
    method handleBlockPlace (line 1090) | @Override
    method handleBlockPlaceWithResult (line 1095) | @Override
    method handleBlockPlace (line 1100) | @Override
    method handleBlockPlaceWithResult (line 1105) | @Override
    method handleBlockPlace (line 1110) | @Override
    method handleBlockPlaceWithResult (line 1115) | @Override
    method handleBlockPlace (line 1120) | @Override
    method handleBlockPlaceWithResult (line 1125) | @Override
    method handleBlockPlace (line 1130) | @Override
    method handleBlockPlaceWithResult (line 1135) | @Override
    method handleBlockPlace (line 1140) | @Override
    method handleBlockPlace (line 1146) | @Override
    method handleBlockPlace (line 1152) | @Override
    method handleBlockPlace (line 1158) | @Override
    method handleBlocksPlace (line 1164) | @Override
    method handleBlocksPlaceWithResult (line 1169) | @Override
    method handleBlocksPlace (line 1174) | @Override
    method handleBlocksPlaceWithResult (line 1179) | @Override
    method handleBlockBreak (line 1184) | @Override
    method handleBlockBreakWithResult (line 1189) | @Override
    method handleBlockBreak (line 1194) | @Override
    method handleBlockBreakWithResult (line 1199) | @Override
    method handleBlockBreak (line 1204) | @Override
    method handleBlockBreakWithResult (line 1209) | @Override
    method handleBlockBreak (line 1214) | @Override
    method handleBlockBreakWithResult (line 1219) | @Override
    method handleBlockBreak (line 1224) | @Override
    method handleBlockBreakWithResult (line 1229) | @Override
    method handleBlockBreak (line 1234) | @Override
    method handleBlockBreakWithResult (line 1239) | @Override
    method handleBlockBreak (line 1244) | @Override
    method handleBlockBreak (line 1250) | @Override
    method handleBlockBreak (line 1256) | @Override
    method handleBlocksBreak (line 1262) | @Override
    method handleBlocksBreakWithResult (line 1267) | @Override
    method handleBlocksBreak (line 1272) | @Override
    method handleBlocksBreakWithResult (line 1277) | @Override
    method isChunkDirty (line 1282) | @Override
    method isChunkDirty (line 1287) | @Override
    method isChunkDirty (line 1292) | @Override
    method markChunkDirty (line 1297) | @Override
    method markChunkDirty (line 1302) | @Override
    method markChunkEmpty (line 1307) | @Override
    method markChunkEmpty (line 1312) | @Override
    method getBlockCountAsBigInteger (line 1317) | @Override
    method getBlockCountsAsBigInteger (line 1322) | @Override
    method getExactBlockCountAsBigInteger (line 1327) | @Override
    method clearBlockCounts (line 1332) | @Override
    method getBlocksTracker (line 1337) | @Override
    method getWorth (line 1342) | @Override
    method getRawWorth (line 1347) | @Override
    method getBonusWorth (line 1352) | @Override
    method setBonusWorth (line 1357) | @Override
    method getBonusLevel (line 1362) | @Override
    method setBonusLevel (line 1367) | @Override
    method getIslandLevel (line 1372) | @Override
    method getRawLevel (line 1377) | @Override
    method getUpgradeLevel (line 1382) | @Override
    method setUpgradeLevel (line 1387) | @Override
    method getUpgrades (line 1392) | @Override
    method syncUpgrades (line 1397) | @Override
    method updateUpgrades (line 1402) | @Override
    method getLastTimeUpgrade (line 1407) | @Override
    method hasActiveUpgradeCooldown (line 1412) | @Override
    method getCropGrowthMultiplier (line 1417) | @Override
    method setCropGrowthMultiplier (line 1422) | @Override
    method getCropGrowthRaw (line 1427) | @Override
    method getSpawnerRatesMultiplier (line 1432) | @Override
    method setSpawnerRatesMultiplier (line 1437) | @Override
    method getSpawnerRatesRaw (line 1442) | @Override
    method getMobDropsMultiplier (line 1447) | @Override
    method setMobDropsMultiplier (line 1452) | @Override
    method getMobDropsRaw (line 1457) | @Override
    method getBlockLimit (line 1462) | @Override
    method getExactBlockLimit (line 1467) | @Override
    method getBlockLimitKey (line 1472) | @Override
    method getBlocksLimits (line 1477) | @Override
    method getCustomBlocksLimits (line 1482) | @Override
    method clearBlockLimits (line 1487) | @Override
    method setBlockLimit (line 1492) | @Override
    method removeBlockLimit (line 1497) | @Override
    method hasReachedBlockLimit (line 1502) | @Override
    method hasReachedBlockLimit (line 1507) | @Override
    method getEntityLimit (line 1512) | @Override
    method getEntityLimit (line 1517) | @Override
    method getEntitiesLimitsAsKeys (line 1522) | @Override
    method getCustomEntitiesLimits (line 1527) | @Override
    method clearEntitiesLimits (line 1532) | @Override
    method setEntityLimit (line 1537) | @Override
    method setEntityLimit (line 1542) | @Override
    method removeEntityLimit (line 1547) | @Override
    method hasReachedEntityLimit (line 1552) | @Override
    method hasReachedEntityLimit (line 1557) | @Override
    method hasReachedEntityLimit (line 1562) | @Override
    method hasReachedEntityLimit (line 1567) | @Override
    method getEntitiesTracker (line 1572) | @Override
    method getTeamLimit (line 1577) | @Override
    method setTeamLimit (line 1582) | @Override
    method getTeamLimitRaw (line 1587) | @Override
    method getWarpsLimit (line 1592) | @Override
    method setWarpsLimit (line 1597) | @Override
    method getWarpsLimitRaw (line 1602) | @Override
    method setPotionEffect (line 1607) | @Override
    method removePotionEffect (line 1612) | @Override
    method getPotionEffectLevel (line 1617) | @Override
    method getPotionEffects (line 1622) | @Override
    method getCustomPotionEffects (line 1627) | @Override
    method applyEffects (line 1632) | @Override
    method applyEffects (line 1637) | @Override
    method removeEffects (line 1642) | @Override
    method removeEffects (line 1647) | @Override
    method clearEffects (line 1652) | @Override
    method setRoleLimit (line 1657) | @Override
    method removeRoleLimit (line 1662) | @Override
    method getRoleLimit (line 1667) | @Override
    method getRoleLimitRaw (line 1672) | @Override
    method getRoleLimits (line 1677) | @Override
    method getCustomRoleLimits (line 1682) | @Override
    method createWarpCategory (line 1687) | @Override
    method getWarpCategory (line 1692) | @Nullable
    method getWarpCategory (line 1698) | @Nullable
    method renameCategory (line 1704) | @Override
    method deleteCategory (line 1709) | @Override
    method getWarpCategories (line 1714) | @Override
    method createWarp (line 1719) | @Override
    method createWarp (line 1724) | @Override
    method renameWarp (line 1729) | @Override
    method getWarp (line 1734) | @Nullable
    method getWarp (line 1740) | @Nullable
    method warpPlayer (line 1746) | @Override
    method warpPlayer (line 1751) | @Override
    method deleteWarp (line 1756) | @Override
    method deleteWarp (line 1761) | @Override
    method getIslandWarps (line 1766) | @Override
    method getRating (line 1771) | @Override
    method setRating (line 1776) | @Override
    method removeRating (line 1781) | @Override
    method getTotalRating (line 1786) | @Override
    method getRatingAmount (line 1791) | @Override
    method getRatings (line 1796) | @Override
    method removeRatings (line 1801) | @Override
    method hasSettingsEnabled (line 1806) | @Override
    method getAllSettings (line 1811) | @Override
    method enableSettings (line 1816) | @Override
    method disableSettings (line 1821) | @Override
    method resetSettings (line 1826) | @Override
    method setGeneratorPercentage (line 1831) | @Override
    method setGeneratorPercentage (line 1836) | @Override
    method getGeneratorPercentage (line 1842) | @Override
    method getGeneratorPercentages (line 1847) | @Override
    method setGeneratorAmount (line 1852) | @Override
    method removeGeneratorAmount (line 1857) | @Override
    method getGeneratorAmount (line 1862) | @Override
    method getGeneratorTotalAmount (line 1867) | @Override
    method getGeneratorAmounts (line 1872) | @Override
    method getCustomGeneratorAmounts (line 1877) | @Override
    method clearGeneratorAmounts (line 1882) | @Override
    method generateBlock (line 1887) | @Nullable
    method generateBlock (line 1893) | @Override
    method wasSchematicGenerated (line 1898) | @Override
    method setSchematicGenerate (line 1903) | @Override
    method setSchematicGenerate (line 1908) | @Override
    method getGeneratedSchematics (line 1913) | @Override
    method getSchematicName (line 1918) | @Override
    method getPosition (line 1923) | @Override
    method getChest (line 1928) | @Override
    method getChestSize (line 1933) | @Override
    method setChestRows (line 1938) | @Override
    method compareTo (line 1943) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/island/DelegateIslandChest.java
  class DelegateIslandChest (line 7) | public class DelegateIslandChest implements IslandChest {
    method DelegateIslandChest (line 11) | protected DelegateIslandChest(IslandChest handle) {
    method getIsland (line 15) | @Override
    method getIndex (line 20) | @Override
    method getRows (line 25) | @Override
    method setRows (line 30) | @Override
    method getContents (line 35) | @Override
    method openChest (line 40) | @Override
    method getInventory (line 45) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/island/DelegateIslandPreview.java
  class DelegateIslandPreview (line 7) | public class DelegateIslandPreview implements IslandPreview {
    method DelegateIslandPreview (line 11) | protected DelegateIslandPreview(IslandPreview handle) {
    method getPlayer (line 15) | @Override
    method getLocation (line 20) | @Override
    method getLocation (line 25) | @Override
    method getSchematic (line 30) | @Override
    method getIslandName (line 35) | @Override
    method getPreviousGameMode (line 40) | @Override
    method handleConfirm (line 45) | @Override
    method handleCancel (line 50) | @Override
    method handleEscape (line 55) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/island/DelegatePermissionNode.java
  class DelegatePermissionNode (line 5) | public class DelegatePermissionNode implements PermissionNode {
    method DelegatePermissionNode (line 9) | protected DelegatePermissionNode(PermissionNode handle) {
    method hasPermission (line 13) | @Override
    method setPermission (line 18) | @Override
    method getCustomPermissions (line 23) | @Override

FILE: API/src/main/java/com/bgsoftware/superiorskyblock/api/island/Island.java
  type Island (line 53) | public interface Island extends Comparable<Island>, IMissionsHolder, IPe...
    method getOwner (line 62) | SuperiorPlayer getOwner();
    method getUniqueId (line 67) | UUID getUniqueId();
    method getCreationTime (line 72) | long getCreationTime();
    method getCreationTimeDate (line 77) | String getCreationTimeDate();
    method updateDatesFormatter (line 82) | void updateDatesFormatter();
    method getCache (line 87) | IslandCache getCache();
    method getIslandMembers (line 98) | List<SuperiorPlayer> getIslandMembers(boolean includeOwner);
    method getIslandMembers (line 105) | List<SuperiorPlayer> getIslandMembers(PlayerRole... playerRoles);
    method getBannedPlayers (line 110) | List<SuperiorPlayer> getBannedPlayers();
    method getIslandVisitors (line 115) | List<SuperiorPlayer> getIslandVisitors();
    method getIslandVisitors (line 122) | List<SuperiorPlayer> getIslandVisitors(boolean vanishPlayers);
    method getAllPlayersInside (line 127) | List<SuperiorPlayer> getAllPlayersInside();
    method getUniqueVisitors (line 132) | List<SuperiorPlayer> getUniqueVisitors();
    method getUniqueVisitorsWithTimes (line 137) | List<Pair<SuperiorPlayer, Long>> getUniqueVisitorsWithTimes();
    method inviteMember (line 144) | void inviteMember(SuperiorPlayer superiorPlayer);
    method revokeInvite (line 151) | void revokeInvite(SuperiorPlayer superiorPlayer);
    method isInvited (line 156) | boolean isInvited(SuperiorPlayer superiorPlayer);
    method getInvitedPlayers (line 161) | List<SuperiorPlayer> getInvitedPlayers();
    method addMember (line 169) | void addMember(SuperiorPlayer superiorPlayer, PlayerRole playerRole);
    method kickMember (line 177) | @Deprecated
    method removeMember (line 186) | void removeMember(SuperiorPlayer superiorPlayer, MemberRemoveReason me...
    method isMember (line 193) | boolean isMember(SuperiorPlayer superiorPlayer);
    method banMember (line 200) | void banMember(SuperiorPlayer superiorPlayer);
    method banMember (line 209) | void banMember(SuperiorPlayer superiorPlayer, @Nullable SuperiorPlayer...
    method unbanMember (line 216) | void unbanMember(SuperiorPlayer superiorPlayer);
    method isBanned (line 223) | boolean isBanned(SuperiorPlayer superiorPlayer);
    method addCoop (line 230) | void addCoop(SuperiorPlayer superiorPlayer);
    method removeCoop (line 237) | void removeCoop(SuperiorPlayer superiorPlayer);
    method isCoop (line 244) | boolean isCoop(SuperiorPlayer superiorPlayer);
    method getCoopPlayers (line 249) | List<SuperiorPlayer> getCoopPlayers();
    method getCoopLimit (line 254) | int getCoopLimit();
    method getCoopLimitRaw (line 259) | int getCoopLimitRaw();
    method setCoopLimit (line 266) | void setCoopLimit(int coopLimit);
    method setPlayerInside (line 273) | void setPlayerInside(SuperiorPlayer superiorPlayer, boolean inside);
    method isVisitor (line 282) | boolean isVisitor(SuperiorPlayer superiorPlayer, boolean checkCoopStat...
    method getCenter (line 293) | Location getCenter(Dimension dimension);
    method getCenterPosition (line 298) | BlockPosition getCenterPosition();
    method accessIslandWorld (line 306) | CompletableFuture<World> accessIslandWorld(Dimension dimension);
    method getIslandHome (line 313) | @Nullable
    method getIslandHomePosition (line 321) | @Nullable
    method getIslandHomesAsDimensions (line 328) | Map<Dimension, Location> getIslandHomesAsDimensions();
    method getIslandHomes (line 333) | Map<Dimension, WorldPosition> getIslandHomes();
    method setIslandHome (line 341) | void setIslandHome(Location homeLocation);
    method setIslandHome (line 351) | @Deprecated
    method setIslandHome (line 360) | void setIslandHome(Dimension dimension, @Nullable WorldPosition homePo...
    method getVisitorsLocation (line 369) | @Nullable
    method getVisitorsPosition (line 378) | @Nullable
    method setVisitorsLocation (line 386) | void setVisitorsLocation(@Nullable Location visitorsLocation);
    method setVisitorsLocation (line 395) | void setVisitorsLocation(Dimension dimension, @Nullable WorldPosition ...
    method getMinimum (line 401) | Location getMinimum();
    method getMinimumPosition (line 406) | BlockPosition getMinimumPosition();
    method getMinimumProtected (line 412) | Location getMinimumProtected();
    method getMinimumProtectedPosition (line 417) | BlockPosition getMinimumProtectedPosition();
    method getMaximum (line 423) | Location getMaximum();
    method getMaximumPosition (line 428) | BlockPosition getMaximumPosition();
    method getMaximumProtected (line 434) | Location getMaximumProtected();
    method getMaximumProtectedPosition (line 439) | BlockPosition getMaximumProtectedPosition();
    method getAllChunks (line 445) | List<Chunk> getAllChunks();
    method getAllChunks (line 452) | List<Chunk> getAllChunks(@IslandChunkFlags int flags);
    method getAllChunks (line 460) | List<Chunk> getAllChunks(Dimension dimension);
    method getAllChunks (line 468) | List<Chunk> getAllChunks(Dimension dimension, @IslandChunkFlags int fl...
    method getLoadedChunks (line 474) | List<Chunk> getLoadedChunks();
    method getLoadedChunks (line 481) | List<Chunk> getLoadedChunks(@IslandChunkFlags int flags);
    method getLoadedChunks (line 489) | List<Chunk> getLoadedChunks(Dimension dimension);
    method getLoadedChunks (line 497) | List<Chunk> getLoadedChunks(Dimension dimension, @IslandChunkFlags int...
    method getAllChunksAsync (line 505) | List<CompletableFuture<Chunk>> getAllChunksAsync(Dimension dimension);
    method getAllChunksAsync (line 513) | List<CompletableFuture<Chunk>> getAllChunksAsync(Dimension dimension, ...
    method getAllChunksAsync (line 522) | List<CompletableFuture<Chunk>> getAllChunksAsync(Dimension dimension, ...
    method getAllChunksAsync (line 531) | List<CompletableFuture<Chunk>> getAllChunksAsync(Dimension dimension, ...
    method resetChunks (line 538) | void resetChunks();
    method resetChunks (line 546) | void resetChunks(@Nullable Runnable onFinish);
    method resetChunks (line 554) | void resetChunks(Dimension dimension);
    method resetChunks (line 562) | void resetChunks(Dimension dimension, @Nullable Runnable onFinish);
    method resetChunks (line 569) | void resetChunks(@IslandChunkFlags int flags);
    method resetChunks (line 577) | void resetChunks(@IslandChunkFlags int flags, @Nullable Runnable onFin...
    method resetChunks (line 585) | void resetChunks(Dimension dimension, @IslandChunkFlags int flags);
    method resetChunks (line 594) | void resetChunks(Dimension dimension, @IslandChunkFlags int flags, @Nu...
    method isInside (line 602) | boolean isInside(Location location);
    method isInside (line 610) | boolean isInside(Location location, int extraRadius);
    method isInside (line 618) | boolean isInside(Location location, double extraRadius);
    method isInside (line 627) | boolean isInside(BlockPosition blockPosition);
    method isInside (line 636) | boolean isInside(BlockPosition blockPosition, int extraRadius);
    method isInside (line 644) | boolean isInside(BlockPosition blockPosition, double extraRadius);
    method isInside (line 653) | boolean isInside(WorldPosition worldPosition);
    method isInside (line 662) | boolean isInside(WorldPosition worldPosition, int extraRadius);
    method isInside (line 670) | boolean isInside(WorldPosition worldPosition, double extraRadius);
    method isInside (line 678) | boolean isInside(Chunk chunk);
    method isInside (line 688) | boolean isInside(World world, int chunkX, int chunkZ);
    method isInside (line 698) | boolean isInside(World world, int chunkX, int chunkZ, int extraRadius);
    method isInside (line 708) | boolean isInside(World world, int chunkX, int chunkZ, double extraRadi...
    method isInside (line 718) | boolean isInside(WorldInfo worldInfo, int chunkX, int chunkZ);
    method isInside (line 728) | boolean isInside(WorldInfo worldInfo, int chunkX, int chunkZ, int extr...
    method isInside (line 738) | boolean isInside(WorldInfo worldInfo, int chunkX, int chunkZ, double e...
    method isInside (line 748) | boolean isInside(int chunkX, int chunkZ);
    method isInside (line 758) | boolean isInside(int chunkX, int chunkZ, int extraRadius);
    method isInside (line 768) | boolean isInside(int chunkX, int chunkZ, double extraRadius);
    method isInsideRange (line 775) | boolean isInsideRange(Location location);
    method isInsideRange (line 783) | boolean isInsideRange(Location location, int extraRadius);
    method isInsideRange (line 791) | boolean isInsideRange(Location location, double extraRadius);
    method isInsideRange (line 799) | boolean isInsideRange(BlockPosition blockPosition);
    method isInsideRange (line 808) | boolean isInsideRange(BlockPosition blockPosition, int extraRadius);
    method isInsideRange (line 817) | boolean isInsideRange(BlockPosition blockPosition, double extraRadius);
    method isInsideRange (line 825) | boolean isInsideRange(WorldPosition worldPosition);
    method isInsideRange (line 834) | boolean isInsideRange(WorldPosition worldPosition, int extraRadius);
    method isInsideRange (line 843) | boolean isInsideRange(WorldPosition worldPosition, double extraRadius);
    method isInsideRange (line 850) | boolean isInsideRange(Chunk chunk);
    method isInsideRange (line 860) | boolean isInsideRange(World world, int chunkX, int chunkZ);
    method isInsideRange (line 870) | boolean isInsideRange(World world, int chunkX, int chunkZ, int extraRa...
    method isInsideRange (line 880) | boolean isInsideRange(World world, int chunkX, int chunkZ, double extr...
    method isInsideRange (line 890) | boolean isInsideRange(WorldInfo worldInfo, int chunkX, int chunkZ);
    method isInsideRange (line 900) | boolean isInsideRange(WorldInfo worldInfo, int chunkX, int chunkZ, int...
    method isInsideRange (line 910) | boolean isInsideRange(WorldInfo worldInfo, int chunkX, int chunkZ, dou...
    method isInsideRange (line 920) | boolean isInsideRange(int chunkX, int chunkZ);
    method isInsideRange (line 930) | boolean isInsideRange(int chunkX, int chunkZ, int extraRadius);
    method isInsideRange (line 940) | boolean isInsideRange(int chunkX, int chunkZ, double extraRadius);
    method isNormalEnabled (line 947) | @Deprecated
    method setNormalEnabled (line 955) | @Deprecated
    method isNetherEnabled (line 963) | @Deprecated
    method setNetherEnabled (line 971) | @Deprecated
    method isEndEnabled (line 979) | @Deprecated
    method setEndEnabled (line 987) | @Deprecated
    method isDimensionEnabled (line 995) | boolean isDimensionEnabled(Dimension dimension);
    method setDimensionEnabled (line 1003) | void setDimensionEnabled(Dimension dimension, boolean enabled);
    method getUnlockedWorlds (line 1008) | Collection<Dimension> getUnlockedWorlds();
    method hasPermission (line 1020) | boolean hasPermission(CommandSender sender, IslandPrivilege islandPriv...
    method hasPermission (line 1028) | boolean hasPermission(SuperiorPlayer superiorPlayer, IslandPrivilege i...
    method hasPermission (line 1036) | boolean hasPermission(PlayerRole playerRole, IslandPrivilege islandPri...
    method setPermission (line 1046) | @Deprecated
    method setPermission (line 1055) | void setPermission(PlayerRole playerRole, IslandPrivilege islandPrivil...
    method resetPermissions (line 1060) | void resetPermissions();
    method setPermission (line 1069) | void setPermission(SuperiorPlayer superiorPlayer, IslandPrivilege isla...
    method resetPermissions (line 1074) | void resetPermissions(SuperiorPlayer superiorPlayer);
    method getPermissionNode (line 1081) | PermissionNode getPermissionNode(SuperiorPlayer superiorPlayer);
    method getRequiredPlayerRole (line 1088) | PlayerRole getRequiredPlayerRole(IslandPrivilege islandPrivilege);
    method getPlayerPermissions (line 1093) | Map<SuperiorPlayer, PermissionNode> getPlayerPermissions();
    method getRolePermissions (line 1098) | Map<IslandPrivilege, PlayerRole> getRolePermissions();
    method isSpawn (line 1107) | boolean isSpawn();
    method setName (line 1114) | void setName(String islandName);
    method getName (line 1120) | String getName();
    method getRawName (line 1127) | @Deprecated
    method getStrippedName (line 1134) | String getStrippedName();
    method getFormattedName (line 1140) | String getFormattedName();
    method getDescription (line 1145) | String getDescription();
    method setDescription (line 1152) | void setDescription(String description);
    method disbandIsland (line 1157) | void disbandIsland();
    method transferIsland (line 1165) | boolean transferIsland(SuperiorPlayer superiorPlayer);
    method replacePlayers (line 1175) | void replacePlayers(SuperiorPlayer originalPlayer, @Nullable SuperiorP...
    method calcIslandWorth (line 1182) | void calcIslandWorth(@Nullable SuperiorPlayer asker);
    method calcIslandWorth (line 1190) | void calcIslandWorth(@Nullable SuperiorPlayer asker, @Nullable Runnabl...
    method getCalculationAlgorithm (line 1195) | IslandCalculationAlgorithm getCalculationAlgorithm();
    method updateBorder (line 1200) | void updateBorder();
    method updateIslandFly (line 1207) | void updateIslandFly(SuperiorPlayer superiorPlayer);
    method getIslandSize (line 1212) | int getIslandSize();
    method setIslandSize (line 1219) | void setIslandSize(int islandSize);
    method getIslandSizeRaw (line 1224) | int getIslandSizeRaw();
    method getDiscord (line 1229) | String getDiscord();
    method setDiscord (line 1234) | void setDiscord(String discord);
    method getPaypal (line 1239) | String getPaypal();
    method setPaypal (line 1244) | void setPaypal(String paypal);
    method getBiome (line 1249) | Biome getBiome();
    method setBiome (line 1254) | void setBiome(Biome biome);
    method setBiome (line 1261) | void setBiome(Biome biome, boolean updateBlocks);
    method isLocked (line 1266) | boolean isLocked();
    method setLocked (line 1273) | void setLocked(boolean locked);
    method isIgnored (line 1278) | boolean isIgnored();
    method setIgnored (line 1283) | void setIgnored(boolean ignored);
    method sendMessage (line 1290) | void sendMessage(String message);
    method sendMessage (line 1298) | void sendMessage(String message, UUID... ignoredMembers);
    method sendMessage (line 1305) | void sendMessage(IMessageComponent messageComponent);
    method sendMessage (line 1313) | void sendMessage(IMessageComponent messageComponent, Object... args);
    method sendMessage (line 1321) | void sendMessage(IMessageComponent messageComponent, List<UUID> ignore...
    method sendMessage (line 1330) | void sendMessage(IMessageComponent messageComponent, List<UUID> ignore...
    method sendTitle (line 1341) | void sendTitle(@Nullable String title, @Nullable String subtitle, int ...
    method sendTitle (line 1353) | void sendTitle(@Nullable String title, @Nullable String subtitle, int ...
    method executeCommand (line 1362) | void executeCommand(String command, boolean onlyOnlineMembers);
    method executeCommand (line 1372) | void executeCommand(String command, boolean onlyOnlineMembers, UUID......
    method isBeingRecalculated (line 1377) | boolean isBeingRecalculated();
    method updateLastTime (line 1382) | void updateLastTime();
    method setCurrentlyActive (line 1387) | void setCurrentlyActive();
    method setCurrentlyActive (line 1395) | void setCurrentlyActive(boolean active);
    method isCurrentlyActive (line 1401) | boolean isCurrentlyActive();
    method getLastTimeUpdate (line 1407) | long getLastTimeUpdate();
    method setLastTimeUpdate (line 1414) | void setLastTimeUpdate(long lastTimeUpdate);
    method getIslandBank (line 1423) | IslandBank getIslandBank();
    method getBankLimit (line 1428) | BigDecimal getBankLimit();
    method setBankLimit (line 1435) | void setBankLimit(BigDecimal bankLimit);
    method getBankLimitRaw (line 1440) | BigDecimal getBankLimitRaw();
    method giveInterest (line 1448) | boolean giveInterest(boolean checkOnlineOwner);
    method getLastInterestTime (line 1453) | long getLastInterestTime();
    method setLastInterestTime (line 1460) | void setLastInterestTime(long lastInterest);
    method getNextInterest (line 1465) | long getNextInterest();
    method handleBlockPlace (line 1477) | void handleBlockPlace(Block block);
    method handleBlockPlaceWithResult (line 1486) | BlockChangeResult handleBlockPlaceWithResult(Block block);
    method handleBlockPlace (line 1494) | void handleBlockPlace(Key key);
    method handleBlockPlaceWithResult (line 1503) | BlockChangeResult handleBlockPlaceWithResult(Key key);
    method handleBlockPlace (line 1512) | void handleBlockPlace(Block block, @Size int amount);
    method handleBlockPlaceWithResult (line 1522) | BlockChangeResult handleBlockPlaceWithResult(Block block, @Size int am...
    method handleBlockPlace (line 1531) | void handleBlockPlace(Key key, @Size int amount);
    method handleBlockPlaceWithResult (line 1541) | BlockChangeResult handleBlockPlaceWithResult(Key key, @Size int amount);
    method handleBlockPlace (line 1550) | void handleBlockPlace(Block block, @Size int amount, @IslandBlockFlags...
    method handleBlockPlaceWithResult (line 1560) | BlockChangeResult handleBlockPlaceWithResult(Block block, @Size int am...
    method handleBlockPlace (line 1569) | void handleBlockPlace(Key key, @Size int amount, @IslandBlockFlags int...
    method handleBlockPlaceWithResult (line 1579) | BlockChangeResult handleBlockPlaceWithResult(Key key, @Size int amount...
    method handleBlockPlace (line 1590) | @Deprecated
    method handleBlockPlace (line 1602) | @Deprecated
    method handleBlockPlace (line 1614) | @Deprecated
    method handleBlockPlace (line 1626) | @Deprecated
    method handleBlocksPlace (line 1635) | void handleBlocksPlace(Map<Key, Integer> blocks);
    method handleBlocksPlaceWithResult (line 1644) | Map<Key, BlockChangeResult> handleBlocksPlaceWithResult(Map<Key, Integ...
    method handleBlocksPlace (line 1652) | void handleBlocksPlace(Map<Key, Integer> blocks, @IslandBlockFlags int...
    method handleBlocksPlaceWithResult (line 1661) | Map<Key, BlockChangeResult> handleBlocksPlaceWithResult(Map<Key, Integ...
    method handleBlockBreak (line 1669) | void handleBlockBreak(Block block);
    method handleBlockBreakWithResult (line 1678) | BlockChangeResult handleBlockBreakWithResult(Block block);
    method handleBlockBreak (line 1686) | void handleBlockBreak(Key key);
    method handleBlockBreakWithResult (line 1695) | BlockChangeResult handleBlockBreakWithResult(Key key);
    method handleBlockBreak (line 1704) | void handleBlockBreak(Block block, @Size int amount);
    method handleBlockBreakWithResult (line 1714) | BlockChangeResult handleBlockBreakWithResult(Block block, @Size int am...
    method handleBlockBreak (line 1723) | void handleBlockBreak(Key key, @Size int amount);
    method handleBlockBreakWithResult (line 1733) | BlockChangeResult handleBlockBreakWithResult(Key key, @Size int amount);
    method handleBlockBreak (line 1742) | void handleBlockBreak(Block block, @Size int amount, @IslandBlockFlags...
    method handleBlockBreakWithResult (line 1751) | BlockChangeResult handleBlockBreakWithResult(Block block, @Size int am...
    method handleBlockBreak (line 1760) | void handleBlockBreak(Key key, @Size int amount, @IslandBlockFlags int...
    method handleBlockBreakWithResult (line 1769) | BlockChangeResult handleBlockBreakWithResult(Key key, @Size int amount...
    method handleBlockBreak (line 1780) | @Deprecated
    method handleBlockBreak (line 1792) | @Deprecated
    method handleBlockBreak (line 1804) | @Deprecated
    method handleBlocksBreak (line 1813) | void handleBlocksBreak(Map<Key, Integer> blocks);
    method handleBlocksBreakWithResult (line 1822) | Map<Key, BlockChangeResult> handleBlocksBreakWithResult(Map<Key, Integ...
    method handleBlocksBreak (line 1830) | void handleBlocksBreak(Map<Key, Integer> blocks, @IslandBlockFlags int...
    method handleBlocksBreakWithResult (line 1839) | Map<Key, BlockChangeResult> handleBlocksBreakWithResult(Map<Key, Integ...
    method isChunkDirty (line 1848) | boolean isChunkDirty(World world, int chunkX, int chunkZ);
    method isChunkDirty (line 1857) | boolean isChunkDirty(String worldName, int chunkX, int chunkZ);
    method isChunkDirty (line 1866) | boolean isChunkDirty(WorldInfo worldInfo, int chunkX, int chunkZ);
    method markChunkDirty (line 1876) | void markChunkDirty(World world, int chunkX, int chunkZ, boolean save);
    method markChunkDirty (line 1886) | void markChunkDirty(WorldInfo worldInfo, int chunkX, int chunkZ, boole...
    method markChunkEmpty (line 1896) | void markChunkEmpty(World world, int chunkX, int chunkZ, boolean save);
    method markChunkEmpty (line 1906) | void markChunkEmpty(WorldInfo worldInfo, int chunkX, int chunkZ, boole...
    method getBlockCountAsBigInteger (line 1913) | BigInteger getBlockCountAsBigInteger(Key key);
    method getBlockCountsAsBigInteger (line 1918) | Map<Key, BigInteger> getBlockCountsAsBigInteger();
    method getExactBlockCountAsBigInteger (line 1927) | BigInteger getExactBlockCountAsBigInteger(Key key);
    method clearBlockCounts (line 1932) | void clearBlockCounts();
    method getBlocksTracker (line 1937) | IslandBlocksTrackerAlgorithm getBlocksTracker();
    method getWorth (line 1942) | BigDecimal getWorth();
    method getRawWorth (line 1947) | BigDecimal getRawWorth();
    method getBonusWorth (line 1952) | BigDecimal getBonusWorth();
    method setBonusWorth (line 1959) | void setBonusWorth(BigDecimal bonusWorth);
    method getBonusLevel (line 1964) | BigDecimal getBonusLevel();
    method setBonusLevel (line 1971) | void setBonusLevel(BigDecimal bonusLevel);
    method getIslandLevel (line 1976) | BigDecimal getIslandLevel();
    method getRawLevel (line 1981) | BigDecimal getRawLevel();
    method getUpgradeLevel (line 1992) | UpgradeLevel getUpgradeLevel(Upgrade upgrade);
    method setUpgradeLevel (line 2000) | void setUpgradeLevel(Upgrade upgrade, int level);
    method getUpgrades (line 2005) | Map<String, Integer> getUpgrades();
    method syncUpgrades (line 2011) | void syncUpgrades();
    method updateUpgrades (line 2016) | void updateUpgrades();
    method getLastTimeUpgrade (line 2021) | long getLastTimeUpgrade();
    method hasActiveUpgradeCooldown (line 2026) | boolean hasActiveUpgradeCooldown();
    method getCropGrowthMultiplier (line 2031) | double getCropGrowthMultiplier();
    method setCropGrowthMultiplier (line 2038) | void setCropGrowthMultiplier(double cropGrowth);
    method getCropGrowthRaw (line 2043) | double getCropGrowthRaw();
    method getSpawnerRatesMultiplier (line 2048) | double getSpawnerRatesMultiplier();
    method setSpawnerRatesMultiplier (line 2055) | void setSpawnerRatesMultiplier(double spawnerRates);
    method getSpawnerRatesRaw (line 2060) | double getSpawnerRatesRaw();
    method getMobDropsMultiplier (line 2065) | double getMobDropsMultiplier();
    method setMobDropsMultiplier (line 2072) | void setMobDropsMultiplier(double mobDrops);
    method getMobDropsRaw (line 2077) | double getMobDropsRaw();
    method getBlockLimit (line 2084) | int getBlockLimit(Key key);
    method getExactBlockLimit (line 2093) | int getExactBlockLimit(Key key);
    method getBlockLimitKey (line 2100) | Key getBlockLimitKey(Key key);
    method getBlocksLimits (line 2105) | Map<Key, Integer> getBlocksLimits();
    method getCustomBlocksLimits (line 2110) | Map<Key, Integer> getCustomBlocksLimits();
    method clearBlockLimits (line 2115) | void clearBlockLimits();
    method setBlockLimit (line 2123) | void setBlockLimit(Key key, int limit);
    method removeBlockLimit (line 2130) | void removeBlockLimit(Key key);
    method hasReachedBlockLimit (line 2138) | boolean hasReachedBlockLimit(Key key);
    method hasReachedBlockLimit (line 2147) | boolean hasReachedBlockLimit(Key key, int amount);
    method getEntityLimit (line 2154) | int getEntityLimit(EntityType entityType);
    method getEntityLimit (line 2161) | int getEntityLimit(Key key);
    method getEntitiesLimitsAsKeys (line 2166) | Map<Key, Integer> getEntitiesLimitsAsKeys();
    method getCustomEntitiesLimits (line 2171) | Map<Key, Integer> getCustomEntitiesLimits();
    method clearEntitiesLimits (line 2176) | void clearEntitiesLimits();
    method setEntityLimit (line 2184) | void setEntityLimit(EntityType entityType, int limit);
    method setEntityLimit (line 2192) | void setEntityLimit(Key key, int limit);
    method removeEntityLimit (line 2199) | void removeEntityLimit(Key key);
    method hasReachedEntityLimit (line 2206) | CompletableFuture<Boolean> hasReachedEntityLimit(EntityType entityType);
    method hasReachedEntityLimit (line 2213) | CompletableFuture<Boolean> hasReachedEntityLimit(Key key);
    method hasReachedEntityLimit (line 2221) | CompletableFuture<Boolean> hasReachedEntityLimit(EntityType entityType...
    method hasReachedEntityLimit (line 2229) | CompletableFuture<Boolean> hasReachedEntityLimit(Key key, int amount);
    method getEntitiesTracker (line 2234) | IslandEntitiesTrackerAlgorithm getEntitiesTracker();
    method getTeamLimit (line 2239) | int getTeamLimit();
    method setTeamLimit (line 2246) | void setTeamLimit(int teamLimit);
    method getTeamLimitRaw (line 2251) | int getTeamLimitRaw();
    method getWarpsLimit (line 2256) | int getWarpsLimit();
    method setWarpsLimit (line 2263) | void setWarpsLimit(int warpsLimit);
    method getWarpsLimitRaw (line 2268) | int getWarpsLimitRaw();
    method setPotionEffect (line 2277) | void setPotionEffect(PotionEffectType type, int level);
    method removePotionEffect (line 2284) | void removePotionEffect(PotionEffectType type);
    method getPotionEffectLevel (line 2292) | int getPotionEffectLevel(PotionEffectType type);
    method getPotionEffects (line 2297) | Map<PotionEffectType, Integer> getPotionEffects();
    method getCustomPotionEffects (line 2302) | Map<PotionEffectType, Integer> getCustomPotionEffects();
    method applyEffects (line 2311) | void applyEffects(SuperiorPlayer superiorPlayer);
    method applyEffects (line 2316) | void applyEffects();
    method removeEffects (line 2324) | void removeEffects(SuperiorPlayer superiorPlayer);
    method removeEffects (line 2329) | void removeEffects();
    method clearEffects (line 2334) | void clearEffects();
    method setRoleLimit (line 2342) | void setRoleLimit(PlayerRole playerRole, int limit);
    method removeRoleLimit (line 2349) | void removeRoleLimit(PlayerRole playerRole);
    method getRoleLimit (line 2356) | int getRoleLimit(PlayerRole playerRole);
    method getRoleLimitRaw (line 2363) | int getRoleLimitRaw(PlayerRole playerRole);
    method getRoleLimits (line 2368) | Map<PlayerRole, Integer> getRoleLimits();
    method getCustomRoleLimits (line 2373) | Map<PlayerRole, Integer> getCustomRoleLimits();
    method createWarpCategory (line 2385) | WarpCategory createWarpCategory(String name);
    method getWarpCategory (line 2392) | @Nullable
    method getWarpCategory (line 2400) | @Nullable
    method renameCategory (line 2409) | void renameCategory(WarpCategory warpCategory, String newName);
    method deleteCategory (line 2417) | void deleteCategory(WarpCategory warpCategory);
    method getWarpCategories (line 2422) | Map<String, WarpCategory> getWarpCategories();
    method createWarp (line 2432) | IslandWarp createWarp(String name, Location location, @Nullable WarpCa...
    method createWarp (line 2443) | IslandWarp createWarp(String name, WorldInfo worldInfo, WorldPosition ...
    method renameWarp (line 2451) | void renameWarp(IslandWarp islandWarp, String newName);
    method getWarp (line 2458) | @Nullable
    method getWarp (line 2466) | @Nullable
    method warpPlayer (line 2475) | void warpPlayer(SuperiorPlayer superiorPlayer, String warpName);
    method warpPlayer (line 2484) | void warpPlayer(SuperiorPlayer superiorPlayer, String warpName, boolea...
    method deleteWarp (line 2492) | void deleteWarp(@Nullable SuperiorPlayer superiorPlayer, Location loca...
    method deleteWarp (line 2499) | void deleteWarp(String name);
    method getIslandWarps (line 2504) | Map<String, IslandWarp> getIslandWarps();
    method getRating (line 2515) | Rating getRating(SuperiorPlayer superiorPlayer);
    method setRating (line 2523) | void setRating(SuperiorPlayer superiorPlayer, Rating rating);
    method removeRating (line 2530) | void removeRating(SuperiorPlayer superiorPlayer);
    method getTotalRating (line 2535) | double getTotalRating();
    method getRatingAmount (line 2540) | int getRatingAmount();
    method getRatings (line 2545) | Map<UUID, Rating> getRatings();
    method removeRatings (line 2550) | void removeRatings();
    method hasSettingsEnabled (line 2561) | boolean hasSettingsEnabled(IslandFlag islandFlag);
    method getAllSettings (line 2567) | Map<IslandFlag, Byte> getAllSettings();
    method enableSettings (line 2574) | void enableSettings(IslandFlag islandFlag);
    method disableSettings (line 2581) | void disableSettings(IslandFlag islandFlag);
    method resetSettings (line 2586) | void resetSettings();
    method setGeneratorPercentage (line 2609) | void setGeneratorPercentage(Key key, int percentage, Dimension dimensi...
    method setGeneratorPercentage (line 2632) | boolean setGeneratorPercentage(Key key, int percentage, Dimension dime...
    method getGeneratorPercentage (line 2642) | int getGeneratorPercentage(Key key, Dimension dimension);
    method getGeneratorPercentages (line 2647) | Map<String, Integer> getGeneratorPercentages(Dimension dimension);
    method setGeneratorAmount (line 2652) | void setGeneratorAmount(Key key, @Size int amount, Dimension dimension);
    method removeGeneratorAmount (line 2657) | void removeGeneratorAmount(Key key, Dimension dimension);
    method getGeneratorAmount (line 2662) | int getGeneratorAmount(Key key, Dimension dimension);
    method getGeneratorTotalAmount (line 2667) | int getGeneratorTotalAmount(Dimension dimension);
    method getGeneratorAmounts (line 2672) | Map<String, Integer> getGeneratorAmounts(Dimension dimension);
    method getCustomGeneratorAmounts (line 2677) | Map<Key, Integer> getCustomGeneratorAmounts(Dimension dimension);
    method clearGeneratorAmounts (line 2682) | vo
Condensed preview — 1742 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (8,973K chars).
[
  {
    "path": ".claudeignore",
    "chars": 37,
    "preview": "gradle/\n.git/\n.github/\n*.jar\n*.class\n"
  },
  {
    "path": ".gitattributes",
    "chars": 154,
    "preview": "#\n# https://help.github.com/articles/dealing-with-line-endings/\n#\n# These are explicitly windows files and should use cr"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 87,
    "preview": "# These are supported funding model platforms\n\ncustom: https://bg-software.com/patreon\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug-report.yaml",
    "chars": 2444,
    "preview": "name: Bug Report\ndescription: Report a Bug or an Issue in the plugin.\nlabels: [ 'Bug Report', 'Pending' ]\nassignees: Ome"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 221,
    "preview": "blank_issues_enabled: false\ncontact_links:\n  - name: Feature Requests\n    url: https://github.com/OmerBenGera/SuperiorSk"
  },
  {
    "path": ".github/workflows/gemini.yml",
    "chars": 1748,
    "preview": "name: Gemini Issue Fixer\non:\n  issues:\n    types: [opened, edited]\n  issue_comment:\n    types: [created]\n\njobs:\n  gemini"
  },
  {
    "path": ".gitignore",
    "chars": 201,
    "preview": "# Ignore Gradle project-specific cache directory\n.gradle\ngradle.properties\n\n# Ignore Gradle build output directory\nbuild"
  },
  {
    "path": "API/build.gradle",
    "chars": 924,
    "preview": "plugins {\n    id 'maven-publish'\n}\n\njava {\n    withSourcesJar()\n}\n\ngroup 'API'\n\ndependencies {\n    compileOnly \"org.spig"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/SuperiorSkyblock.java",
    "chars": 3680,
    "preview": "package com.bgsoftware.superiorskyblock.api;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoftware.s"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/SuperiorSkyblockAPI.java",
    "chars": 10203,
    "preview": "package com.bgsoftware.superiorskyblock.api;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoftware.s"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/commands/SuperiorCommand.java",
    "chars": 2107,
    "preview": "package com.bgsoftware.superiorskyblock.api.commands;\n\nimport com.bgsoftware.superiorskyblock.api.SuperiorSkyblock;\nimpo"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/config/SettingsManager.java",
    "chars": 41018,
    "preview": "package com.bgsoftware.superiorskyblock.api.config;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseBridge.java",
    "chars": 2594,
    "preview": "package com.bgsoftware.superiorskyblock.api.data;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoftw"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseBridgeMode.java",
    "chars": 452,
    "preview": "package com.bgsoftware.superiorskyblock.api.data;\n\n/**\n * Represents the mode the database-bridge object is in.\n */\npubl"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/data/DatabaseFilter.java",
    "chars": 2742,
    "preview": "package com.bgsoftware.superiorskyblock.api.data;\n\nimport com.bgsoftware.superiorskyblock.api.objects.Pair;\n\nimport java"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/data/IDatabaseBridgeHolder.java",
    "chars": 206,
    "preview": "package com.bgsoftware.superiorskyblock.api.data;\n\npublic interface IDatabaseBridgeHolder {\n\n    /**\n     * Get the curr"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/entity/EntityCategory.java",
    "chars": 1403,
    "preview": "package com.bgsoftware.superiorskyblock.api.entity;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/BankAction.java",
    "chars": 169,
    "preview": "package com.bgsoftware.superiorskyblock.api.enums;\n\npublic enum BankAction {\n\n    WITHDRAW_COMPLETED,\n    WITHDRAW_FAILE"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/BorderColor.java",
    "chars": 405,
    "preview": "package com.bgsoftware.superiorskyblock.api.enums;\n\n/**\n * Used to determine what's the color of the border of players.\n"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/HitActionResult.java",
    "chars": 344,
    "preview": "package com.bgsoftware.superiorskyblock.api.enums;\n\npublic enum HitActionResult {\n\n    NOT_ONLINE,\n    PVP_WARMUP,\n    I"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/MemberRemoveReason.java",
    "chars": 459,
    "preview": "package com.bgsoftware.superiorskyblock.api.enums;\n\n/**\n * Used to determine the reason why a member was removed from an"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/Rating.java",
    "chars": 1092,
    "preview": "package com.bgsoftware.superiorskyblock.api.enums;\n\nimport java.util.Locale;\n\n/**\n * Used to determine what rating has a"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/SyncStatus.java",
    "chars": 551,
    "preview": "package com.bgsoftware.superiorskyblock.api.enums;\n\nimport com.bgsoftware.superiorskyblock.api.island.IslandFlag;\nimport"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/enums/TopIslandMembersSorting.java",
    "chars": 930,
    "preview": "package com.bgsoftware.superiorskyblock.api.enums;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;\n"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/AttemptPlayerSendMessageEvent.java",
    "chars": 2922,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.service.message.IMessage"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/BlockStackEvent.java",
    "chars": 1385,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport org.bukkit.block.Block;\nimport org.bukkit.entity.Player;\nimp"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/BlockUnstackEvent.java",
    "chars": 1454,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport org.bukki"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBanEvent.java",
    "chars": 1443,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBankDepositEvent.java",
    "chars": 2128,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBankWithdrawEvent.java",
    "chars": 2123,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandBiomeChangeEvent.java",
    "chars": 1521,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBankLimitEvent.java",
    "chars": 2248,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBlockLimitEvent.java",
    "chars": 2402,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeBorderSizeEvent.java",
    "chars": 2104,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeCoopLimitEvent.java",
    "chars": 2069,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeCropGrowthEvent.java",
    "chars": 2228,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeDescriptionEvent.java",
    "chars": 1863,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeDiscordEvent.java",
    "chars": 1793,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeEffectLevelEvent.java",
    "chars": 2466,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeEntityLimitEvent.java",
    "chars": 2440,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeGeneratorRateEvent.java",
    "chars": 4031,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeLevelBonusEvent.java",
    "chars": 2769,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeMembersLimitEvent.java",
    "chars": 2139,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeMobDropsEvent.java",
    "chars": 2165,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangePaypalEvent.java",
    "chars": 1770,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangePlayerPrivilegeEvent.java",
    "chars": 2026,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeRoleLimitEvent.java",
    "chars": 2436,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeRolePrivilegeEvent.java",
    "chars": 1841,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeSpawnerRatesEvent.java",
    "chars": 2280,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpCategoryIconEvent.java",
    "chars": 2421,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpCategorySlotEvent.java",
    "chars": 2597,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpIconEvent.java",
    "chars": 2296,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpLocationEvent.java",
    "chars": 2435,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWarpsLimitEvent.java",
    "chars": 2090,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChangeWorthBonusEvent.java",
    "chars": 2769,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChatEvent.java",
    "chars": 1797,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandChunkResetEvent.java",
    "chars": 1175,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport or"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearFlagsEvent.java",
    "chars": 1325,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearGeneratorRatesEvent.java",
    "chars": 2765,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearPlayerPrivilegesEvent.java",
    "chars": 1640,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearRatingsEvent.java",
    "chars": 1413,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandClearRolesPrivilegesEvent.java",
    "chars": 1370,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCloseEvent.java",
    "chars": 1346,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCloseWarpEvent.java",
    "chars": 1506,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCoopPlayerEvent.java",
    "chars": 1403,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateEvent.java",
    "chars": 2738,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateWarpCategoryEvent.java",
    "chars": 1514,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandCreateWarpEvent.java",
    "chars": 2884,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDeleteWarpEvent.java",
    "chars": 1753,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDisableFlagEvent.java",
    "chars": 1763,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandDisbandEvent.java",
    "chars": 1134,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnableFlagEvent.java",
    "chars": 1751,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterEvent.java",
    "chars": 2181,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterPortalEvent.java",
    "chars": 5496,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEnterProtectedEvent.java",
    "chars": 1353,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandEvent.java",
    "chars": 965,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport or"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandGenerateBlockEvent.java",
    "chars": 2045,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandHomeTeleportEvent.java",
    "chars": 1554,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandInviteEvent.java",
    "chars": 1492,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandJoinEvent.java",
    "chars": 2199,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandKickEvent.java",
    "chars": 1499,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandLeaveEvent.java",
    "chars": 2132,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandLeaveProtectedEvent.java",
    "chars": 1488,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandLockWorldEvent.java",
    "chars": 1709,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandOpenEvent.java",
    "chars": 1342,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandOpenWarpEvent.java",
    "chars": 1503,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandQuitEvent.java",
    "chars": 1123,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRateEvent.java",
    "chars": 2020,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveBlockLimitEvent.java",
    "chars": 1766,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveEffectEvent.java",
    "chars": 1826,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveEntityLimitEvent.java",
    "chars": 1782,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveGeneratorRateEvent.java",
    "chars": 3240,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveRatingEvent.java",
    "chars": 1749,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveRoleLimitEvent.java",
    "chars": 1812,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRemoveVisitorHomeEvent.java",
    "chars": 1400,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRenameEvent.java",
    "chars": 1966,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRenameWarpCategoryEvent.java",
    "chars": 2505,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRenameWarpEvent.java",
    "chars": 2279,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandRestrictMoveEvent.java",
    "chars": 1614,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandSchematicPasteEvent.java",
    "chars": 1057,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport or"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandSetHomeEvent.java",
    "chars": 2553,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandSetVisitorHomeEvent.java",
    "chars": 2165,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandTransferEvent.java",
    "chars": 1399,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandUnbanEvent.java",
    "chars": 1478,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandUncoopPlayerEvent.java",
    "chars": 1944,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandUnlockWorldEvent.java",
    "chars": 1729,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandUpgradeEvent.java",
    "chars": 7777,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandVisitorHomeTeleportEvent.java",
    "chars": 1599,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandWarpTeleportEvent.java",
    "chars": 1575,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandWorldResetEvent.java",
    "chars": 2546,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandWorthCalculatedEvent.java",
    "chars": 1542,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/IslandWorthUpdateEvent.java",
    "chars": 1593,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\n\nimport j"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/MissionCompleteEvent.java",
    "chars": 3497,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.missions.IMissionsHolder"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/MissionResetEvent.java",
    "chars": 2429,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerChangeBorderColorEvent.java",
    "chars": 1767,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.enums.BorderColor;\nimpor"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerChangeLanguageEvent.java",
    "chars": 1664,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerChangeNameEvent.java",
    "chars": 1322,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerChangeRoleEvent.java",
    "chars": 1657,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.PlayerRole;\nimpor"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerCloseMenuEvent.java",
    "chars": 4189,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerOpenMenuEvent.java",
    "chars": 2431,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.menu.ISuperiorMenu;\nimpo"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerReplaceEvent.java",
    "chars": 1371,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleBlocksStackerEvent.java",
    "chars": 1398,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleBorderEvent.java",
    "chars": 1371,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleBypassEvent.java",
    "chars": 1368,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleFlyEvent.java",
    "chars": 1356,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerTogglePanelEvent.java",
    "chars": 1371,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleSpyEvent.java",
    "chars": 1350,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PlayerToggleTeamChatEvent.java",
    "chars": 1368,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PluginInitializeEvent.java",
    "chars": 2679,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PluginInitializedEvent.java",
    "chars": 816,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.SuperiorSkyblock;\nimport"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PluginLoadDataEvent.java",
    "chars": 1225,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.SuperiorSkyblock;\nimport"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PostIslandCreateEvent.java",
    "chars": 881,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport co"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/PreIslandCreateEvent.java",
    "chars": 1881,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/events/SendMessageEvent.java",
    "chars": 3344,
    "preview": "package com.bgsoftware.superiorskyblock.api.events;\n\nimport com.bgsoftware.superiorskyblock.api.service.message.IMessage"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/BanksFactory.java",
    "chars": 472,
    "preview": "package com.bgsoftware.superiorskyblock.api.factory;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport c"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DatabaseBridgeFactory.java",
    "chars": 2299,
    "preview": "package com.bgsoftware.superiorskyblock.api.factory;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgso"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DelegateBanksFactory.java",
    "chars": 541,
    "preview": "package com.bgsoftware.superiorskyblock.api.factory;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport c"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DelegateDatabaseBridgeFactory.java",
    "chars": 1571,
    "preview": "package com.bgsoftware.superiorskyblock.api.factory;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgso"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DelegateIslandsFactory.java",
    "chars": 2310,
    "preview": "package com.bgsoftware.superiorskyblock.api.factory;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport c"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/DelegatePlayersFactory.java",
    "chars": 1319,
    "preview": "package com.bgsoftware.superiorskyblock.api.factory;\n\nimport com.bgsoftware.superiorskyblock.api.persistence.PersistentD"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/IslandsFactory.java",
    "chars": 3267,
    "preview": "package com.bgsoftware.superiorskyblock.api.factory;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island;\nimport c"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/factory/PlayersFactory.java",
    "chars": 1636,
    "preview": "package com.bgsoftware.superiorskyblock.api.factory;\n\nimport com.bgsoftware.superiorskyblock.api.persistence.PersistentD"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/BlockValuesManager.java",
    "chars": 1695,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/CommandsManager.java",
    "chars": 2668,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/FactoriesManager.java",
    "chars": 7521,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/GridManager.java",
    "chars": 16020,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/KeysManager.java",
    "chars": 3888,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.superiorskyblock.api.key.Key;\nimport com.bg"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/MenusManager.java",
    "chars": 33527,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/MissionsManager.java",
    "chars": 5200,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/ModulesManager.java",
    "chars": 1562,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/PlayersManager.java",
    "chars": 2969,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/ProvidersManager.java",
    "chars": 6020,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.superiorskyblock.api.hooks.AFKProvider;\nimp"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/RolesManager.java",
    "chars": 1401,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/SchematicManager.java",
    "chars": 6219,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/StackedBlocksManager.java",
    "chars": 3787,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgs"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/UpgradesManager.java",
    "chars": 1674,
    "preview": "package com.bgsoftware.superiorskyblock.api.handlers;\n\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bg"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/AFKProvider.java",
    "chars": 269,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport org.bukkit.entity.Player;\n\npublic interface AFKProvider {\n\n  "
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/ChunksProvider.java",
    "chars": 518,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport org.bukkit.Chunk;\nimport org.bukkit.World;\n\nimport java.util."
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/EconomyProvider.java",
    "chars": 2146,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoft"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/EntitiesProvider.java",
    "chars": 534,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport org.bukkit.entity.Entity;\n\npublic interface EntitiesProvider "
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/LazyWorldsProvider.java",
    "chars": 2578,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoft"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/MenusProvider.java",
    "chars": 22669,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoft"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/PermissionsProvider.java",
    "chars": 559,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport org.bukkit.entity.Player;\n\npublic interface PermissionsProvid"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/PricesProvider.java",
    "chars": 1001,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoft"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/SpawnersProvider.java",
    "chars": 946,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoft"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/SpawnersSnapshotProvider.java",
    "chars": 943,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\n\nimport org.bukkit.Chunk;\nimport org.bukkit.World;\n\n/**\n * SpawnersP"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/StackedBlocksProvider.java",
    "chars": 733,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport com.bgsoftware.superiorskyblock.api.key.Key;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/StackedBlocksSnapshotProvider.java",
    "chars": 958,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\n\nimport org.bukkit.Chunk;\nimport org.bukkit.World;\n\n/**\n * StackedBl"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/VanishProvider.java",
    "chars": 290,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport org.bukkit.entity.Player;\n\npublic interface VanishProvider {\n"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/WorldsProvider.java",
    "chars": 5816,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsoft"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/listener/ISkinsListener.java",
    "chars": 400,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks.listener;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.Superio"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/listener/IStackedBlocksListener.java",
    "chars": 623,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks.listener;\n\nimport org.bukkit.OfflinePlayer;\nimport org.bukkit.block.Bl"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/listener/IWorldLoadListener.java",
    "chars": 797,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks.listener;\n\nimport com.bgsoftware.superiorskyblock.api.hooks.WorldsProv"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/listener/IWorldsListener.java",
    "chars": 280,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks.listener;\n\n/**\n * Listener for updates of worlds.\n */\npublic interface"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/hooks/world/WorldLoadFlags.java",
    "chars": 865,
    "preview": "package com.bgsoftware.superiorskyblock.api.hooks.world;\n\nimport com.bgsoftware.superiorskyblock.api.hooks.listener.IWor"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/BlockChangeResult.java",
    "chars": 570,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\n/**\n * Result of one of the block change methods of {@link Island}\n"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/DelegateIsland.java",
    "chars": 54698,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/DelegateIslandChest.java",
    "chars": 1085,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/DelegateIslandPreview.java",
    "chars": 1294,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/DelegatePermissionNode.java",
    "chars": 732,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport java.util.Map;\n\npublic class DelegatePermissionNode implemen"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/Island.java",
    "chars": 93570,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/IslandBlockFlags.java",
    "chars": 910,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.common.annotations.IntType;\n\n/**\n * The integ"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/IslandChest.java",
    "chars": 828,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer;"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/IslandChunkFlags.java",
    "chars": 815,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.common.annotations.IntType;\n\n/**\n * The integ"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/IslandFlag.java",
    "chars": 2002,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.superiorskyblock.api.objects.Enumerable;\nimpo"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/IslandPreview.java",
    "chars": 1304,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com.bgsof"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/IslandPrivilege.java",
    "chars": 3256,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.superiorskyblock.api.objects.Enumerable;\nimpo"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/PermissionNode.java",
    "chars": 764,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport java.util.Map;\n\npublic interface PermissionNode extends Clon"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/PlayerRole.java",
    "chars": 1576,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.common.annotations.Nullable;\n\npublic interfac"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/SortingType.java",
    "chars": 3805,
    "preview": "package com.bgsoftware.superiorskyblock.api.island;\n\nimport com.bgsoftware.superiorskyblock.api.SuperiorSkyblockAPI;\nimp"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/algorithms/DelegateIslandBlocksTrackerAlgorithm.java",
    "chars": 1314,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.algorithms;\n\nimport com.bgsoftware.superiorskyblock.api.key.Key;\n\nimp"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/algorithms/DelegateIslandCalculationAlgorithm.java",
    "chars": 758,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.algorithms;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/algorithms/DelegateIslandEntitiesTrackerAlgorithm.java",
    "chars": 1260,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.algorithms;\n\nimport com.bgsoftware.superiorskyblock.api.key.Key;\n\nimp"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/algorithms/IslandBlocksTrackerAlgorithm.java",
    "chars": 1812,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.algorithms;\n\nimport com.bgsoftware.superiorskyblock.api.key.Key;\n\nimp"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/algorithms/IslandCalculationAlgorithm.java",
    "chars": 1229,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.algorithms;\n\nimport com.bgsoftware.superiorskyblock.api.island.Island"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/algorithms/IslandEntitiesTrackerAlgorithm.java",
    "chars": 1376,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.algorithms;\n\nimport com.bgsoftware.superiorskyblock.api.key.Key;\n\nimp"
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/bank/BankTransaction.java",
    "chars": 1168,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.bank;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com."
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/bank/DelegateBankTransaction.java",
    "chars": 1115,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.bank;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com."
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/bank/DelegateIslandBank.java",
    "chars": 2154,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.bank;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com."
  },
  {
    "path": "API/src/main/java/com/bgsoftware/superiorskyblock/api/island/bank/IslandBank.java",
    "chars": 2961,
    "preview": "package com.bgsoftware.superiorskyblock.api.island.bank;\n\nimport com.bgsoftware.common.annotations.Nullable;\nimport com."
  }
]

// ... and 1542 more files (download for full content)

About this extraction

This page contains the full source code of the BG-Software-LLC/SuperiorSkyblock2 GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1742 files (8.1 MB), approximately 2.2M tokens, and a symbol index with 17449 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!