From 43d31880ec0e33c41f477f9021980cbc8759425f Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sat, 21 Sep 2019 23:29:52 -0600 Subject: [PATCH] Restructured the Gradle --- .classpath | 150 +++ .project | 22 + FabledSkyBlock/Core/build.gradle | 65 -- .../com/songoda/skyblock/utils/Metrics.java | 692 ----------- FabledSkyBlock/Legacy/build.gradle | 3 - .../levelling/LegacyChunkSnapshotFetcher.java | 13 - build.gradle | 131 ++- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 6 +- gradlew.bat | 2 +- settings.gradle | 8 +- .../java/com/songoda/skyblock/SkyBlock.java | 0 .../com/songoda/skyblock/api/SkyBlockAPI.java | 0 .../com/songoda/skyblock/api/ban/Ban.java | 0 .../skyblock/api/biome/BiomeManager.java | 0 .../api/event/island/IslandBanEvent.java | 0 .../event/island/IslandBiomeChangeEvent.java | 0 .../api/event/island/IslandCreateEvent.java | 0 .../api/event/island/IslandDeleteEvent.java | 0 .../api/event/island/IslandEvent.java | 0 .../api/event/island/IslandInviteEvent.java | 0 .../api/event/island/IslandKickEvent.java | 0 .../event/island/IslandLevelChangeEvent.java | 0 .../api/event/island/IslandLoadEvent.java | 0 .../island/IslandLocationChangeEvent.java | 0 .../island/IslandMessageChangeEvent.java | 0 .../api/event/island/IslandOpenEvent.java | 0 .../island/IslandOwnershipTransferEvent.java | 0 .../island/IslandPasswordChangeEvent.java | 0 .../event/island/IslandRoleChangeEvent.java | 0 .../api/event/island/IslandUnbanEvent.java | 0 .../api/event/island/IslandUnloadEvent.java | 0 .../api/event/island/IslandUpgradeEvent.java | 0 .../island/IslandWeatherChangeEvent.java | 0 .../api/event/player/PlayerEvent.java | 0 .../event/player/PlayerIslandChatEvent.java | 0 .../player/PlayerIslandChatSwitchEvent.java | 0 .../event/player/PlayerIslandEnterEvent.java | 0 .../event/player/PlayerIslandExitEvent.java | 0 .../event/player/PlayerIslandJoinEvent.java | 0 .../event/player/PlayerIslandLeaveEvent.java | 0 .../event/player/PlayerIslandSwitchEvent.java | 0 .../player/PlayerWithdrawMoneyEvent.java | 0 .../skyblock/api/invite/IslandInvitation.java | 0 .../songoda/skyblock/api/island/Island.java | 0 .../api/island/IslandBorderColor.java | 0 .../api/island/IslandEnvironment.java | 0 .../skyblock/api/island/IslandLevel.java | 0 .../skyblock/api/island/IslandLocation.java | 0 .../skyblock/api/island/IslandManager.java | 0 .../skyblock/api/island/IslandMessage.java | 0 .../skyblock/api/island/IslandRole.java | 0 .../skyblock/api/island/IslandSetting.java | 0 .../skyblock/api/island/IslandUpgrade.java | 0 .../skyblock/api/island/IslandWorld.java | 0 .../api/levelling/LevellingManager.java | 0 .../skyblock/api/structure/Structure.java | 0 .../api/structure/StructureManager.java | 0 .../songoda/skyblock/api/utils/APIUtil.java | 0 .../com/songoda/skyblock/api/visit/Visit.java | 0 .../java/com/songoda/skyblock/ban/Ban.java | 0 .../com/songoda/skyblock/ban/BanManager.java | 0 .../songoda/skyblock/biome/BiomeManager.java | 0 .../skyblock/command/CommandManager.java | 0 .../songoda/skyblock/command/SubCommand.java | 0 .../command/commands/SkyBlockCommand.java | 0 .../commands/admin/AddUpgradeCommand.java | 0 .../command/commands/admin/CreateCommand.java | 0 .../command/commands/admin/DeleteCommand.java | 0 .../commands/admin/GeneratorCommand.java | 0 .../command/commands/admin/LevelCommand.java | 0 .../commands/admin/LevelScanCommand.java | 0 .../command/commands/admin/OwnerCommand.java | 0 .../command/commands/admin/ProxyCommand.java | 0 .../admin/RefreshHologramsCommand.java | 0 .../command/commands/admin/ReloadCommand.java | 0 .../commands/admin/RemoveHologramCommand.java | 0 .../commands/admin/RemoveUpgradeCommand.java | 0 .../admin/SetAlwaysLoadedCommand.java | 0 .../commands/admin/SetBiomeCommand.java | 0 .../commands/admin/SetHologramCommand.java | 0 .../commands/admin/SetSizeCommand.java | 0 .../commands/admin/SetSpawnCommand.java | 0 .../commands/admin/SettingsCommand.java | 0 .../commands/admin/StructureCommand.java | 0 .../commands/admin/UpgradeCommand.java | 0 .../commands/island/AcceptCommand.java | 0 .../command/commands/island/BanCommand.java | 0 .../command/commands/island/BankCommand.java | 0 .../command/commands/island/BansCommand.java | 0 .../command/commands/island/BiomeCommand.java | 0 .../commands/island/BorderCommand.java | 0 .../commands/island/CancelCommand.java | 0 .../command/commands/island/ChatCommand.java | 0 .../command/commands/island/CloseCommand.java | 0 .../commands/island/ConfirmCommand.java | 0 .../commands/island/ControlPanelCommand.java | 0 .../command/commands/island/CoopCommand.java | 0 .../commands/island/CreateCommand.java | 0 .../commands/island/CurrentCommand.java | 0 .../commands/island/DeleteCommand.java | 0 .../commands/island/DemoteCommand.java | 0 .../command/commands/island/DenyCommand.java | 0 .../commands/island/InformationCommand.java | 0 .../commands/island/InviteCommand.java | 0 .../commands/island/KickAllCommand.java | 0 .../command/commands/island/KickCommand.java | 0 .../commands/island/LeaderboardCommand.java | 0 .../command/commands/island/LeaveCommand.java | 0 .../command/commands/island/LevelCommand.java | 0 .../commands/island/MembersCommand.java | 0 .../command/commands/island/OpenCommand.java | 0 .../command/commands/island/OwnerCommand.java | 0 .../commands/island/PromoteCommand.java | 0 .../commands/island/PublicCommand.java | 0 .../commands/island/SetSpawnCommand.java | 0 .../commands/island/SettingsCommand.java | 0 .../commands/island/TeleportCommand.java | 0 .../command/commands/island/UnbanCommand.java | 0 .../commands/island/UnlockCommand.java | 0 .../commands/island/UpgradeCommand.java | 0 .../command/commands/island/ValueCommand.java | 0 .../command/commands/island/VisitCommand.java | 0 .../commands/island/VisitorsCommand.java | 0 .../command/commands/island/VoteCommand.java | 0 .../commands/island/WeatherCommand.java | 0 .../island/disabled/ResetCommand.java | 0 .../island/disabled/RollbackCommand.java | 0 .../songoda/skyblock/config/FileChecker.java | 0 .../songoda/skyblock/config/FileManager.java | 0 .../skyblock/confirmation/Confirmation.java | 0 .../confirmation/ConfirmationTask.java | 0 .../songoda/skyblock/cooldown/Cooldown.java | 0 .../skyblock/cooldown/CooldownManager.java | 0 .../skyblock/cooldown/CooldownPlayer.java | 0 .../skyblock/cooldown/CooldownTask.java | 0 .../skyblock/cooldown/CooldownType.java | 0 .../skyblock/economy/EconomyManager.java | 0 .../songoda/skyblock/generator/Generator.java | 0 .../skyblock/generator/GeneratorManager.java | 0 .../skyblock/generator/GeneratorMaterial.java | 0 .../songoda/skyblock/hologram/Hologram.java | 0 .../skyblock/hologram/HologramManager.java | 0 .../skyblock/hologram/HologramType.java | 0 .../com/songoda/skyblock/invite/Invite.java | 0 .../skyblock/invite/InviteManager.java | 0 .../songoda/skyblock/invite/InviteTask.java | 0 .../com/songoda/skyblock/island/Island.java | 0 .../songoda/skyblock/island/IslandCoop.java | 0 .../skyblock/island/IslandEnvironment.java | 0 .../songoda/skyblock/island/IslandLevel.java | 0 .../skyblock/island/IslandLocation.java | 0 .../skyblock/island/IslandManager.java | 0 .../skyblock/island/IslandMessage.java | 0 .../skyblock/island/IslandPosition.java | 0 .../songoda/skyblock/island/IslandRole.java | 0 .../skyblock/island/IslandSetting.java | 0 .../songoda/skyblock/island/IslandWorld.java | 0 .../skyblock/leaderboard/Leaderboard.java | 0 .../leaderboard/LeaderboardManager.java | 0 .../leaderboard/LeaderboardPlayer.java | 0 .../skyblock/leaderboard/LeaderboardTask.java | 0 .../leaderboard/leaderheads/TopBank.java | 0 .../leaderboard/leaderheads/TopLevel.java | 0 .../leaderboard/leaderheads/TopVotes.java | 0 .../com/songoda/skyblock/levelling/Chunk.java | 0 .../skyblock/levelling/ChunkPosition.java | 0 .../levelling/ChunkSnapshotWrapper.java | 0 .../levelling/LegacyChunkSnapshotData.java | 0 .../levelling/LegacyChunkSnapshotFetcher.java | 13 + .../levelling/LevelChunkSnapshotWrapper.java | 0 .../skyblock/levelling/LevellingManager.java | 0 .../skyblock/levelling/LevellingMaterial.java | 0 .../WildStackerChunkSnapshotWrapper.java | 0 .../songoda/skyblock/limit/LimitManager.java | 0 .../com/songoda/skyblock/listeners/Block.java | 0 .../songoda/skyblock/listeners/Bucket.java | 0 .../com/songoda/skyblock/listeners/Chat.java | 0 .../com/songoda/skyblock/listeners/Death.java | 0 .../songoda/skyblock/listeners/Entity.java | 0 .../skyblock/listeners/EpicSpawners.java | 0 .../com/songoda/skyblock/listeners/Food.java | 0 .../songoda/skyblock/listeners/Interact.java | 0 .../songoda/skyblock/listeners/Inventory.java | 0 .../com/songoda/skyblock/listeners/Item.java | 0 .../com/songoda/skyblock/listeners/Join.java | 0 .../com/songoda/skyblock/listeners/Move.java | 0 .../songoda/skyblock/listeners/Portal.java | 0 .../skyblock/listeners/Projectile.java | 0 .../com/songoda/skyblock/listeners/Quit.java | 0 .../songoda/skyblock/listeners/Respawn.java | 0 .../songoda/skyblock/listeners/Spawner.java | 0 .../songoda/skyblock/listeners/Teleport.java | 0 .../skyblock/listeners/UltimateStacker.java | 0 .../skyblock/listeners/WildStacker.java | 0 .../java/com/songoda/skyblock/menus/Bans.java | 0 .../com/songoda/skyblock/menus/Biome.java | 0 .../com/songoda/skyblock/menus/Border.java | 0 .../songoda/skyblock/menus/ControlPanel.java | 0 .../java/com/songoda/skyblock/menus/Coop.java | 0 .../com/songoda/skyblock/menus/Creator.java | 0 .../songoda/skyblock/menus/Information.java | 0 .../songoda/skyblock/menus/Leaderboard.java | 0 .../com/songoda/skyblock/menus/Levelling.java | 0 .../com/songoda/skyblock/menus/Members.java | 0 .../com/songoda/skyblock/menus/Ownership.java | 0 .../com/songoda/skyblock/menus/Rollback.java | 0 .../com/songoda/skyblock/menus/Settings.java | 0 .../com/songoda/skyblock/menus/Upgrade.java | 0 .../com/songoda/skyblock/menus/Visit.java | 0 .../com/songoda/skyblock/menus/Visitors.java | 0 .../com/songoda/skyblock/menus/Weather.java | 0 .../songoda/skyblock/menus/admin/Creator.java | 0 .../skyblock/menus/admin/Generator.java | 0 .../skyblock/menus/admin/Levelling.java | 0 .../skyblock/menus/admin/Settings.java | 0 .../songoda/skyblock/menus/admin/Upgrade.java | 0 .../skyblock/message/MessageManager.java | 0 .../skyblock/placeholder/EZPlaceholder.java | 0 .../skyblock/placeholder/MVdWPlaceholder.java | 0 .../skyblock/placeholder/Placeholder.java | 0 .../placeholder/PlaceholderManager.java | 0 .../skyblock/playerdata/PlayerData.java | 0 .../playerdata/PlayerDataManager.java | 0 .../skyblock/playtime/PlaytimeTask.java | 0 .../skyblock/scoreboard/Scoreboard.java | 0 .../scoreboard/ScoreboardManager.java | 0 .../songoda/skyblock/sound/SoundManager.java | 0 .../songoda/skyblock/stackable/Stackable.java | 0 .../skyblock/stackable/StackableManager.java | 0 .../songoda/skyblock/structure/Structure.java | 0 .../skyblock/structure/StructureManager.java | 0 .../com/songoda/skyblock/upgrade/Upgrade.java | 0 .../skyblock/upgrade/UpgradeManager.java | 0 .../skyblock/usercache/UserCacheManager.java | 0 .../skyblock/utils/AbstractAnvilGUI.java | 0 .../songoda/skyblock/utils/ChatComponent.java | 0 .../com/songoda/skyblock/utils/GZipUtil.java | 0 .../com/songoda/skyblock/utils/Metrics.java | 1029 +++++++++++++++++ .../songoda/skyblock/utils/NumberUtil.java | 0 .../songoda/skyblock/utils/StringUtil.java | 0 .../skyblock/utils/item/InventoryUtil.java | 0 .../skyblock/utils/item/ItemStackUtil.java | 0 .../skyblock/utils/item/MaterialUtil.java | 0 .../skyblock/utils/item/SkullUtil.java | 0 .../skyblock/utils/item/nInventoryUtil.java | 0 .../skyblock/utils/math/VectorUtil.java | 0 .../skyblock/utils/player/NameFetcher.java | 0 .../skyblock/utils/player/OfflinePlayer.java | 0 .../skyblock/utils/structure/Area.java | 0 .../skyblock/utils/structure/Location.java | 0 .../utils/structure/SchematicUtil.java | 0 .../utils/structure/SelectionLocation.java | 0 .../skyblock/utils/structure/Storage.java | 0 .../skyblock/utils/structure/Structure.java | 0 .../utils/structure/StructureUtil.java | 0 .../skyblock/utils/version/Materials.java | 0 .../skyblock/utils/version/NMSUtil.java | 0 .../skyblock/utils/version/SBiome.java | 0 .../skyblock/utils/version/Sounds.java | 0 .../skyblock/utils/world/LocationUtil.java | 0 .../skyblock/utils/world/WorldBorder.java | 0 .../skyblock/utils/world/block/BlockData.java | 0 .../utils/world/block/BlockDataType.java | 0 .../utils/world/block/BlockDegreesType.java | 0 .../utils/world/block/BlockStateType.java | 0 .../skyblock/utils/world/block/BlockUtil.java | 0 .../utils/world/entity/EntityData.java | 0 .../utils/world/entity/EntityUtil.java | 0 .../com/songoda/skyblock/visit/Visit.java | 0 .../songoda/skyblock/visit/VisitManager.java | 0 .../com/songoda/skyblock/visit/VisitTask.java | 0 .../songoda/skyblock/world/WorldManager.java | 0 .../world/generator/VoidGenerator.java | 0 .../src => src}/main/resources/config.yml | 0 .../src => src}/main/resources/generators.yml | 0 .../src => src}/main/resources/language.yml | 0 .../src => src}/main/resources/levelling.yml | 0 .../src => src}/main/resources/limits.yml | 0 .../src => src}/main/resources/plugin.yml | 0 .../src => src}/main/resources/settings.yml | 0 .../src => src}/main/resources/stackables.yml | 0 .../src => src}/main/resources/structures.yml | 0 .../resources/structures/default.structure | Bin .../src => src}/main/resources/upgrades.yml | 0 .../src => src}/main/resources/worlds.yml | 0 286 files changed, 1316 insertions(+), 820 deletions(-) create mode 100644 .classpath create mode 100644 .project delete mode 100644 FabledSkyBlock/Core/build.gradle delete mode 100644 FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/Metrics.java delete mode 100644 FabledSkyBlock/Legacy/build.gradle delete mode 100644 FabledSkyBlock/Legacy/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotFetcher.java rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/SkyBlock.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/SkyBlockAPI.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/ban/Ban.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/biome/BiomeManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandBanEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandBiomeChangeEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandCreateEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandDeleteEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandInviteEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandKickEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandLevelChangeEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandLoadEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandLocationChangeEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandMessageChangeEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandOpenEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandOwnershipTransferEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandPasswordChangeEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandRoleChangeEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandUnbanEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandUnloadEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandUpgradeEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/island/IslandWeatherChangeEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatSwitchEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerIslandEnterEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerIslandExitEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerIslandJoinEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerIslandLeaveEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerIslandSwitchEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/event/player/PlayerWithdrawMoneyEvent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/invite/IslandInvitation.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/Island.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandBorderColor.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandEnvironment.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandLevel.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandLocation.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandMessage.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandRole.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandSetting.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandUpgrade.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/island/IslandWorld.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/levelling/LevellingManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/structure/Structure.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/structure/StructureManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/utils/APIUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/api/visit/Visit.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/ban/Ban.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/ban/BanManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/biome/BiomeManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/CommandManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/SubCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/SkyBlockCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/AddUpgradeCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/CreateCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/DeleteCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/GeneratorCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/LevelCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/LevelScanCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/OwnerCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/ProxyCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/RefreshHologramsCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/ReloadCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/RemoveHologramCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/RemoveUpgradeCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/SetAlwaysLoadedCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/SetBiomeCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/SetHologramCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/SetSpawnCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/SettingsCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/StructureCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/admin/UpgradeCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/AcceptCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/BanCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/BankCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/BansCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/BiomeCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/BorderCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/CancelCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/ChatCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/CloseCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/ConfirmCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/ControlPanelCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/CoopCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/CurrentCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/DemoteCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/DenyCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/InformationCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/InviteCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/KickAllCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/KickCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/LeaderboardCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/LeaveCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/MembersCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/OpenCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/PromoteCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/PublicCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/SetSpawnCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/SettingsCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/TeleportCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/UnbanCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/UpgradeCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/VisitCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/VisitorsCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/VoteCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/WeatherCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/disabled/ResetCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/command/commands/island/disabled/RollbackCommand.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/config/FileChecker.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/config/FileManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/confirmation/Confirmation.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/confirmation/ConfirmationTask.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/cooldown/Cooldown.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/cooldown/CooldownManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/cooldown/CooldownPlayer.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/cooldown/CooldownTask.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/cooldown/CooldownType.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/economy/EconomyManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/generator/Generator.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/generator/GeneratorManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/generator/GeneratorMaterial.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/hologram/Hologram.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/hologram/HologramManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/hologram/HologramType.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/invite/Invite.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/invite/InviteManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/invite/InviteTask.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/Island.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandCoop.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandEnvironment.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandLevel.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandLocation.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandMessage.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandPosition.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandRole.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandSetting.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/island/IslandWorld.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/leaderboard/Leaderboard.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/leaderboard/LeaderboardManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/leaderboard/LeaderboardPlayer.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/leaderboard/LeaderboardTask.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopBank.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopLevel.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopVotes.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/levelling/Chunk.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/levelling/ChunkPosition.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/levelling/ChunkSnapshotWrapper.java (100%) rename {FabledSkyBlock/Legacy/src => src}/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotData.java (100%) create mode 100644 src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotFetcher.java rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/levelling/LevelChunkSnapshotWrapper.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/levelling/LevellingManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/levelling/LevellingMaterial.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/levelling/WildStackerChunkSnapshotWrapper.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/limit/LimitManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Block.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Bucket.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Chat.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Death.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Entity.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/EpicSpawners.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Food.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Interact.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Inventory.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Item.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Join.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Move.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Portal.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Projectile.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Quit.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Respawn.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Spawner.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/Teleport.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/UltimateStacker.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/listeners/WildStacker.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Bans.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Biome.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Border.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/ControlPanel.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Coop.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Creator.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Information.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Leaderboard.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Levelling.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Members.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Ownership.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Rollback.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Settings.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Upgrade.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Visit.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Visitors.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/Weather.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/admin/Creator.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/admin/Generator.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/admin/Levelling.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/admin/Settings.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/menus/admin/Upgrade.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/message/MessageManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/placeholder/EZPlaceholder.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/placeholder/MVdWPlaceholder.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/placeholder/Placeholder.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/placeholder/PlaceholderManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/playerdata/PlayerData.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/playerdata/PlayerDataManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/playtime/PlaytimeTask.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/scoreboard/Scoreboard.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/sound/SoundManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/stackable/Stackable.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/stackable/StackableManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/structure/Structure.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/structure/StructureManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/upgrade/Upgrade.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/upgrade/UpgradeManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/usercache/UserCacheManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/AbstractAnvilGUI.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/ChatComponent.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/GZipUtil.java (100%) create mode 100644 src/main/java/com/songoda/skyblock/utils/Metrics.java rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/NumberUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/StringUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/item/InventoryUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/item/ItemStackUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/item/MaterialUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/item/SkullUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/item/nInventoryUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/math/VectorUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/player/NameFetcher.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/player/OfflinePlayer.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/structure/Area.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/structure/Location.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/structure/SchematicUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/structure/SelectionLocation.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/structure/Storage.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/structure/Structure.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/structure/StructureUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/version/Materials.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/version/NMSUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/version/SBiome.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/version/Sounds.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/LocationUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/WorldBorder.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/block/BlockData.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/block/BlockDataType.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/block/BlockDegreesType.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/block/BlockStateType.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/block/BlockUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/entity/EntityData.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/utils/world/entity/EntityUtil.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/visit/Visit.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/visit/VisitManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/visit/VisitTask.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/world/WorldManager.java (100%) rename {FabledSkyBlock/Core/src => src}/main/java/com/songoda/skyblock/world/generator/VoidGenerator.java (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/config.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/generators.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/language.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/levelling.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/limits.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/plugin.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/settings.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/stackables.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/structures.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/structures/default.structure (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/upgrades.yml (100%) rename {FabledSkyBlock/Core/src => src}/main/resources/worlds.yml (100%) diff --git a/.classpath b/.classpath new file mode 100644 index 00000000..9410146b --- /dev/null +++ b/.classpath @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 00000000..a7a77cf9 --- /dev/null +++ b/.project @@ -0,0 +1,22 @@ + + + FabledSkyblock + + + + org.eclipse.jdt.core.javanature + org.eclipse.buildship.core.gradleprojectnature + + + + org.eclipse.jdt.core.javabuilder + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + diff --git a/FabledSkyBlock/Core/build.gradle b/FabledSkyBlock/Core/build.gradle deleted file mode 100644 index f2cd67c5..00000000 --- a/FabledSkyBlock/Core/build.gradle +++ /dev/null @@ -1,65 +0,0 @@ -import org.apache.tools.ant.filters.ReplaceTokens - -configurations { - extraLibs -} - -dependencies { - // Project Dependencies - compile project(':FabledSkyBlock-Legacy') - - // PlaceholderAPI - compileOnly (group: 'be.maximvdw', name: 'placeholderapi', version: '2.5.1') - compileOnly (group: 'me.clip', name: 'placeholderapi', version: '2.10.2') - - // Vault - compileOnly (group: 'net.milkbowl', name: 'vault', version: '1.7.1') - - // Reserve - compileOnly (group: 'net.tnemc', name: 'Reserve', version: '0.1.3.0') - - // Leaderheads - compileOnly (group: 'me.robin', name: 'leaderheads', version: '1.0') - - // EpicSpawners - compileOnly (group: 'com.songoda', name: 'epicspawners', version: '6-pre4') - - // EpicAnchors - compileOnly (group: 'com.songoda', name: 'epicanchors', version: '1.2.5') - - // UltimateStacker - compileOnly (group: 'com.songoda', name: 'ultimatestacker', version: '1.3.1') - - // WildStacker - compileOnly (group: 'com.github.OmerBenGera', name: 'WildStackerAPI', version: 'b15') - - // WorldEdit - compileOnly (group: 'com.sk89q', name: 'worldedit', version: '7.0.0') - - // Apache Commons - extraLibs (group: 'org.apache.commons', name: 'commons-lang3', version: '3.0') - extraLibs (group: 'commons-io', name: 'commons-io', version: '2.5') - - // Spigot - compileOnly (group: 'org.spigotmc', name: 'spigot', version: '1.14.1') - - // Songoda Updater - extraLibs (group: 'com.songoda', name: 'songodaupdater', version: '1') - - configurations.compileOnly.extendsFrom(configurations.extraLibs) -} - -processResources { - from (sourceSets.main.resources.srcDirs) { - include '**/*.yml' - filter ReplaceTokens, tokens: ["version": project.property("version")] - } -} - -jar { - from { - configurations.extraLibs.collect { - it.isDirectory() ? it : zipTree(it) - } - } -} diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/Metrics.java b/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/Metrics.java deleted file mode 100644 index 4ccc036e..00000000 --- a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/Metrics.java +++ /dev/null @@ -1,692 +0,0 @@ -package com.songoda.skyblock.utils; - -import org.bukkit.Bukkit; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.RegisteredServiceProvider; -import org.bukkit.plugin.ServicePriority; -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; - -import javax.net.ssl.HttpsURLConnection; -import java.io.*; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.concurrent.Callable; -import java.util.logging.Level; -import java.util.zip.GZIPOutputStream; - -/** - * bStats collects some data for plugin authors. - *

- * Check out https://bStats.org/ to learn more about bStats! - */ -@SuppressWarnings({"WeakerAccess", "unused"}) -public class Metrics { - - // The version of this bStats class - public static final int B_STATS_VERSION = 1; - // The url to which the data is sent - private static final String URL = "https://bStats.org/submitData/bukkit"; - // Should failed requests be logged? - private static boolean logFailedRequests; - // Should the sent data be logged? - private static boolean logSentData; - // Should the response text be logged? - private static boolean logResponseStatusText; - // The uuid of the server - private static String serverUUID; - - static { - // You can use the property to disable the check in your test environment - if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck").equals("false")) { - // Maven's Relocate is clever and changes strings, too. So we have to use this little "trick" ... :D - final String defaultPackage = new String( - new byte[]{'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', 'k', 'k', 'i', 't'}); - final String examplePackage = new String(new byte[]{'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e'}); - // We want to make sure nobody just copy & pastes the example and use the wrong package names - if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage().getName().equals(examplePackage)) { - throw new IllegalStateException("bStats Metrics class has not been relocated correctly!"); - } - } - } - - // The plugin - private final Plugin plugin; - // A list with all custom charts - private final List charts = new ArrayList<>(); - // Is bStats enabled on this server? - private boolean enabled; - - /** - * Class constructor. - * - * @param plugin The plugin which stats should be submitted. - */ - public Metrics(Plugin plugin) { - if (plugin == null) { - throw new IllegalArgumentException("Plugin cannot be null!"); - } - this.plugin = plugin; - - // Get the config file - File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "bStats"); - File configFile = new File(bStatsFolder, "config.yml"); - YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile); - - // Check if the config file exists - if (!config.isSet("serverUuid")) { - - // Add default values - config.addDefault("enabled", true); - // Every server gets it's unique random id. - config.addDefault("serverUuid", UUID.randomUUID().toString()); - // Should failed request be logged? - config.addDefault("logFailedRequests", false); - // Should the sent data be logged? - config.addDefault("logSentData", false); - // Should the response text be logged? - config.addDefault("logResponseStatusText", false); - - // Inform the server owners about bStats - config.options().header( - "bStats collects some data for plugin authors like how many servers are using their plugins.\n" + - "To honor their work, you should not disable it.\n" + - "This has nearly no effect on the server performance!\n" + - "Check out https://bStats.org/ to learn more :)" - ).copyDefaults(true); - try { - config.save(configFile); - } catch (IOException ignored) { - } - } - - // Load the data - enabled = config.getBoolean("enabled", true); - serverUUID = config.getString("serverUuid"); - logFailedRequests = config.getBoolean("logFailedRequests", false); - logSentData = config.getBoolean("logSentData", false); - logResponseStatusText = config.getBoolean("logResponseStatusText", false); - - if (enabled) { - boolean found = false; - // Search for all other bStats Metrics classes to see if we are the first one - for (Class service : Bukkit.getServicesManager().getKnownServices()) { - try { - service.getField("B_STATS_VERSION"); // Our identifier :) - found = true; // We aren't the first - break; - } catch (NoSuchFieldException ignored) { - } - } - // Register our service - Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); - if (!found) { - // We are the first! - startSubmitting(); - } - } - } - - /** - * Sends the data to the bStats server. - * - * @param plugin Any plugin. It's just used to get a logger instance. - * @param data The data to send. - * @throws Exception If the request failed. - */ - private static void sendData(Plugin plugin, JSONObject data) throws Exception { - if (data == null) { - throw new IllegalArgumentException("Data cannot be null!"); - } - if (Bukkit.isPrimaryThread()) { - throw new IllegalAccessException("This method must not be called from the main thread!"); - } - if (logSentData) { - plugin.getLogger().info("Sending data to bStats: " + data.toString()); - } - HttpsURLConnection connection = (HttpsURLConnection) new URL(URL).openConnection(); - - // Compress the data to save bandwidth - byte[] compressedData = compress(data.toString()); - - // Add headers - connection.setRequestMethod("POST"); - connection.addRequestProperty("Accept", "application/json"); - connection.addRequestProperty("Connection", "close"); - connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request - connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length)); - connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format - connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION); - - // Send data - connection.setDoOutput(true); - DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream()); - outputStream.write(compressedData); - outputStream.flush(); - outputStream.close(); - - InputStream inputStream = connection.getInputStream(); - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); - - StringBuilder builder = new StringBuilder(); - String line; - while ((line = bufferedReader.readLine()) != null) { - builder.append(line); - } - bufferedReader.close(); - if (logResponseStatusText) { - plugin.getLogger().info("Sent data to bStats and received response: " + builder.toString()); - } - } - - /** - * Gzips the given String. - * - * @param str The string to gzip. - * @return The gzipped String. - * @throws IOException If the compression failed. - */ - private static byte[] compress(final String str) throws IOException { - if (str == null) { - return null; - } - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - GZIPOutputStream gzip = new GZIPOutputStream(outputStream); - gzip.write(str.getBytes(StandardCharsets.UTF_8)); - gzip.close(); - return outputStream.toByteArray(); - } - - /** - * Checks if bStats is enabled. - * - * @return Whether bStats is enabled or not. - */ - public boolean isEnabled() { - return enabled; - } - - /** - * Adds a custom chart. - * - * @param chart The chart to add. - */ - public void addCustomChart(CustomChart chart) { - if (chart == null) { - throw new IllegalArgumentException("Chart cannot be null!"); - } - charts.add(chart); - } - - /** - * Starts the Scheduler which submits our data every 30 minutes. - */ - private void startSubmitting() { - final Timer timer = new Timer(true); // We use a timer cause the Bukkit scheduler is affected by server lags - timer.scheduleAtFixedRate(new TimerTask() { - @Override - public void run() { - if (!plugin.isEnabled()) { // Plugin was disabled - timer.cancel(); - return; - } - // Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler - // Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;) - Bukkit.getScheduler().runTask(plugin, () -> submitData()); - } - }, 1000 * 60 * 5, 1000 * 60 * 30); - // Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start - // WARNING: Changing the frequency has no effect but your plugin WILL be blocked/deleted! - // WARNING: Just don't do it! - } - - /** - * Gets the plugin specific data. - * This method is called using Reflection. - * - * @return The plugin specific data. - */ - public JSONObject getPluginData() { - JSONObject data = new JSONObject(); - - String pluginName = plugin.getDescription().getName(); - String pluginVersion = plugin.getDescription().getVersion(); - - data.put("pluginName", pluginName); // Append the name of the plugin - data.put("pluginVersion", pluginVersion); // Append the version of the plugin - JSONArray customCharts = new JSONArray(); - for (CustomChart customChart : charts) { - // Add the data of the custom charts - JSONObject chart = customChart.getRequestJsonObject(); - if (chart == null) { // If the chart is null, we skip it - continue; - } - customCharts.add(chart); - } - data.put("customCharts", customCharts); - - return data; - } - - /** - * Gets the server specific data. - * - * @return The server specific data. - */ - private JSONObject getServerData() { - // Minecraft specific data - int playerAmount; - try { - // Around MC 1.8 the return type was changed to a collection from an array, - // This fixes java.lang.NoSuchMethodError: org.bukkit.Bukkit.getOnlinePlayers()Ljava/util/Collection; - Method onlinePlayersMethod = Class.forName("org.bukkit.Server").getMethod("getOnlinePlayers"); - playerAmount = onlinePlayersMethod.getReturnType().equals(Collection.class) - ? ((Collection) onlinePlayersMethod.invoke(Bukkit.getServer())).size() - : ((Player[]) onlinePlayersMethod.invoke(Bukkit.getServer())).length; - } catch (Exception e) { - playerAmount = Bukkit.getOnlinePlayers().size(); // Just use the new method if the Reflection failed - } - int onlineMode = Bukkit.getOnlineMode() ? 1 : 0; - String bukkitVersion = Bukkit.getVersion(); - - // OS/Java specific data - String javaVersion = System.getProperty("java.version"); - String osName = System.getProperty("os.name"); - String osArch = System.getProperty("os.arch"); - String osVersion = System.getProperty("os.version"); - int coreCount = Runtime.getRuntime().availableProcessors(); - - JSONObject data = new JSONObject(); - - data.put("serverUUID", serverUUID); - - data.put("playerAmount", playerAmount); - data.put("onlineMode", onlineMode); - data.put("bukkitVersion", bukkitVersion); - - data.put("javaVersion", javaVersion); - data.put("osName", osName); - data.put("osArch", osArch); - data.put("osVersion", osVersion); - data.put("coreCount", coreCount); - - return data; - } - - /** - * Collects the data and sends it afterwards. - */ - private void submitData() { - final JSONObject data = getServerData(); - - JSONArray pluginData = new JSONArray(); - // Search for all other bStats Metrics classes to get their plugin data - for (Class service : Bukkit.getServicesManager().getKnownServices()) { - try { - service.getField("B_STATS_VERSION"); // Our identifier :) - - for (RegisteredServiceProvider provider : Bukkit.getServicesManager().getRegistrations(service)) { - try { - pluginData.add(provider.getService().getMethod("getPluginData").invoke(provider.getProvider())); - } catch (NullPointerException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { - } - } - } catch (NoSuchFieldException ignored) { - } - } - - data.put("plugins", pluginData); - - // Create a new thread for the connection to the bStats server - new Thread(new Runnable() { - @Override - public void run() { - try { - // Send the data - sendData(plugin, data); - } catch (Exception e) { - // Something went wrong! :( - if (logFailedRequests) { - plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e); - } - } - } - }).start(); - } - - /** - * Represents a custom chart. - */ - public static abstract class CustomChart { - - // The id of the chart - final String chartId; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - */ - CustomChart(String chartId) { - if (chartId == null || chartId.isEmpty()) { - throw new IllegalArgumentException("ChartId cannot be null or empty!"); - } - this.chartId = chartId; - } - - private JSONObject getRequestJsonObject() { - JSONObject chart = new JSONObject(); - chart.put("chartId", chartId); - try { - JSONObject data = getChartData(); - if (data == null) { - // If the data is null we don't send the chart. - return null; - } - chart.put("data", data); - } catch (Throwable t) { - if (logFailedRequests) { - Bukkit.getLogger().log(Level.WARNING, "Failed to get data for custom chart with id " + chartId, t); - } - return null; - } - return chart; - } - - protected abstract JSONObject getChartData() throws Exception; - - } - - /** - * Represents a custom simple pie. - */ - public static class SimplePie extends CustomChart { - - private final Callable callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public SimplePie(String chartId, Callable callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JSONObject getChartData() throws Exception { - JSONObject data = new JSONObject(); - String value = callable.call(); - if (value == null || value.isEmpty()) { - // Null = skip the chart - return null; - } - data.put("value", value); - return data; - } - } - - /** - * Represents a custom advanced pie. - */ - public static class AdvancedPie extends CustomChart { - - private final Callable> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public AdvancedPie(String chartId, Callable> callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JSONObject getChartData() throws Exception { - JSONObject data = new JSONObject(); - JSONObject values = new JSONObject(); - Map map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - boolean allSkipped = true; - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue() == 0) { - continue; // Skip this invalid - } - allSkipped = false; - values.put(entry.getKey(), entry.getValue()); - } - if (allSkipped) { - // Null = skip the chart - return null; - } - data.put("values", values); - return data; - } - } - - /** - * Represents a custom drilldown pie. - */ - public static class DrilldownPie extends CustomChart { - - private final Callable>> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public DrilldownPie(String chartId, Callable>> callable) { - super(chartId); - this.callable = callable; - } - - @Override - public JSONObject getChartData() throws Exception { - JSONObject data = new JSONObject(); - JSONObject values = new JSONObject(); - Map> map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - boolean reallyAllSkipped = true; - for (Map.Entry> entryValues : map.entrySet()) { - JSONObject value = new JSONObject(); - boolean allSkipped = true; - for (Map.Entry valueEntry : map.get(entryValues.getKey()).entrySet()) { - value.put(valueEntry.getKey(), valueEntry.getValue()); - allSkipped = false; - } - if (!allSkipped) { - reallyAllSkipped = false; - values.put(entryValues.getKey(), value); - } - } - if (reallyAllSkipped) { - // Null = skip the chart - return null; - } - data.put("values", values); - return data; - } - } - - /** - * Represents a custom single line chart. - */ - public static class SingleLineChart extends CustomChart { - - private final Callable callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public SingleLineChart(String chartId, Callable callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JSONObject getChartData() throws Exception { - JSONObject data = new JSONObject(); - int value = callable.call(); - if (value == 0) { - // Null = skip the chart - return null; - } - data.put("value", value); - return data; - } - - } - - /** - * Represents a custom multi line chart. - */ - public static class MultiLineChart extends CustomChart { - - private final Callable> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public MultiLineChart(String chartId, Callable> callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JSONObject getChartData() throws Exception { - JSONObject data = new JSONObject(); - JSONObject values = new JSONObject(); - Map map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - boolean allSkipped = true; - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue() == 0) { - continue; // Skip this invalid - } - allSkipped = false; - values.put(entry.getKey(), entry.getValue()); - } - if (allSkipped) { - // Null = skip the chart - return null; - } - data.put("values", values); - return data; - } - - } - - /** - * Represents a custom simple bar chart. - */ - public static class SimpleBarChart extends CustomChart { - - private final Callable> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public SimpleBarChart(String chartId, Callable> callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JSONObject getChartData() throws Exception { - JSONObject data = new JSONObject(); - JSONObject values = new JSONObject(); - Map map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - for (Map.Entry entry : map.entrySet()) { - JSONArray categoryValues = new JSONArray(); - categoryValues.add(entry.getValue()); - values.put(entry.getKey(), categoryValues); - } - data.put("values", values); - return data; - } - - } - - /** - * Represents a custom advanced bar chart. - */ - public static class AdvancedBarChart extends CustomChart { - - private final Callable> callable; - - /** - * Class constructor. - * - * @param chartId The id of the chart. - * @param callable The callable which is used to request the chart data. - */ - public AdvancedBarChart(String chartId, Callable> callable) { - super(chartId); - this.callable = callable; - } - - @Override - protected JSONObject getChartData() throws Exception { - JSONObject data = new JSONObject(); - JSONObject values = new JSONObject(); - Map map = callable.call(); - if (map == null || map.isEmpty()) { - // Null = skip the chart - return null; - } - boolean allSkipped = true; - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue().length == 0) { - continue; // Skip this invalid - } - allSkipped = false; - JSONArray categoryValues = new JSONArray(); - for (int categoryValue : entry.getValue()) { - categoryValues.add(categoryValue); - } - values.put(entry.getKey(), categoryValues); - } - if (allSkipped) { - // Null = skip the chart - return null; - } - data.put("values", values); - return data; - } - } - -} \ No newline at end of file diff --git a/FabledSkyBlock/Legacy/build.gradle b/FabledSkyBlock/Legacy/build.gradle deleted file mode 100644 index 2a772951..00000000 --- a/FabledSkyBlock/Legacy/build.gradle +++ /dev/null @@ -1,3 +0,0 @@ -dependencies { - compileOnly 'org.spigotmc:spigot:1.12.2' -} \ No newline at end of file diff --git a/FabledSkyBlock/Legacy/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotFetcher.java b/FabledSkyBlock/Legacy/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotFetcher.java deleted file mode 100644 index 80c1eb24..00000000 --- a/FabledSkyBlock/Legacy/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotFetcher.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.songoda.skyblock.levelling; - -import org.bukkit.ChunkSnapshot; -import org.bukkit.Material; - -public class LegacyChunkSnapshotFetcher { - - // Uses a 1.12.2 jar in a separate project to avoid needing to use reflection during level scanning, much faster. - public static LegacyChunkSnapshotData fetch(ChunkSnapshot snapshot, int x, int y, int z) { - return new LegacyChunkSnapshotData(Material.getMaterial(snapshot.getBlockTypeId(x, y, z)), snapshot.getBlockData(x, y, z)); - } - -} \ No newline at end of file diff --git a/build.gradle b/build.gradle index ccabebfa..6f25076c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,46 +1,107 @@ +import org.apache.tools.ant.filters.ReplaceTokens allprojects { - apply plugin: 'java' - group = 'com.goodandevil.skyblock' - version = 'maven-version-number' -} - -subprojects { - sourceCompatibility = 1.8 - - repositories { - mavenCentral() - jcenter() - - maven { - url = 'http://repo.songoda.com/artifactory/private' - } - - maven { - url = 'https://jitpack.io' - } - } -} - -dependencies { - compile project(':FabledSkyBlock-Legacy') - compile project(':FabledSkyBlock-Core') + apply plugin: 'java' + apply plugin: 'eclipse' + group = 'com.songoda.skyblock' + version = 'maven-version-number' } configurations { - childJars + shade + compile.extendsFrom shade +} + +repositories { + mavenCentral() + jcenter() + + //Spigot + maven { + url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' + } + + // Bungeecord + maven { + url 'https://oss.sonatype.org/content/repositories/snapshots/' + } + + // Songoda + maven { + url 'http://repo.songoda.com/artifactory/private' + } + + // Mojang + maven { + url 'https://libraries.minecraft.net/' + } + + //Jitpack + maven { + url 'https://jitpack.io' + } + } dependencies { - subprojects.each { - childJars project(it.path) - } + + // Spigot + implementation (group: 'org.spigotmc', name: 'spigot-api', version: '1.14.4-R0.1-SNAPSHOT') + + // GameProfile's Mojang + implementation (group: 'com.mojang', name: 'authlib', version: '1.5.3') + + // PlaceholderAPI + implementation (group: 'be.maximvdw', name: 'placeholderapi', version: '2.5.1') + implementation (group: 'me.clip', name: 'placeholderapi', version: '2.10.2') + + // Vault + implementation (group: 'net.milkbowl', name: 'vault', version: '1.7.1') + + // Reserve + implementation (group: 'net.tnemc', name: 'Reserve', version: '0.1.3.0') + + // Leaderheads + implementation (group: 'me.robin', name: 'leaderheads', version: '1.0') + + // EpicSpawners + implementation (group: 'com.songoda', name: 'epicspawners', version: '6-pre4') + + // EpicAnchors + implementation (group: 'com.songoda', name: 'epicanchors', version: '1.2.5') + + // UltimateStacker + implementation (group: 'com.songoda', name: 'ultimatestacker', version: '1.3.1') + + // WildStacker + implementation (group: 'com.github.OmerBenGera', name: 'WildStackerAPI', version: 'b15') + + // WorldEdit + implementation (group: 'com.sk89q', name: 'worldedit', version: '7.0.0') + + // Apache Commons + shade (group: 'org.apache.commons', name: 'commons-lang3', version: '3.0') + shade (group: 'commons-io', name: 'commons-io', version: '2.5') + + // JSON.org + shade (group: 'org.json', name: 'json', version: '20190722') + + // Songoda Updater + shade (group: 'com.songoda', name: 'songodaupdater', version: '1') + +} + +processResources { + filter ReplaceTokens, tokens: ["version": project.property("version")] + from (sourceSets.main.resources.srcDirs) { + include '**/*.yml' + } } jar { - dependsOn configurations.childJars - from { - configurations.childJars.collect { - zipTree(it) - } - } + configurations.shade.each { dep -> + from(project.zipTree(dep)){ + exclude 'META-INF', 'META-INF/**' + exclude '**/*.yml' + } + } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ef9a9e05..5f1b1201 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 83f2acfd..b0d6d0ab 100644 --- a/gradlew +++ b/gradlew @@ -7,7 +7,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# https://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -125,8 +125,8 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` JAVACMD=`cygpath --unix "$JAVACMD"` diff --git a/gradlew.bat b/gradlew.bat index 9618d8d9..9991c503 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -5,7 +5,7 @@ @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem -@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem http://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, diff --git a/settings.gradle b/settings.gradle index d254dfb3..0296c83a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1 @@ -rootProject.name = 'FabledSkyBlock' - -include(':FabledSkyBlock-Core') -project(':FabledSkyBlock-Core').projectDir = file('FabledSkyBlock/Core') - -include(':FabledSkyBlock-Legacy') -project(':FabledSkyBlock-Legacy').projectDir = file('FabledSkyBlock/Legacy') +rootProject.name = 'FabledSkyblock' \ No newline at end of file diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/SkyBlock.java b/src/main/java/com/songoda/skyblock/SkyBlock.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/SkyBlock.java rename to src/main/java/com/songoda/skyblock/SkyBlock.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/SkyBlockAPI.java b/src/main/java/com/songoda/skyblock/api/SkyBlockAPI.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/SkyBlockAPI.java rename to src/main/java/com/songoda/skyblock/api/SkyBlockAPI.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/ban/Ban.java b/src/main/java/com/songoda/skyblock/api/ban/Ban.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/ban/Ban.java rename to src/main/java/com/songoda/skyblock/api/ban/Ban.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/biome/BiomeManager.java b/src/main/java/com/songoda/skyblock/api/biome/BiomeManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/biome/BiomeManager.java rename to src/main/java/com/songoda/skyblock/api/biome/BiomeManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandBanEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandBanEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandBanEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandBanEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandBiomeChangeEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandBiomeChangeEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandBiomeChangeEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandBiomeChangeEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandCreateEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandCreateEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandCreateEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandCreateEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandDeleteEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandDeleteEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandDeleteEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandDeleteEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandInviteEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandInviteEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandInviteEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandInviteEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandKickEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandKickEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandKickEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandKickEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandLevelChangeEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandLevelChangeEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandLevelChangeEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandLevelChangeEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandLoadEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandLoadEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandLoadEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandLoadEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandLocationChangeEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandLocationChangeEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandLocationChangeEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandLocationChangeEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandMessageChangeEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandMessageChangeEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandMessageChangeEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandMessageChangeEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandOpenEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandOpenEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandOpenEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandOpenEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandOwnershipTransferEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandOwnershipTransferEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandOwnershipTransferEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandOwnershipTransferEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandPasswordChangeEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandPasswordChangeEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandPasswordChangeEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandPasswordChangeEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandRoleChangeEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandRoleChangeEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandRoleChangeEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandRoleChangeEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandUnbanEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandUnbanEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandUnbanEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandUnbanEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandUnloadEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandUnloadEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandUnloadEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandUnloadEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandUpgradeEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandUpgradeEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandUpgradeEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandUpgradeEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandWeatherChangeEvent.java b/src/main/java/com/songoda/skyblock/api/event/island/IslandWeatherChangeEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/island/IslandWeatherChangeEvent.java rename to src/main/java/com/songoda/skyblock/api/event/island/IslandWeatherChangeEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatSwitchEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatSwitchEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatSwitchEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandChatSwitchEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandEnterEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandEnterEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandEnterEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandEnterEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandExitEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandExitEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandExitEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandExitEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandJoinEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandJoinEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandJoinEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandJoinEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandLeaveEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandLeaveEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandLeaveEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandLeaveEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandSwitchEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandSwitchEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandSwitchEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerIslandSwitchEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerWithdrawMoneyEvent.java b/src/main/java/com/songoda/skyblock/api/event/player/PlayerWithdrawMoneyEvent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/event/player/PlayerWithdrawMoneyEvent.java rename to src/main/java/com/songoda/skyblock/api/event/player/PlayerWithdrawMoneyEvent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/invite/IslandInvitation.java b/src/main/java/com/songoda/skyblock/api/invite/IslandInvitation.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/invite/IslandInvitation.java rename to src/main/java/com/songoda/skyblock/api/invite/IslandInvitation.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/Island.java b/src/main/java/com/songoda/skyblock/api/island/Island.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/Island.java rename to src/main/java/com/songoda/skyblock/api/island/Island.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandBorderColor.java b/src/main/java/com/songoda/skyblock/api/island/IslandBorderColor.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandBorderColor.java rename to src/main/java/com/songoda/skyblock/api/island/IslandBorderColor.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandEnvironment.java b/src/main/java/com/songoda/skyblock/api/island/IslandEnvironment.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandEnvironment.java rename to src/main/java/com/songoda/skyblock/api/island/IslandEnvironment.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandLevel.java b/src/main/java/com/songoda/skyblock/api/island/IslandLevel.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandLevel.java rename to src/main/java/com/songoda/skyblock/api/island/IslandLevel.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandLocation.java b/src/main/java/com/songoda/skyblock/api/island/IslandLocation.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandLocation.java rename to src/main/java/com/songoda/skyblock/api/island/IslandLocation.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandManager.java b/src/main/java/com/songoda/skyblock/api/island/IslandManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandManager.java rename to src/main/java/com/songoda/skyblock/api/island/IslandManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandMessage.java b/src/main/java/com/songoda/skyblock/api/island/IslandMessage.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandMessage.java rename to src/main/java/com/songoda/skyblock/api/island/IslandMessage.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandRole.java b/src/main/java/com/songoda/skyblock/api/island/IslandRole.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandRole.java rename to src/main/java/com/songoda/skyblock/api/island/IslandRole.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandSetting.java b/src/main/java/com/songoda/skyblock/api/island/IslandSetting.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandSetting.java rename to src/main/java/com/songoda/skyblock/api/island/IslandSetting.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandUpgrade.java b/src/main/java/com/songoda/skyblock/api/island/IslandUpgrade.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandUpgrade.java rename to src/main/java/com/songoda/skyblock/api/island/IslandUpgrade.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandWorld.java b/src/main/java/com/songoda/skyblock/api/island/IslandWorld.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/island/IslandWorld.java rename to src/main/java/com/songoda/skyblock/api/island/IslandWorld.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/levelling/LevellingManager.java b/src/main/java/com/songoda/skyblock/api/levelling/LevellingManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/levelling/LevellingManager.java rename to src/main/java/com/songoda/skyblock/api/levelling/LevellingManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/structure/Structure.java b/src/main/java/com/songoda/skyblock/api/structure/Structure.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/structure/Structure.java rename to src/main/java/com/songoda/skyblock/api/structure/Structure.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/structure/StructureManager.java b/src/main/java/com/songoda/skyblock/api/structure/StructureManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/structure/StructureManager.java rename to src/main/java/com/songoda/skyblock/api/structure/StructureManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/utils/APIUtil.java b/src/main/java/com/songoda/skyblock/api/utils/APIUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/utils/APIUtil.java rename to src/main/java/com/songoda/skyblock/api/utils/APIUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/visit/Visit.java b/src/main/java/com/songoda/skyblock/api/visit/Visit.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/api/visit/Visit.java rename to src/main/java/com/songoda/skyblock/api/visit/Visit.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/ban/Ban.java b/src/main/java/com/songoda/skyblock/ban/Ban.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/ban/Ban.java rename to src/main/java/com/songoda/skyblock/ban/Ban.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/ban/BanManager.java b/src/main/java/com/songoda/skyblock/ban/BanManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/ban/BanManager.java rename to src/main/java/com/songoda/skyblock/ban/BanManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/biome/BiomeManager.java b/src/main/java/com/songoda/skyblock/biome/BiomeManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/biome/BiomeManager.java rename to src/main/java/com/songoda/skyblock/biome/BiomeManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/CommandManager.java b/src/main/java/com/songoda/skyblock/command/CommandManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/CommandManager.java rename to src/main/java/com/songoda/skyblock/command/CommandManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/SubCommand.java b/src/main/java/com/songoda/skyblock/command/SubCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/SubCommand.java rename to src/main/java/com/songoda/skyblock/command/SubCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/SkyBlockCommand.java b/src/main/java/com/songoda/skyblock/command/commands/SkyBlockCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/SkyBlockCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/SkyBlockCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/AddUpgradeCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/AddUpgradeCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/AddUpgradeCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/AddUpgradeCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/CreateCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/CreateCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/CreateCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/CreateCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/DeleteCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/DeleteCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/DeleteCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/DeleteCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/GeneratorCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/GeneratorCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/GeneratorCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/GeneratorCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/LevelCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/LevelCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/LevelCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/LevelCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/LevelScanCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/LevelScanCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/LevelScanCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/LevelScanCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/OwnerCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/OwnerCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/OwnerCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/OwnerCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/ProxyCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/ProxyCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/ProxyCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/ProxyCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/RefreshHologramsCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/RefreshHologramsCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/RefreshHologramsCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/RefreshHologramsCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/ReloadCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/ReloadCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/ReloadCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/ReloadCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/RemoveHologramCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/RemoveHologramCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/RemoveHologramCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/RemoveHologramCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/RemoveUpgradeCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/RemoveUpgradeCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/RemoveUpgradeCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/RemoveUpgradeCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetAlwaysLoadedCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/SetAlwaysLoadedCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetAlwaysLoadedCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/SetAlwaysLoadedCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetBiomeCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/SetBiomeCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetBiomeCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/SetBiomeCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetHologramCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/SetHologramCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetHologramCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/SetHologramCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetSpawnCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/SetSpawnCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SetSpawnCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/SetSpawnCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SettingsCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/SettingsCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/SettingsCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/SettingsCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/StructureCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/StructureCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/StructureCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/StructureCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/UpgradeCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/UpgradeCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/admin/UpgradeCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/admin/UpgradeCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/AcceptCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/AcceptCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/AcceptCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/AcceptCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BanCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/BanCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BanCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/BanCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BankCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/BankCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BankCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/BankCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BansCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/BansCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BansCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/BansCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BiomeCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/BiomeCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BiomeCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/BiomeCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BorderCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/BorderCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/BorderCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/BorderCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CancelCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/CancelCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CancelCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/CancelCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/ChatCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/ChatCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/ChatCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/ChatCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CloseCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/CloseCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CloseCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/CloseCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/ConfirmCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/ConfirmCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/ConfirmCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/ConfirmCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/ControlPanelCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/ControlPanelCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/ControlPanelCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/ControlPanelCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CoopCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/CoopCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CoopCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/CoopCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CurrentCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/CurrentCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/CurrentCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/CurrentCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/DemoteCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/DemoteCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/DemoteCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/DemoteCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/DenyCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/DenyCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/DenyCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/DenyCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/InformationCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/InformationCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/InformationCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/InformationCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/InviteCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/InviteCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/InviteCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/InviteCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/KickAllCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/KickAllCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/KickAllCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/KickAllCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/KickCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/KickCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/KickCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/KickCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/LeaderboardCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/LeaderboardCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/LeaderboardCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/LeaderboardCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/LeaveCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/LeaveCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/LeaveCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/LeaveCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/MembersCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/MembersCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/MembersCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/MembersCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/OpenCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/OpenCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/OpenCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/OpenCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/PromoteCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/PromoteCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/PromoteCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/PromoteCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/PublicCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/PublicCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/PublicCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/PublicCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/SetSpawnCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/SetSpawnCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/SetSpawnCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/SetSpawnCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/SettingsCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/SettingsCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/SettingsCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/SettingsCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/TeleportCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/TeleportCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/TeleportCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/TeleportCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/UnbanCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/UnbanCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/UnbanCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/UnbanCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/UpgradeCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/UpgradeCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/UpgradeCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/UpgradeCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/VisitCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/VisitCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/VisitCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/VisitCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/VisitorsCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/VisitorsCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/VisitorsCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/VisitorsCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/VoteCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/VoteCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/VoteCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/VoteCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/WeatherCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/WeatherCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/WeatherCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/WeatherCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/disabled/ResetCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/disabled/ResetCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/disabled/ResetCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/disabled/ResetCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/disabled/RollbackCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/disabled/RollbackCommand.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/command/commands/island/disabled/RollbackCommand.java rename to src/main/java/com/songoda/skyblock/command/commands/island/disabled/RollbackCommand.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/config/FileChecker.java b/src/main/java/com/songoda/skyblock/config/FileChecker.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/config/FileChecker.java rename to src/main/java/com/songoda/skyblock/config/FileChecker.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/config/FileManager.java b/src/main/java/com/songoda/skyblock/config/FileManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/config/FileManager.java rename to src/main/java/com/songoda/skyblock/config/FileManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/confirmation/Confirmation.java b/src/main/java/com/songoda/skyblock/confirmation/Confirmation.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/confirmation/Confirmation.java rename to src/main/java/com/songoda/skyblock/confirmation/Confirmation.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/confirmation/ConfirmationTask.java b/src/main/java/com/songoda/skyblock/confirmation/ConfirmationTask.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/confirmation/ConfirmationTask.java rename to src/main/java/com/songoda/skyblock/confirmation/ConfirmationTask.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/Cooldown.java b/src/main/java/com/songoda/skyblock/cooldown/Cooldown.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/Cooldown.java rename to src/main/java/com/songoda/skyblock/cooldown/Cooldown.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/CooldownManager.java b/src/main/java/com/songoda/skyblock/cooldown/CooldownManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/CooldownManager.java rename to src/main/java/com/songoda/skyblock/cooldown/CooldownManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/CooldownPlayer.java b/src/main/java/com/songoda/skyblock/cooldown/CooldownPlayer.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/CooldownPlayer.java rename to src/main/java/com/songoda/skyblock/cooldown/CooldownPlayer.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/CooldownTask.java b/src/main/java/com/songoda/skyblock/cooldown/CooldownTask.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/CooldownTask.java rename to src/main/java/com/songoda/skyblock/cooldown/CooldownTask.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/CooldownType.java b/src/main/java/com/songoda/skyblock/cooldown/CooldownType.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/cooldown/CooldownType.java rename to src/main/java/com/songoda/skyblock/cooldown/CooldownType.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/economy/EconomyManager.java b/src/main/java/com/songoda/skyblock/economy/EconomyManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/economy/EconomyManager.java rename to src/main/java/com/songoda/skyblock/economy/EconomyManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/generator/Generator.java b/src/main/java/com/songoda/skyblock/generator/Generator.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/generator/Generator.java rename to src/main/java/com/songoda/skyblock/generator/Generator.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/generator/GeneratorManager.java b/src/main/java/com/songoda/skyblock/generator/GeneratorManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/generator/GeneratorManager.java rename to src/main/java/com/songoda/skyblock/generator/GeneratorManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/generator/GeneratorMaterial.java b/src/main/java/com/songoda/skyblock/generator/GeneratorMaterial.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/generator/GeneratorMaterial.java rename to src/main/java/com/songoda/skyblock/generator/GeneratorMaterial.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/hologram/Hologram.java b/src/main/java/com/songoda/skyblock/hologram/Hologram.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/hologram/Hologram.java rename to src/main/java/com/songoda/skyblock/hologram/Hologram.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/hologram/HologramManager.java b/src/main/java/com/songoda/skyblock/hologram/HologramManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/hologram/HologramManager.java rename to src/main/java/com/songoda/skyblock/hologram/HologramManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/hologram/HologramType.java b/src/main/java/com/songoda/skyblock/hologram/HologramType.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/hologram/HologramType.java rename to src/main/java/com/songoda/skyblock/hologram/HologramType.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/invite/Invite.java b/src/main/java/com/songoda/skyblock/invite/Invite.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/invite/Invite.java rename to src/main/java/com/songoda/skyblock/invite/Invite.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/invite/InviteManager.java b/src/main/java/com/songoda/skyblock/invite/InviteManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/invite/InviteManager.java rename to src/main/java/com/songoda/skyblock/invite/InviteManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/invite/InviteTask.java b/src/main/java/com/songoda/skyblock/invite/InviteTask.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/invite/InviteTask.java rename to src/main/java/com/songoda/skyblock/invite/InviteTask.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/Island.java b/src/main/java/com/songoda/skyblock/island/Island.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/Island.java rename to src/main/java/com/songoda/skyblock/island/Island.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandCoop.java b/src/main/java/com/songoda/skyblock/island/IslandCoop.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandCoop.java rename to src/main/java/com/songoda/skyblock/island/IslandCoop.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandEnvironment.java b/src/main/java/com/songoda/skyblock/island/IslandEnvironment.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandEnvironment.java rename to src/main/java/com/songoda/skyblock/island/IslandEnvironment.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandLevel.java b/src/main/java/com/songoda/skyblock/island/IslandLevel.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandLevel.java rename to src/main/java/com/songoda/skyblock/island/IslandLevel.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandLocation.java b/src/main/java/com/songoda/skyblock/island/IslandLocation.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandLocation.java rename to src/main/java/com/songoda/skyblock/island/IslandLocation.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandManager.java b/src/main/java/com/songoda/skyblock/island/IslandManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandManager.java rename to src/main/java/com/songoda/skyblock/island/IslandManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandMessage.java b/src/main/java/com/songoda/skyblock/island/IslandMessage.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandMessage.java rename to src/main/java/com/songoda/skyblock/island/IslandMessage.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandPosition.java b/src/main/java/com/songoda/skyblock/island/IslandPosition.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandPosition.java rename to src/main/java/com/songoda/skyblock/island/IslandPosition.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandRole.java b/src/main/java/com/songoda/skyblock/island/IslandRole.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandRole.java rename to src/main/java/com/songoda/skyblock/island/IslandRole.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandSetting.java b/src/main/java/com/songoda/skyblock/island/IslandSetting.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandSetting.java rename to src/main/java/com/songoda/skyblock/island/IslandSetting.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandWorld.java b/src/main/java/com/songoda/skyblock/island/IslandWorld.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/island/IslandWorld.java rename to src/main/java/com/songoda/skyblock/island/IslandWorld.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/Leaderboard.java b/src/main/java/com/songoda/skyblock/leaderboard/Leaderboard.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/Leaderboard.java rename to src/main/java/com/songoda/skyblock/leaderboard/Leaderboard.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardManager.java b/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardManager.java rename to src/main/java/com/songoda/skyblock/leaderboard/LeaderboardManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardPlayer.java b/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardPlayer.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardPlayer.java rename to src/main/java/com/songoda/skyblock/leaderboard/LeaderboardPlayer.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardTask.java b/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardTask.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/LeaderboardTask.java rename to src/main/java/com/songoda/skyblock/leaderboard/LeaderboardTask.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopBank.java b/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopBank.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopBank.java rename to src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopBank.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopLevel.java b/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopLevel.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopLevel.java rename to src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopLevel.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopVotes.java b/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopVotes.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopVotes.java rename to src/main/java/com/songoda/skyblock/leaderboard/leaderheads/TopVotes.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/Chunk.java b/src/main/java/com/songoda/skyblock/levelling/Chunk.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/Chunk.java rename to src/main/java/com/songoda/skyblock/levelling/Chunk.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/ChunkPosition.java b/src/main/java/com/songoda/skyblock/levelling/ChunkPosition.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/ChunkPosition.java rename to src/main/java/com/songoda/skyblock/levelling/ChunkPosition.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/ChunkSnapshotWrapper.java b/src/main/java/com/songoda/skyblock/levelling/ChunkSnapshotWrapper.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/ChunkSnapshotWrapper.java rename to src/main/java/com/songoda/skyblock/levelling/ChunkSnapshotWrapper.java diff --git a/FabledSkyBlock/Legacy/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotData.java b/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotData.java similarity index 100% rename from FabledSkyBlock/Legacy/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotData.java rename to src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotData.java diff --git a/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotFetcher.java b/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotFetcher.java new file mode 100644 index 00000000..ae93c1d5 --- /dev/null +++ b/src/main/java/com/songoda/skyblock/levelling/LegacyChunkSnapshotFetcher.java @@ -0,0 +1,13 @@ +package com.songoda.skyblock.levelling; + +import org.bukkit.ChunkSnapshot; + +public class LegacyChunkSnapshotFetcher { + + // Uses a 1.12.2 jar in a separate project to avoid needing to use reflection during level scanning, much faster. + @SuppressWarnings("deprecation") + public static LegacyChunkSnapshotData fetch(ChunkSnapshot snapshot, int x, int y, int z) { + return new LegacyChunkSnapshotData(snapshot.getBlockType(x, y, z), snapshot.getData(x, y, z)); + } + +} \ No newline at end of file diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/LevelChunkSnapshotWrapper.java b/src/main/java/com/songoda/skyblock/levelling/LevelChunkSnapshotWrapper.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/LevelChunkSnapshotWrapper.java rename to src/main/java/com/songoda/skyblock/levelling/LevelChunkSnapshotWrapper.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/LevellingManager.java b/src/main/java/com/songoda/skyblock/levelling/LevellingManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/LevellingManager.java rename to src/main/java/com/songoda/skyblock/levelling/LevellingManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/LevellingMaterial.java b/src/main/java/com/songoda/skyblock/levelling/LevellingMaterial.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/LevellingMaterial.java rename to src/main/java/com/songoda/skyblock/levelling/LevellingMaterial.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/WildStackerChunkSnapshotWrapper.java b/src/main/java/com/songoda/skyblock/levelling/WildStackerChunkSnapshotWrapper.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/levelling/WildStackerChunkSnapshotWrapper.java rename to src/main/java/com/songoda/skyblock/levelling/WildStackerChunkSnapshotWrapper.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/limit/LimitManager.java b/src/main/java/com/songoda/skyblock/limit/LimitManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/limit/LimitManager.java rename to src/main/java/com/songoda/skyblock/limit/LimitManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Block.java b/src/main/java/com/songoda/skyblock/listeners/Block.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Block.java rename to src/main/java/com/songoda/skyblock/listeners/Block.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Bucket.java b/src/main/java/com/songoda/skyblock/listeners/Bucket.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Bucket.java rename to src/main/java/com/songoda/skyblock/listeners/Bucket.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Chat.java b/src/main/java/com/songoda/skyblock/listeners/Chat.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Chat.java rename to src/main/java/com/songoda/skyblock/listeners/Chat.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Death.java b/src/main/java/com/songoda/skyblock/listeners/Death.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Death.java rename to src/main/java/com/songoda/skyblock/listeners/Death.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Entity.java b/src/main/java/com/songoda/skyblock/listeners/Entity.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Entity.java rename to src/main/java/com/songoda/skyblock/listeners/Entity.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/EpicSpawners.java b/src/main/java/com/songoda/skyblock/listeners/EpicSpawners.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/EpicSpawners.java rename to src/main/java/com/songoda/skyblock/listeners/EpicSpawners.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Food.java b/src/main/java/com/songoda/skyblock/listeners/Food.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Food.java rename to src/main/java/com/songoda/skyblock/listeners/Food.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Interact.java b/src/main/java/com/songoda/skyblock/listeners/Interact.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Interact.java rename to src/main/java/com/songoda/skyblock/listeners/Interact.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Inventory.java b/src/main/java/com/songoda/skyblock/listeners/Inventory.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Inventory.java rename to src/main/java/com/songoda/skyblock/listeners/Inventory.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Item.java b/src/main/java/com/songoda/skyblock/listeners/Item.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Item.java rename to src/main/java/com/songoda/skyblock/listeners/Item.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Join.java b/src/main/java/com/songoda/skyblock/listeners/Join.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Join.java rename to src/main/java/com/songoda/skyblock/listeners/Join.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Move.java b/src/main/java/com/songoda/skyblock/listeners/Move.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Move.java rename to src/main/java/com/songoda/skyblock/listeners/Move.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Portal.java b/src/main/java/com/songoda/skyblock/listeners/Portal.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Portal.java rename to src/main/java/com/songoda/skyblock/listeners/Portal.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Projectile.java b/src/main/java/com/songoda/skyblock/listeners/Projectile.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Projectile.java rename to src/main/java/com/songoda/skyblock/listeners/Projectile.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Quit.java b/src/main/java/com/songoda/skyblock/listeners/Quit.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Quit.java rename to src/main/java/com/songoda/skyblock/listeners/Quit.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Respawn.java b/src/main/java/com/songoda/skyblock/listeners/Respawn.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Respawn.java rename to src/main/java/com/songoda/skyblock/listeners/Respawn.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Spawner.java b/src/main/java/com/songoda/skyblock/listeners/Spawner.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Spawner.java rename to src/main/java/com/songoda/skyblock/listeners/Spawner.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Teleport.java b/src/main/java/com/songoda/skyblock/listeners/Teleport.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/Teleport.java rename to src/main/java/com/songoda/skyblock/listeners/Teleport.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/UltimateStacker.java b/src/main/java/com/songoda/skyblock/listeners/UltimateStacker.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/UltimateStacker.java rename to src/main/java/com/songoda/skyblock/listeners/UltimateStacker.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/WildStacker.java b/src/main/java/com/songoda/skyblock/listeners/WildStacker.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/listeners/WildStacker.java rename to src/main/java/com/songoda/skyblock/listeners/WildStacker.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Bans.java b/src/main/java/com/songoda/skyblock/menus/Bans.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Bans.java rename to src/main/java/com/songoda/skyblock/menus/Bans.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Biome.java b/src/main/java/com/songoda/skyblock/menus/Biome.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Biome.java rename to src/main/java/com/songoda/skyblock/menus/Biome.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Border.java b/src/main/java/com/songoda/skyblock/menus/Border.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Border.java rename to src/main/java/com/songoda/skyblock/menus/Border.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/ControlPanel.java b/src/main/java/com/songoda/skyblock/menus/ControlPanel.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/ControlPanel.java rename to src/main/java/com/songoda/skyblock/menus/ControlPanel.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Coop.java b/src/main/java/com/songoda/skyblock/menus/Coop.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Coop.java rename to src/main/java/com/songoda/skyblock/menus/Coop.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Creator.java b/src/main/java/com/songoda/skyblock/menus/Creator.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Creator.java rename to src/main/java/com/songoda/skyblock/menus/Creator.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Information.java b/src/main/java/com/songoda/skyblock/menus/Information.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Information.java rename to src/main/java/com/songoda/skyblock/menus/Information.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Leaderboard.java b/src/main/java/com/songoda/skyblock/menus/Leaderboard.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Leaderboard.java rename to src/main/java/com/songoda/skyblock/menus/Leaderboard.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Levelling.java b/src/main/java/com/songoda/skyblock/menus/Levelling.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Levelling.java rename to src/main/java/com/songoda/skyblock/menus/Levelling.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Members.java b/src/main/java/com/songoda/skyblock/menus/Members.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Members.java rename to src/main/java/com/songoda/skyblock/menus/Members.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Ownership.java b/src/main/java/com/songoda/skyblock/menus/Ownership.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Ownership.java rename to src/main/java/com/songoda/skyblock/menus/Ownership.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Rollback.java b/src/main/java/com/songoda/skyblock/menus/Rollback.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Rollback.java rename to src/main/java/com/songoda/skyblock/menus/Rollback.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Settings.java b/src/main/java/com/songoda/skyblock/menus/Settings.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Settings.java rename to src/main/java/com/songoda/skyblock/menus/Settings.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Upgrade.java b/src/main/java/com/songoda/skyblock/menus/Upgrade.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Upgrade.java rename to src/main/java/com/songoda/skyblock/menus/Upgrade.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Visit.java b/src/main/java/com/songoda/skyblock/menus/Visit.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Visit.java rename to src/main/java/com/songoda/skyblock/menus/Visit.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Visitors.java b/src/main/java/com/songoda/skyblock/menus/Visitors.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Visitors.java rename to src/main/java/com/songoda/skyblock/menus/Visitors.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Weather.java b/src/main/java/com/songoda/skyblock/menus/Weather.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/Weather.java rename to src/main/java/com/songoda/skyblock/menus/Weather.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Creator.java b/src/main/java/com/songoda/skyblock/menus/admin/Creator.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Creator.java rename to src/main/java/com/songoda/skyblock/menus/admin/Creator.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Generator.java b/src/main/java/com/songoda/skyblock/menus/admin/Generator.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Generator.java rename to src/main/java/com/songoda/skyblock/menus/admin/Generator.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Levelling.java b/src/main/java/com/songoda/skyblock/menus/admin/Levelling.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Levelling.java rename to src/main/java/com/songoda/skyblock/menus/admin/Levelling.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Settings.java b/src/main/java/com/songoda/skyblock/menus/admin/Settings.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Settings.java rename to src/main/java/com/songoda/skyblock/menus/admin/Settings.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Upgrade.java b/src/main/java/com/songoda/skyblock/menus/admin/Upgrade.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/menus/admin/Upgrade.java rename to src/main/java/com/songoda/skyblock/menus/admin/Upgrade.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/message/MessageManager.java b/src/main/java/com/songoda/skyblock/message/MessageManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/message/MessageManager.java rename to src/main/java/com/songoda/skyblock/message/MessageManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/placeholder/EZPlaceholder.java b/src/main/java/com/songoda/skyblock/placeholder/EZPlaceholder.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/placeholder/EZPlaceholder.java rename to src/main/java/com/songoda/skyblock/placeholder/EZPlaceholder.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/placeholder/MVdWPlaceholder.java b/src/main/java/com/songoda/skyblock/placeholder/MVdWPlaceholder.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/placeholder/MVdWPlaceholder.java rename to src/main/java/com/songoda/skyblock/placeholder/MVdWPlaceholder.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/placeholder/Placeholder.java b/src/main/java/com/songoda/skyblock/placeholder/Placeholder.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/placeholder/Placeholder.java rename to src/main/java/com/songoda/skyblock/placeholder/Placeholder.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/placeholder/PlaceholderManager.java b/src/main/java/com/songoda/skyblock/placeholder/PlaceholderManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/placeholder/PlaceholderManager.java rename to src/main/java/com/songoda/skyblock/placeholder/PlaceholderManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/playerdata/PlayerData.java b/src/main/java/com/songoda/skyblock/playerdata/PlayerData.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/playerdata/PlayerData.java rename to src/main/java/com/songoda/skyblock/playerdata/PlayerData.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/playerdata/PlayerDataManager.java b/src/main/java/com/songoda/skyblock/playerdata/PlayerDataManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/playerdata/PlayerDataManager.java rename to src/main/java/com/songoda/skyblock/playerdata/PlayerDataManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/playtime/PlaytimeTask.java b/src/main/java/com/songoda/skyblock/playtime/PlaytimeTask.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/playtime/PlaytimeTask.java rename to src/main/java/com/songoda/skyblock/playtime/PlaytimeTask.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/scoreboard/Scoreboard.java b/src/main/java/com/songoda/skyblock/scoreboard/Scoreboard.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/scoreboard/Scoreboard.java rename to src/main/java/com/songoda/skyblock/scoreboard/Scoreboard.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java b/src/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java rename to src/main/java/com/songoda/skyblock/scoreboard/ScoreboardManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/sound/SoundManager.java b/src/main/java/com/songoda/skyblock/sound/SoundManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/sound/SoundManager.java rename to src/main/java/com/songoda/skyblock/sound/SoundManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/stackable/Stackable.java b/src/main/java/com/songoda/skyblock/stackable/Stackable.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/stackable/Stackable.java rename to src/main/java/com/songoda/skyblock/stackable/Stackable.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/stackable/StackableManager.java b/src/main/java/com/songoda/skyblock/stackable/StackableManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/stackable/StackableManager.java rename to src/main/java/com/songoda/skyblock/stackable/StackableManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/structure/Structure.java b/src/main/java/com/songoda/skyblock/structure/Structure.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/structure/Structure.java rename to src/main/java/com/songoda/skyblock/structure/Structure.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/structure/StructureManager.java b/src/main/java/com/songoda/skyblock/structure/StructureManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/structure/StructureManager.java rename to src/main/java/com/songoda/skyblock/structure/StructureManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/upgrade/Upgrade.java b/src/main/java/com/songoda/skyblock/upgrade/Upgrade.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/upgrade/Upgrade.java rename to src/main/java/com/songoda/skyblock/upgrade/Upgrade.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/upgrade/UpgradeManager.java b/src/main/java/com/songoda/skyblock/upgrade/UpgradeManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/upgrade/UpgradeManager.java rename to src/main/java/com/songoda/skyblock/upgrade/UpgradeManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/usercache/UserCacheManager.java b/src/main/java/com/songoda/skyblock/usercache/UserCacheManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/usercache/UserCacheManager.java rename to src/main/java/com/songoda/skyblock/usercache/UserCacheManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/AbstractAnvilGUI.java b/src/main/java/com/songoda/skyblock/utils/AbstractAnvilGUI.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/AbstractAnvilGUI.java rename to src/main/java/com/songoda/skyblock/utils/AbstractAnvilGUI.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/ChatComponent.java b/src/main/java/com/songoda/skyblock/utils/ChatComponent.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/ChatComponent.java rename to src/main/java/com/songoda/skyblock/utils/ChatComponent.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/GZipUtil.java b/src/main/java/com/songoda/skyblock/utils/GZipUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/GZipUtil.java rename to src/main/java/com/songoda/skyblock/utils/GZipUtil.java diff --git a/src/main/java/com/songoda/skyblock/utils/Metrics.java b/src/main/java/com/songoda/skyblock/utils/Metrics.java new file mode 100644 index 00000000..41149127 --- /dev/null +++ b/src/main/java/com/songoda/skyblock/utils/Metrics.java @@ -0,0 +1,1029 @@ +package com.songoda.skyblock.utils; + +import org.bukkit.Bukkit; +import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.plugin.ServicePriority; +import org.bukkit.plugin.java.JavaPlugin; +import org.json.JSONArray; +import org.json.JSONObject; + +import javax.net.ssl.HttpsURLConnection; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Timer; +import java.util.TimerTask; +import java.util.UUID; +import java.util.logging.Level; +import java.util.zip.GZIPOutputStream; + +/** + * bStats collects some data for plugin authors. + * + * Check out https://bStats.org/ to learn more about bStats! + */ +public class Metrics { + + static { + // Maven's Relocate is clever and changes strings, too. So we have to use this little "trick" ... :D + final String defaultPackage = new String(new byte[] { 'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's' }); + final String examplePackage = new String(new byte[] { 'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e' }); + // We want to make sure nobody just copy & pastes the example and use the wrong package names + if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage().getName().equals(examplePackage)) { + throw new IllegalStateException("bStats Metrics class has not been relocated correctly!"); + } + } + + // The version of this bStats class + public static final int B_STATS_VERSION = 1; + + // The url to which the data is sent + private static final String URL = "https://bStats.org/submitData/bukkit"; + + // Should failed requests be logged? + private static boolean logFailedRequests; + + // The uuid of the server + private static String serverUUID; + + // The plugin + private final JavaPlugin plugin; + + // A list with all custom charts + private final List charts = new ArrayList<>(); + + /** + * Class constructor. + * + * @param plugin The plugin which stats should be submitted. + */ + public Metrics(JavaPlugin plugin) { + if (plugin == null) { + throw new IllegalArgumentException("Plugin cannot be null!"); + } + this.plugin = plugin; + + // Get the config file + File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "bStats"); + File configFile = new File(bStatsFolder, "config.yml"); + YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile); + + // Check if the config file exists + if (!config.isSet("serverUuid")) { + + // Add default values + config.addDefault("enabled", true); + // Every server gets it's unique random id. + config.addDefault("serverUuid", UUID.randomUUID().toString()); + // Should failed request be logged? + config.addDefault("logFailedRequests", false); + + // Inform the server owners about bStats + config.options().header( + "bStats collects some data for plugin authors like how many servers are using their plugins.\n" + + "To honor their work, you should not disable it.\n" + + "This has nearly no effect on the server performance!\n" + + "Check out https://bStats.org/ to learn more :)" + ).copyDefaults(true); + try { + config.save(configFile); + } catch (IOException ignored) { } + } + + // Load the data + serverUUID = config.getString("serverUuid"); + logFailedRequests = config.getBoolean("logFailedRequests", false); + if (config.getBoolean("enabled", true)) { + boolean found = false; + // Search for all other bStats Metrics classes to see if we are the first one + for (Class service : Bukkit.getServicesManager().getKnownServices()) { + try { + service.getField("B_STATS_VERSION"); // Our identifier :) + found = true; // We aren't the first + break; + } catch (NoSuchFieldException ignored) { } + } + // Register our service + Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); + if (!found) { + // We are the first! + startSubmitting(); + } + } + } + + /** + * Adds a custom chart. + * + * @param chart The chart to add. + */ + public void addCustomChart(CustomChart chart) { + if (chart == null) { + throw new IllegalArgumentException("Chart cannot be null!"); + } + charts.add(chart); + } + + /** + * Starts the Scheduler which submits our data every 30 minutes. + */ + private void startSubmitting() { + final Timer timer = new Timer(true); // We use a timer cause the Bukkit scheduler is affected by server lags + timer.scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + if (!plugin.isEnabled()) { // Plugin was disabled + timer.cancel(); + return; + } + // Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler + // Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;) + Bukkit.getScheduler().runTask(plugin, new Runnable() { + @Override + public void run() { + submitData(); + } + }); + } + }, 1000*60*5, 1000*60*30); + // Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start + // WARNING: Changing the frequency has no effect but your plugin WILL be blocked/deleted! + // WARNING: Just don't do it! + } + + /** + * Gets the plugin specific data. + * This method is called using Reflection. + * + * @return The plugin specific data. + */ + public JSONObject getPluginData() { + JSONObject data = new JSONObject(); + + String pluginName = plugin.getDescription().getName(); + String pluginVersion = plugin.getDescription().getVersion(); + + data.put("pluginName", pluginName); // Append the name of the plugin + data.put("pluginVersion", pluginVersion); // Append the version of the plugin + JSONArray customCharts = new JSONArray(); + for (CustomChart customChart : charts) { + // Add the data of the custom charts + JSONObject chart = customChart.getRequestJsonObject(); + if (chart == null) { // If the chart is null, we skip it + continue; + } + customCharts.put(chart); + } + data.put("customCharts", customCharts); + + return data; + } + + /** + * Gets the server specific data. + * + * @return The server specific data. + */ + private JSONObject getServerData() { + // Minecraft specific data + int playerAmount = Bukkit.getOnlinePlayers().size(); + int onlineMode = Bukkit.getOnlineMode() ? 1 : 0; + String bukkitVersion = org.bukkit.Bukkit.getVersion(); + bukkitVersion = bukkitVersion.substring(bukkitVersion.indexOf("MC: ") + 4, bukkitVersion.length() - 1); + + // OS/Java specific data + String javaVersion = System.getProperty("java.version"); + String osName = System.getProperty("os.name"); + String osArch = System.getProperty("os.arch"); + String osVersion = System.getProperty("os.version"); + int coreCount = Runtime.getRuntime().availableProcessors(); + + JSONObject data = new JSONObject(); + + data.put("serverUUID", serverUUID); + + data.put("playerAmount", playerAmount); + data.put("onlineMode", onlineMode); + data.put("bukkitVersion", bukkitVersion); + + data.put("javaVersion", javaVersion); + data.put("osName", osName); + data.put("osArch", osArch); + data.put("osVersion", osVersion); + data.put("coreCount", coreCount); + + return data; + } + + /** + * Collects the data and sends it afterwards. + */ + private void submitData() { + final JSONObject data = getServerData(); + + JSONArray pluginData = new JSONArray(); + // Search for all other bStats Metrics classes to get their plugin data + for (Class service : Bukkit.getServicesManager().getKnownServices()) { + try { + service.getField("B_STATS_VERSION"); // Our identifier :) + } catch (NoSuchFieldException ignored) { + continue; // Continue "searching" + } + // Found one! + try { + pluginData.put(service.getMethod("getPluginData").invoke(Bukkit.getServicesManager().load(service))); + } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { } + } + + data.put("plugins", pluginData); + + // Create a new thread for the connection to the bStats server + new Thread(new Runnable() { + @Override + public void run() { + try { + // Send the data + sendData(data); + } catch (Exception e) { + // Something went wrong! :( + if (logFailedRequests) { + plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e); + } + } + } + }).start(); + } + + /** + * Sends the data to the bStats server. + * + * @param data The data to send. + * @throws Exception If the request failed. + */ + private static void sendData(JSONObject data) throws Exception { + if (data == null) { + throw new IllegalArgumentException("Data cannot be null!"); + } + if (Bukkit.isPrimaryThread()) { + throw new IllegalAccessException("This method must not be called from the main thread!"); + } + HttpsURLConnection connection = (HttpsURLConnection) new URL(URL).openConnection(); + + // Compress the data to save bandwidth + byte[] compressedData = compress(data.toString()); + + // Add headers + connection.setRequestMethod("POST"); + connection.addRequestProperty("Accept", "application/json"); + connection.addRequestProperty("Connection", "close"); + connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request + connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length)); + connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format + connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION); + + // Send data + connection.setDoOutput(true); + DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream()); + outputStream.write(compressedData); + outputStream.flush(); + outputStream.close(); + + connection.getInputStream().close(); // We don't care about the response - Just send our data :) + } + + /** + * Gzips the given String. + * + * @param str The string to gzip. + * @return The gzipped String. + * @throws IOException If the compression failed. + */ + private static byte[] compress(final String str) throws IOException { + if (str == null) { + return null; + } + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + GZIPOutputStream gzip = new GZIPOutputStream(outputStream); + gzip.write(str.getBytes("UTF-8")); + gzip.close(); + return outputStream.toByteArray(); + } + + /** + * Represents a custom chart. + */ + public static abstract class CustomChart { + + // The id of the chart + protected final String chartId; + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public CustomChart(String chartId) { + if (chartId == null || chartId.isEmpty()) { + throw new IllegalArgumentException("ChartId cannot be null or empty!"); + } + this.chartId = chartId; + } + + protected JSONObject getRequestJsonObject() { + JSONObject chart = new JSONObject(); + chart.put("chartId", chartId); + try { + JSONObject data = getChartData(); + if (data == null) { + // If the data is null we don't send the chart. + return null; + } + chart.put("data", data); + } catch (Throwable t) { + if (logFailedRequests) { + Bukkit.getLogger().log(Level.WARNING, "Failed to get data for custom chart with id " + chartId, t); + } + return null; + } + return chart; + } + + protected abstract JSONObject getChartData(); + + } + + /** + * Represents a custom simple pie. + */ + public static abstract class SimplePie extends CustomChart { + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public SimplePie(String chartId) { + super(chartId); + } + + /** + * Gets the value of the pie. + * + * @return The value of the pie. + */ + public abstract String getValue(); + + @Override + protected JSONObject getChartData() { + JSONObject data = new JSONObject(); + String value = getValue(); + if (value == null || value.isEmpty()) { + // Null = skip the chart + return null; + } + data.put("value", value); + return data; + } + } + + /** + * Represents a custom advanced pie. + */ + public static abstract class AdvancedPie extends CustomChart { + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public AdvancedPie(String chartId) { + super(chartId); + } + + /** + * Gets the values of the pie. + * + * @param valueMap Just an empty map. The only reason it exists is to make your life easier. + * You don't have to create a map yourself! + * @return The values of the pie. + */ + public abstract HashMap getValues(HashMap valueMap); + + @Override + protected JSONObject getChartData() { + JSONObject data = new JSONObject(); + JSONObject values = new JSONObject(); + HashMap map = getValues(new HashMap()); + if (map == null || map.isEmpty()) { + // Null = skip the chart + return null; + } + boolean allSkipped = true; + for (Map.Entry entry : map.entrySet()) { + if (entry.getValue() == 0) { + continue; // Skip this invalid + } + allSkipped = false; + values.put(entry.getKey(), entry.getValue()); + } + if (allSkipped) { + // Null = skip the chart + return null; + } + data.put("values", values); + return data; + } + } + + /** + * Represents a custom single line chart. + */ + public static abstract class SingleLineChart extends CustomChart { + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public SingleLineChart(String chartId) { + super(chartId); + } + + /** + * Gets the value of the chart. + * + * @return The value of the chart. + */ + public abstract int getValue(); + + @Override + protected JSONObject getChartData() { + JSONObject data = new JSONObject(); + int value = getValue(); + if (value == 0) { + // Null = skip the chart + return null; + } + data.put("value", value); + return data; + } + + } + + /** + * Represents a custom multi line chart. + */ + public static abstract class MultiLineChart extends CustomChart { + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public MultiLineChart(String chartId) { + super(chartId); + } + + /** + * Gets the values of the chart. + * + * @param valueMap Just an empty map. The only reason it exists is to make your life easier. + * You don't have to create a map yourself! + * @return The values of the chart. + */ + public abstract HashMap getValues(HashMap valueMap); + + @Override + protected JSONObject getChartData() { + JSONObject data = new JSONObject(); + JSONObject values = new JSONObject(); + HashMap map = getValues(new HashMap()); + if (map == null || map.isEmpty()) { + // Null = skip the chart + return null; + } + boolean allSkipped = true; + for (Map.Entry entry : map.entrySet()) { + if (entry.getValue() == 0) { + continue; // Skip this invalid + } + allSkipped = false; + values.put(entry.getKey(), entry.getValue()); + } + if (allSkipped) { + // Null = skip the chart + return null; + } + data.put("values", values); + return data; + } + + } + + /** + * Represents a custom simple bar chart. + */ + public static abstract class SimpleBarChart extends CustomChart { + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public SimpleBarChart(String chartId) { + super(chartId); + } + + /** + * Gets the value of the chart. + * + * @param valueMap Just an empty map. The only reason it exists is to make your life easier. + * You don't have to create a map yourself! + * @return The value of the chart. + */ + public abstract HashMap getValues(HashMap valueMap); + + @Override + protected JSONObject getChartData() { + JSONObject data = new JSONObject(); + JSONObject values = new JSONObject(); + HashMap map = getValues(new HashMap()); + if (map == null || map.isEmpty()) { + // Null = skip the chart + return null; + } + for (Map.Entry entry : map.entrySet()) { + JSONArray categoryValues = new JSONArray(); + categoryValues.put(entry.getValue()); + values.put(entry.getKey(), categoryValues); + } + data.put("values", values); + return data; + } + + } + + /** + * Represents a custom advanced bar chart. + */ + public static abstract class AdvancedBarChart extends CustomChart { + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public AdvancedBarChart(String chartId) { + super(chartId); + } + + /** + * Gets the value of the chart. + * + * @param valueMap Just an empty map. The only reason it exists is to make your life easier. + * You don't have to create a map yourself! + * @return The value of the chart. + */ + public abstract HashMap getValues(HashMap valueMap); + + @Override + protected JSONObject getChartData() { + JSONObject data = new JSONObject(); + JSONObject values = new JSONObject(); + HashMap map = getValues(new HashMap()); + if (map == null || map.isEmpty()) { + // Null = skip the chart + return null; + } + boolean allSkipped = true; + for (Map.Entry entry : map.entrySet()) { + if (entry.getValue().length == 0) { + continue; // Skip this invalid + } + allSkipped = false; + JSONArray categoryValues = new JSONArray(); + for (int categoryValue : entry.getValue()) { + categoryValues.put(categoryValue); + } + values.put(entry.getKey(), categoryValues); + } + if (allSkipped) { + // Null = skip the chart + return null; + } + data.put("values", values); + return data; + } + + } + + /** + * Represents a custom simple map chart. + */ + public static abstract class SimpleMapChart extends CustomChart { + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public SimpleMapChart(String chartId) { + super(chartId); + } + + /** + * Gets the value of the chart. + * + * @return The value of the chart. + */ + public abstract Country getValue(); + + @Override + protected JSONObject getChartData() { + JSONObject data = new JSONObject(); + Country value = getValue(); + + if (value == null) { + // Null = skip the chart + return null; + } + data.put("value", value.getCountryIsoTag()); + return data; + } + + } + + /** + * Represents a custom advanced map chart. + */ + public static abstract class AdvancedMapChart extends CustomChart { + + /** + * Class constructor. + * + * @param chartId The id of the chart. + */ + public AdvancedMapChart(String chartId) { + super(chartId); + } + + /** + * Gets the value of the chart. + * + * @param valueMap Just an empty map. The only reason it exists is to make your life easier. + * You don't have to create a map yourself! + * @return The value of the chart. + */ + public abstract HashMap getValues(HashMap valueMap); + + @Override + protected JSONObject getChartData() { + JSONObject data = new JSONObject(); + JSONObject values = new JSONObject(); + HashMap map = getValues(new HashMap()); + if (map == null || map.isEmpty()) { + // Null = skip the chart + return null; + } + boolean allSkipped = true; + for (Map.Entry entry : map.entrySet()) { + if (entry.getValue() == 0) { + continue; // Skip this invalid + } + allSkipped = false; + values.put(entry.getKey().getCountryIsoTag(), entry.getValue()); + } + if (allSkipped) { + // Null = skip the chart + return null; + } + data.put("values", values); + return data; + } + + } + + /** + * A enum which is used for custom maps. + */ + public enum Country { + + /** + * bStats will use the country of the server. + */ + AUTO_DETECT("AUTO", "Auto Detected"), + + ANDORRA("AD", "Andorra"), + UNITED_ARAB_EMIRATES("AE", "United Arab Emirates"), + AFGHANISTAN("AF", "Afghanistan"), + ANTIGUA_AND_BARBUDA("AG", "Antigua and Barbuda"), + ANGUILLA("AI", "Anguilla"), + ALBANIA("AL", "Albania"), + ARMENIA("AM", "Armenia"), + NETHERLANDS_ANTILLES("AN", "Netherlands Antilles"), + ANGOLA("AO", "Angola"), + ANTARCTICA("AQ", "Antarctica"), + ARGENTINA("AR", "Argentina"), + AMERICAN_SAMOA("AS", "American Samoa"), + AUSTRIA("AT", "Austria"), + AUSTRALIA("AU", "Australia"), + ARUBA("AW", "Aruba"), + ALAND_ISLANDS("AX", "Åland Islands"), + AZERBAIJAN("AZ", "Azerbaijan"), + BOSNIA_AND_HERZEGOVINA("BA", "Bosnia and Herzegovina"), + BARBADOS("BB", "Barbados"), + BANGLADESH("BD", "Bangladesh"), + BELGIUM("BE", "Belgium"), + BURKINA_FASO("BF", "Burkina Faso"), + BULGARIA("BG", "Bulgaria"), + BAHRAIN("BH", "Bahrain"), + BURUNDI("BI", "Burundi"), + BENIN("BJ", "Benin"), + SAINT_BARTHELEMY("BL", "Saint Barthélemy"), + BERMUDA("BM", "Bermuda"), + BRUNEI("BN", "Brunei"), + BOLIVIA("BO", "Bolivia"), + BONAIRE_SINT_EUSTATIUS_AND_SABA("BQ", "Bonaire, Sint Eustatius and Saba"), + BRAZIL("BR", "Brazil"), + BAHAMAS("BS", "Bahamas"), + BHUTAN("BT", "Bhutan"), + BOUVET_ISLAND("BV", "Bouvet Island"), + BOTSWANA("BW", "Botswana"), + BELARUS("BY", "Belarus"), + BELIZE("BZ", "Belize"), + CANADA("CA", "Canada"), + COCOS_ISLANDS("CC", "Cocos Islands"), + THE_DEMOCRATIC_REPUBLIC_OF_CONGO("CD", "The Democratic Republic Of Congo"), + CENTRAL_AFRICAN_REPUBLIC("CF", "Central African Republic"), + CONGO("CG", "Congo"), + SWITZERLAND("CH", "Switzerland"), + COTE_D_IVOIRE("CI", "Côte d'Ivoire"), + COOK_ISLANDS("CK", "Cook Islands"), + CHILE("CL", "Chile"), + CAMEROON("CM", "Cameroon"), + CHINA("CN", "China"), + COLOMBIA("CO", "Colombia"), + COSTA_RICA("CR", "Costa Rica"), + CUBA("CU", "Cuba"), + CAPE_VERDE("CV", "Cape Verde"), + CURACAO("CW", "Curaçao"), + CHRISTMAS_ISLAND("CX", "Christmas Island"), + CYPRUS("CY", "Cyprus"), + CZECH_REPUBLIC("CZ", "Czech Republic"), + GERMANY("DE", "Germany"), + DJIBOUTI("DJ", "Djibouti"), + DENMARK("DK", "Denmark"), + DOMINICA("DM", "Dominica"), + DOMINICAN_REPUBLIC("DO", "Dominican Republic"), + ALGERIA("DZ", "Algeria"), + ECUADOR("EC", "Ecuador"), + ESTONIA("EE", "Estonia"), + EGYPT("EG", "Egypt"), + WESTERN_SAHARA("EH", "Western Sahara"), + ERITREA("ER", "Eritrea"), + SPAIN("ES", "Spain"), + ETHIOPIA("ET", "Ethiopia"), + FINLAND("FI", "Finland"), + FIJI("FJ", "Fiji"), + FALKLAND_ISLANDS("FK", "Falkland Islands"), + MICRONESIA("FM", "Micronesia"), + FAROE_ISLANDS("FO", "Faroe Islands"), + FRANCE("FR", "France"), + GABON("GA", "Gabon"), + UNITED_KINGDOM("GB", "United Kingdom"), + GRENADA("GD", "Grenada"), + GEORGIA("GE", "Georgia"), + FRENCH_GUIANA("GF", "French Guiana"), + GUERNSEY("GG", "Guernsey"), + GHANA("GH", "Ghana"), + GIBRALTAR("GI", "Gibraltar"), + GREENLAND("GL", "Greenland"), + GAMBIA("GM", "Gambia"), + GUINEA("GN", "Guinea"), + GUADELOUPE("GP", "Guadeloupe"), + EQUATORIAL_GUINEA("GQ", "Equatorial Guinea"), + GREECE("GR", "Greece"), + SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS("GS", "South Georgia And The South Sandwich Islands"), + GUATEMALA("GT", "Guatemala"), + GUAM("GU", "Guam"), + GUINEA_BISSAU("GW", "Guinea-Bissau"), + GUYANA("GY", "Guyana"), + HONG_KONG("HK", "Hong Kong"), + HEARD_ISLAND_AND_MCDONALD_ISLANDS("HM", "Heard Island And McDonald Islands"), + HONDURAS("HN", "Honduras"), + CROATIA("HR", "Croatia"), + HAITI("HT", "Haiti"), + HUNGARY("HU", "Hungary"), + INDONESIA("ID", "Indonesia"), + IRELAND("IE", "Ireland"), + ISRAEL("IL", "Israel"), + ISLE_OF_MAN("IM", "Isle Of Man"), + INDIA("IN", "India"), + BRITISH_INDIAN_OCEAN_TERRITORY("IO", "British Indian Ocean Territory"), + IRAQ("IQ", "Iraq"), + IRAN("IR", "Iran"), + ICELAND("IS", "Iceland"), + ITALY("IT", "Italy"), + JERSEY("JE", "Jersey"), + JAMAICA("JM", "Jamaica"), + JORDAN("JO", "Jordan"), + JAPAN("JP", "Japan"), + KENYA("KE", "Kenya"), + KYRGYZSTAN("KG", "Kyrgyzstan"), + CAMBODIA("KH", "Cambodia"), + KIRIBATI("KI", "Kiribati"), + COMOROS("KM", "Comoros"), + SAINT_KITTS_AND_NEVIS("KN", "Saint Kitts And Nevis"), + NORTH_KOREA("KP", "North Korea"), + SOUTH_KOREA("KR", "South Korea"), + KUWAIT("KW", "Kuwait"), + CAYMAN_ISLANDS("KY", "Cayman Islands"), + KAZAKHSTAN("KZ", "Kazakhstan"), + LAOS("LA", "Laos"), + LEBANON("LB", "Lebanon"), + SAINT_LUCIA("LC", "Saint Lucia"), + LIECHTENSTEIN("LI", "Liechtenstein"), + SRI_LANKA("LK", "Sri Lanka"), + LIBERIA("LR", "Liberia"), + LESOTHO("LS", "Lesotho"), + LITHUANIA("LT", "Lithuania"), + LUXEMBOURG("LU", "Luxembourg"), + LATVIA("LV", "Latvia"), + LIBYA("LY", "Libya"), + MOROCCO("MA", "Morocco"), + MONACO("MC", "Monaco"), + MOLDOVA("MD", "Moldova"), + MONTENEGRO("ME", "Montenegro"), + SAINT_MARTIN("MF", "Saint Martin"), + MADAGASCAR("MG", "Madagascar"), + MARSHALL_ISLANDS("MH", "Marshall Islands"), + MACEDONIA("MK", "Macedonia"), + MALI("ML", "Mali"), + MYANMAR("MM", "Myanmar"), + MONGOLIA("MN", "Mongolia"), + MACAO("MO", "Macao"), + NORTHERN_MARIANA_ISLANDS("MP", "Northern Mariana Islands"), + MARTINIQUE("MQ", "Martinique"), + MAURITANIA("MR", "Mauritania"), + MONTSERRAT("MS", "Montserrat"), + MALTA("MT", "Malta"), + MAURITIUS("MU", "Mauritius"), + MALDIVES("MV", "Maldives"), + MALAWI("MW", "Malawi"), + MEXICO("MX", "Mexico"), + MALAYSIA("MY", "Malaysia"), + MOZAMBIQUE("MZ", "Mozambique"), + NAMIBIA("NA", "Namibia"), + NEW_CALEDONIA("NC", "New Caledonia"), + NIGER("NE", "Niger"), + NORFOLK_ISLAND("NF", "Norfolk Island"), + NIGERIA("NG", "Nigeria"), + NICARAGUA("NI", "Nicaragua"), + NETHERLANDS("NL", "Netherlands"), + NORWAY("NO", "Norway"), + NEPAL("NP", "Nepal"), + NAURU("NR", "Nauru"), + NIUE("NU", "Niue"), + NEW_ZEALAND("NZ", "New Zealand"), + OMAN("OM", "Oman"), + PANAMA("PA", "Panama"), + PERU("PE", "Peru"), + FRENCH_POLYNESIA("PF", "French Polynesia"), + PAPUA_NEW_GUINEA("PG", "Papua New Guinea"), + PHILIPPINES("PH", "Philippines"), + PAKISTAN("PK", "Pakistan"), + POLAND("PL", "Poland"), + SAINT_PIERRE_AND_MIQUELON("PM", "Saint Pierre And Miquelon"), + PITCAIRN("PN", "Pitcairn"), + PUERTO_RICO("PR", "Puerto Rico"), + PALESTINE("PS", "Palestine"), + PORTUGAL("PT", "Portugal"), + PALAU("PW", "Palau"), + PARAGUAY("PY", "Paraguay"), + QATAR("QA", "Qatar"), + REUNION("RE", "Reunion"), + ROMANIA("RO", "Romania"), + SERBIA("RS", "Serbia"), + RUSSIA("RU", "Russia"), + RWANDA("RW", "Rwanda"), + SAUDI_ARABIA("SA", "Saudi Arabia"), + SOLOMON_ISLANDS("SB", "Solomon Islands"), + SEYCHELLES("SC", "Seychelles"), + SUDAN("SD", "Sudan"), + SWEDEN("SE", "Sweden"), + SINGAPORE("SG", "Singapore"), + SAINT_HELENA("SH", "Saint Helena"), + SLOVENIA("SI", "Slovenia"), + SVALBARD_AND_JAN_MAYEN("SJ", "Svalbard And Jan Mayen"), + SLOVAKIA("SK", "Slovakia"), + SIERRA_LEONE("SL", "Sierra Leone"), + SAN_MARINO("SM", "San Marino"), + SENEGAL("SN", "Senegal"), + SOMALIA("SO", "Somalia"), + SURINAME("SR", "Suriname"), + SOUTH_SUDAN("SS", "South Sudan"), + SAO_TOME_AND_PRINCIPE("ST", "Sao Tome And Principe"), + EL_SALVADOR("SV", "El Salvador"), + SINT_MAARTEN_DUTCH_PART("SX", "Sint Maarten (Dutch part)"), + SYRIA("SY", "Syria"), + SWAZILAND("SZ", "Swaziland"), + TURKS_AND_CAICOS_ISLANDS("TC", "Turks And Caicos Islands"), + CHAD("TD", "Chad"), + FRENCH_SOUTHERN_TERRITORIES("TF", "French Southern Territories"), + TOGO("TG", "Togo"), + THAILAND("TH", "Thailand"), + TAJIKISTAN("TJ", "Tajikistan"), + TOKELAU("TK", "Tokelau"), + TIMOR_LESTE("TL", "Timor-Leste"), + TURKMENISTAN("TM", "Turkmenistan"), + TUNISIA("TN", "Tunisia"), + TONGA("TO", "Tonga"), + TURKEY("TR", "Turkey"), + TRINIDAD_AND_TOBAGO("TT", "Trinidad and Tobago"), + TUVALU("TV", "Tuvalu"), + TAIWAN("TW", "Taiwan"), + TANZANIA("TZ", "Tanzania"), + UKRAINE("UA", "Ukraine"), + UGANDA("UG", "Uganda"), + UNITED_STATES_MINOR_OUTLYING_ISLANDS("UM", "United States Minor Outlying Islands"), + UNITED_STATES("US", "United States"), + URUGUAY("UY", "Uruguay"), + UZBEKISTAN("UZ", "Uzbekistan"), + VATICAN("VA", "Vatican"), + SAINT_VINCENT_AND_THE_GRENADINES("VC", "Saint Vincent And The Grenadines"), + VENEZUELA("VE", "Venezuela"), + BRITISH_VIRGIN_ISLANDS("VG", "British Virgin Islands"), + U_S__VIRGIN_ISLANDS("VI", "U.S. Virgin Islands"), + VIETNAM("VN", "Vietnam"), + VANUATU("VU", "Vanuatu"), + WALLIS_AND_FUTUNA("WF", "Wallis And Futuna"), + SAMOA("WS", "Samoa"), + YEMEN("YE", "Yemen"), + MAYOTTE("YT", "Mayotte"), + SOUTH_AFRICA("ZA", "South Africa"), + ZAMBIA("ZM", "Zambia"), + ZIMBABWE("ZW", "Zimbabwe"); + + private String isoTag; + private String name; + + Country(String isoTag, String name) { + this.isoTag = isoTag; + this.name = name; + } + + /** + * Gets the name of the country. + * + * @return The name of the country. + */ + public String getCountryName() { + return name; + } + + /** + * Gets the iso tag of the country. + * + * @return The iso tag of the country. + */ + public String getCountryIsoTag() { + return isoTag; + } + + /** + * Gets a country by it's iso tag. + * + * @param isoTag The iso tag of the county. + * @return The country with the given iso tag or null if unknown. + */ + public static Country byIsoTag(String isoTag) { + for (Country country : Country.values()) { + if (country.getCountryIsoTag().equals(isoTag)) { + return country; + } + } + return null; + } + + /** + * Gets a country by a locale. + * + * @param locale The locale. + * @return The country from the giben locale or null if unknown country or + * if the locale does not contain a country. + */ + public static Country byLocale(Locale locale) { + return byIsoTag(locale.getCountry()); + } + + } + +} diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/NumberUtil.java b/src/main/java/com/songoda/skyblock/utils/NumberUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/NumberUtil.java rename to src/main/java/com/songoda/skyblock/utils/NumberUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/StringUtil.java b/src/main/java/com/songoda/skyblock/utils/StringUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/StringUtil.java rename to src/main/java/com/songoda/skyblock/utils/StringUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/InventoryUtil.java b/src/main/java/com/songoda/skyblock/utils/item/InventoryUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/InventoryUtil.java rename to src/main/java/com/songoda/skyblock/utils/item/InventoryUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/ItemStackUtil.java b/src/main/java/com/songoda/skyblock/utils/item/ItemStackUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/ItemStackUtil.java rename to src/main/java/com/songoda/skyblock/utils/item/ItemStackUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/MaterialUtil.java b/src/main/java/com/songoda/skyblock/utils/item/MaterialUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/MaterialUtil.java rename to src/main/java/com/songoda/skyblock/utils/item/MaterialUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/SkullUtil.java b/src/main/java/com/songoda/skyblock/utils/item/SkullUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/SkullUtil.java rename to src/main/java/com/songoda/skyblock/utils/item/SkullUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/nInventoryUtil.java b/src/main/java/com/songoda/skyblock/utils/item/nInventoryUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/item/nInventoryUtil.java rename to src/main/java/com/songoda/skyblock/utils/item/nInventoryUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/math/VectorUtil.java b/src/main/java/com/songoda/skyblock/utils/math/VectorUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/math/VectorUtil.java rename to src/main/java/com/songoda/skyblock/utils/math/VectorUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/player/NameFetcher.java b/src/main/java/com/songoda/skyblock/utils/player/NameFetcher.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/player/NameFetcher.java rename to src/main/java/com/songoda/skyblock/utils/player/NameFetcher.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/player/OfflinePlayer.java b/src/main/java/com/songoda/skyblock/utils/player/OfflinePlayer.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/player/OfflinePlayer.java rename to src/main/java/com/songoda/skyblock/utils/player/OfflinePlayer.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/Area.java b/src/main/java/com/songoda/skyblock/utils/structure/Area.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/Area.java rename to src/main/java/com/songoda/skyblock/utils/structure/Area.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/Location.java b/src/main/java/com/songoda/skyblock/utils/structure/Location.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/Location.java rename to src/main/java/com/songoda/skyblock/utils/structure/Location.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/SchematicUtil.java b/src/main/java/com/songoda/skyblock/utils/structure/SchematicUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/SchematicUtil.java rename to src/main/java/com/songoda/skyblock/utils/structure/SchematicUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/SelectionLocation.java b/src/main/java/com/songoda/skyblock/utils/structure/SelectionLocation.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/SelectionLocation.java rename to src/main/java/com/songoda/skyblock/utils/structure/SelectionLocation.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/Storage.java b/src/main/java/com/songoda/skyblock/utils/structure/Storage.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/Storage.java rename to src/main/java/com/songoda/skyblock/utils/structure/Storage.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/Structure.java b/src/main/java/com/songoda/skyblock/utils/structure/Structure.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/Structure.java rename to src/main/java/com/songoda/skyblock/utils/structure/Structure.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/StructureUtil.java b/src/main/java/com/songoda/skyblock/utils/structure/StructureUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/structure/StructureUtil.java rename to src/main/java/com/songoda/skyblock/utils/structure/StructureUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/version/Materials.java b/src/main/java/com/songoda/skyblock/utils/version/Materials.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/version/Materials.java rename to src/main/java/com/songoda/skyblock/utils/version/Materials.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/version/NMSUtil.java b/src/main/java/com/songoda/skyblock/utils/version/NMSUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/version/NMSUtil.java rename to src/main/java/com/songoda/skyblock/utils/version/NMSUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/version/SBiome.java b/src/main/java/com/songoda/skyblock/utils/version/SBiome.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/version/SBiome.java rename to src/main/java/com/songoda/skyblock/utils/version/SBiome.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/version/Sounds.java b/src/main/java/com/songoda/skyblock/utils/version/Sounds.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/version/Sounds.java rename to src/main/java/com/songoda/skyblock/utils/version/Sounds.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/LocationUtil.java b/src/main/java/com/songoda/skyblock/utils/world/LocationUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/LocationUtil.java rename to src/main/java/com/songoda/skyblock/utils/world/LocationUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/WorldBorder.java b/src/main/java/com/songoda/skyblock/utils/world/WorldBorder.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/WorldBorder.java rename to src/main/java/com/songoda/skyblock/utils/world/WorldBorder.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockData.java b/src/main/java/com/songoda/skyblock/utils/world/block/BlockData.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockData.java rename to src/main/java/com/songoda/skyblock/utils/world/block/BlockData.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockDataType.java b/src/main/java/com/songoda/skyblock/utils/world/block/BlockDataType.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockDataType.java rename to src/main/java/com/songoda/skyblock/utils/world/block/BlockDataType.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockDegreesType.java b/src/main/java/com/songoda/skyblock/utils/world/block/BlockDegreesType.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockDegreesType.java rename to src/main/java/com/songoda/skyblock/utils/world/block/BlockDegreesType.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockStateType.java b/src/main/java/com/songoda/skyblock/utils/world/block/BlockStateType.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockStateType.java rename to src/main/java/com/songoda/skyblock/utils/world/block/BlockStateType.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockUtil.java b/src/main/java/com/songoda/skyblock/utils/world/block/BlockUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/block/BlockUtil.java rename to src/main/java/com/songoda/skyblock/utils/world/block/BlockUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/entity/EntityData.java b/src/main/java/com/songoda/skyblock/utils/world/entity/EntityData.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/entity/EntityData.java rename to src/main/java/com/songoda/skyblock/utils/world/entity/EntityData.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/entity/EntityUtil.java b/src/main/java/com/songoda/skyblock/utils/world/entity/EntityUtil.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/utils/world/entity/EntityUtil.java rename to src/main/java/com/songoda/skyblock/utils/world/entity/EntityUtil.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/visit/Visit.java b/src/main/java/com/songoda/skyblock/visit/Visit.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/visit/Visit.java rename to src/main/java/com/songoda/skyblock/visit/Visit.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/visit/VisitManager.java b/src/main/java/com/songoda/skyblock/visit/VisitManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/visit/VisitManager.java rename to src/main/java/com/songoda/skyblock/visit/VisitManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/visit/VisitTask.java b/src/main/java/com/songoda/skyblock/visit/VisitTask.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/visit/VisitTask.java rename to src/main/java/com/songoda/skyblock/visit/VisitTask.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/world/WorldManager.java b/src/main/java/com/songoda/skyblock/world/WorldManager.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/world/WorldManager.java rename to src/main/java/com/songoda/skyblock/world/WorldManager.java diff --git a/FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/world/generator/VoidGenerator.java b/src/main/java/com/songoda/skyblock/world/generator/VoidGenerator.java similarity index 100% rename from FabledSkyBlock/Core/src/main/java/com/songoda/skyblock/world/generator/VoidGenerator.java rename to src/main/java/com/songoda/skyblock/world/generator/VoidGenerator.java diff --git a/FabledSkyBlock/Core/src/main/resources/config.yml b/src/main/resources/config.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/config.yml rename to src/main/resources/config.yml diff --git a/FabledSkyBlock/Core/src/main/resources/generators.yml b/src/main/resources/generators.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/generators.yml rename to src/main/resources/generators.yml diff --git a/FabledSkyBlock/Core/src/main/resources/language.yml b/src/main/resources/language.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/language.yml rename to src/main/resources/language.yml diff --git a/FabledSkyBlock/Core/src/main/resources/levelling.yml b/src/main/resources/levelling.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/levelling.yml rename to src/main/resources/levelling.yml diff --git a/FabledSkyBlock/Core/src/main/resources/limits.yml b/src/main/resources/limits.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/limits.yml rename to src/main/resources/limits.yml diff --git a/FabledSkyBlock/Core/src/main/resources/plugin.yml b/src/main/resources/plugin.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/plugin.yml rename to src/main/resources/plugin.yml diff --git a/FabledSkyBlock/Core/src/main/resources/settings.yml b/src/main/resources/settings.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/settings.yml rename to src/main/resources/settings.yml diff --git a/FabledSkyBlock/Core/src/main/resources/stackables.yml b/src/main/resources/stackables.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/stackables.yml rename to src/main/resources/stackables.yml diff --git a/FabledSkyBlock/Core/src/main/resources/structures.yml b/src/main/resources/structures.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/structures.yml rename to src/main/resources/structures.yml diff --git a/FabledSkyBlock/Core/src/main/resources/structures/default.structure b/src/main/resources/structures/default.structure similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/structures/default.structure rename to src/main/resources/structures/default.structure diff --git a/FabledSkyBlock/Core/src/main/resources/upgrades.yml b/src/main/resources/upgrades.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/upgrades.yml rename to src/main/resources/upgrades.yml diff --git a/FabledSkyBlock/Core/src/main/resources/worlds.yml b/src/main/resources/worlds.yml similarity index 100% rename from FabledSkyBlock/Core/src/main/resources/worlds.yml rename to src/main/resources/worlds.yml