diff --git a/pom.xml b/pom.xml index ef510080..10b2c830 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.songoda skyblock - 2.3.10 + 2.3.11 jar UTF-8 @@ -140,7 +140,7 @@ public - http://repo.songoda.com/artifactory/public/ + http://repo.songoda.com/repository/public/ @@ -229,7 +229,7 @@ com.songoda SongodaCore - 2.4.8 + LATEST compile diff --git a/src/main/java/com/songoda/skyblock/SkyBlock.java b/src/main/java/com/songoda/skyblock/SkyBlock.java index 94dec8a0..9eba11eb 100644 --- a/src/main/java/com/songoda/skyblock/SkyBlock.java +++ b/src/main/java/com/songoda/skyblock/SkyBlock.java @@ -54,6 +54,9 @@ import net.coreprotect.CoreProtectAPI; import net.milkbowl.vault.permission.Permission; import org.bukkit.Bukkit; import org.bukkit.ChatColor; +import org.bukkit.WorldCreator; +import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.event.HandlerList; import org.bukkit.generator.ChunkGenerator; @@ -481,7 +484,7 @@ public class SkyBlock extends SongodaPlugin { @Override public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) { - return new VoidGenerator(); + return worldManager.getWorldGeneratorForMapName(worldName); } public LocalizationManager getLocalizationManager() { diff --git a/src/main/java/com/songoda/skyblock/command/commands/admin/SetMaxMembers.java b/src/main/java/com/songoda/skyblock/command/commands/admin/SetMaxMembers.java index 897c4e40..16ff21be 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/admin/SetMaxMembers.java +++ b/src/main/java/com/songoda/skyblock/command/commands/admin/SetMaxMembers.java @@ -9,7 +9,7 @@ import com.songoda.skyblock.island.IslandManager; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.player.OfflinePlayer; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; @@ -109,7 +109,7 @@ public class SetMaxMembers extends SubCommand { messageManager.sendMessage(sender, configLoad.getString("Command.Island.Admin.SetMaxMembers.Set.Message") .replace("%player", targetPlayerName) - .replace("%maxMembers", NumberUtil.formatNumberByDecimal(maxMembers))); + .replace("%maxMembers", NumberUtils.formatNumber(maxMembers))); soundManager.playSound(sender, CompatibleSound.BLOCK_NOTE_BLOCK_PLING.getSound(), 1.0F, 1.0F); } } else { diff --git a/src/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java b/src/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java index 814e02c6..f12a9148 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java +++ b/src/main/java/com/songoda/skyblock/command/commands/admin/SetSizeCommand.java @@ -9,7 +9,7 @@ import com.songoda.skyblock.island.IslandManager; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.player.OfflinePlayer; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; @@ -109,7 +109,7 @@ public class SetSizeCommand extends SubCommand { messageManager.sendMessage(sender, configLoad.getString("Command.Island.Admin.SetSize.Set.Message") .replace("%player", targetPlayerName) - .replace("%size", NumberUtil.formatNumberByDecimal(size))); + .replace("%size", NumberUtils.formatNumber(size))); soundManager.playSound(sender, CompatibleSound.BLOCK_NOTE_BLOCK_PLING.getSound(), 1.0F, 1.0F); } } else { diff --git a/src/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java index ad67a9c5..3642c905 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java +++ b/src/main/java/com/songoda/skyblock/command/commands/island/CreateCommand.java @@ -13,6 +13,7 @@ import com.songoda.skyblock.menus.Creator; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.structure.Structure; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java index 25317d3b..a104ea91 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java +++ b/src/main/java/com/songoda/skyblock/command/commands/island/DeleteCommand.java @@ -16,6 +16,7 @@ import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.utils.ChatComponent; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.ClickEvent; diff --git a/src/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java index f4641db3..c9702894 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java +++ b/src/main/java/com/songoda/skyblock/command/commands/island/LevelCommand.java @@ -14,6 +14,7 @@ import com.songoda.skyblock.menus.Levelling; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import com.songoda.skyblock.utils.player.OfflinePlayer; import com.songoda.skyblock.visit.Visit; @@ -68,7 +69,7 @@ public class LevelCommand extends SubCommand { messageManager.sendMessage(player, configLoad.getString("Command.Island.Level.Level.Message") .replace("%player", targetPlayerName).replace("%level", - "" + NumberUtil.formatNumberByDecimal(visit.getLevel().getLevel()))); + "" + NumberUtils.formatNumber(visit.getLevel().getLevel()))); soundManager.playSound(player, CompatibleSound.ENTITY_PLAYER_LEVELUP.getSound(), 1.0F, 1.0F); return; diff --git a/src/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java index 9d9d65ec..55dbfcaf 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java +++ b/src/main/java/com/songoda/skyblock/command/commands/island/OwnerCommand.java @@ -17,6 +17,7 @@ import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.utils.ChatComponent; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import com.songoda.skyblock.utils.player.OfflinePlayer; import net.md_5.bungee.api.ChatColor; diff --git a/src/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java index 11e5781b..07c8a8fa 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java +++ b/src/main/java/com/songoda/skyblock/command/commands/island/UnlockCommand.java @@ -10,7 +10,7 @@ import com.songoda.skyblock.island.IslandManager; import com.songoda.skyblock.island.IslandWorld; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.sound.SoundManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import org.apache.commons.lang.WordUtils; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.configuration.file.FileConfiguration; @@ -71,7 +71,7 @@ public class UnlockCommand extends SubCommand { if (!economy.hasBalance(player, price)) { messageManager.sendMessage(player, configLoad.getString("Command.Island.Unlock.Money.Message").replace( - "%cost%", NumberUtil.formatNumberByDecimal(price))); + "%cost%", NumberUtils.formatNumber(price))); soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F); return; } diff --git a/src/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java b/src/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java index 7ae02baa..c1cd5cf8 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java +++ b/src/main/java/com/songoda/skyblock/command/commands/island/ValueCommand.java @@ -8,7 +8,7 @@ import com.songoda.skyblock.config.FileManager.Config; import com.songoda.skyblock.levelling.IslandLevelManager; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.sound.SoundManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import org.apache.commons.lang.WordUtils; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.configuration.file.FileConfiguration; @@ -41,7 +41,7 @@ public class ValueCommand extends SubCommand { messageManager.sendMessage(player, configLoad.getString("Command.Island.Value.Value.Message").replace("%material", WordUtils.capitalizeFully(materials.name().toLowerCase().replace("_", " "))) - .replace("%points", "" + worth).replace("%level", "" + NumberUtil.formatNumberByDecimal(level))); + .replace("%points", "" + worth).replace("%level", "" + NumberUtils.formatNumber(level))); soundManager.playSound(player, CompatibleSound.ENTITY_VILLAGER_YES.getSound(), 1.0F, 1.0F); } else { messageManager.sendMessage(player, configLoad.getString("Command.Island.Value.None.Message")); diff --git a/src/main/java/com/songoda/skyblock/gui/bank/GuiBankSelector.java b/src/main/java/com/songoda/skyblock/gui/bank/GuiBankSelector.java index dc220321..6379d314 100644 --- a/src/main/java/com/songoda/skyblock/gui/bank/GuiBankSelector.java +++ b/src/main/java/com/songoda/skyblock/gui/bank/GuiBankSelector.java @@ -12,7 +12,7 @@ import com.songoda.skyblock.bank.BankManager; import com.songoda.skyblock.island.Island; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.sound.SoundManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import org.bukkit.configuration.file.FileConfiguration; import java.io.File; @@ -123,7 +123,7 @@ public class GuiBankSelector extends Gui { case SUCCESS: soundManager.playSound(event.player, CompatibleSound.ENTITY_EXPERIENCE_ORB_PICKUP.getSound(), 1f, 1f); messageManager.sendMessage(event.player, Objects.requireNonNull(languageLoad.getString("Command.Island.Bank." + finalAction + ".Message")).replace( - "%amount%", NumberUtil.formatNumberByDecimal(amount))); + "%amount%", NumberUtils.formatNumber(amount))); break; } @@ -180,7 +180,7 @@ public class GuiBankSelector extends Gui { case SUCCESS: soundManager.playSound(event.player, CompatibleSound.ENTITY_EXPERIENCE_ORB_PICKUP.getSound(), 1f, 1f); messageManager.sendMessage(e.player, Objects.requireNonNull(languageLoad.getString("Command.Island.Bank." + finalAction + ".Message")).replace( - "%amount%", NumberUtil.formatNumberByDecimal(amount))); + "%amount%", NumberUtils.formatNumber(amount))); break; } diff --git a/src/main/java/com/songoda/skyblock/gui/biome/GuiBiome.java b/src/main/java/com/songoda/skyblock/gui/biome/GuiBiome.java index d44c5100..5e8e38ce 100644 --- a/src/main/java/com/songoda/skyblock/gui/biome/GuiBiome.java +++ b/src/main/java/com/songoda/skyblock/gui/biome/GuiBiome.java @@ -18,6 +18,7 @@ import com.songoda.skyblock.island.IslandManager; import com.songoda.skyblock.island.IslandWorld; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.sound.SoundManager; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import org.bukkit.Bukkit; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/java/com/songoda/skyblock/island/Island.java b/src/main/java/com/songoda/skyblock/island/Island.java index 50be601c..95e30ad6 100644 --- a/src/main/java/com/songoda/skyblock/island/Island.java +++ b/src/main/java/com/songoda/skyblock/island/Island.java @@ -15,7 +15,7 @@ import com.songoda.skyblock.permission.BasicPermission; import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.upgrade.Upgrade; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.world.WorldBorder; import com.songoda.skyblock.visit.Visit; import com.songoda.skyblock.world.WorldManager; @@ -957,7 +957,7 @@ public class Island { messageManager.sendMessage(player, this.plugin.getLanguage() .getString("Island.Unlock." + type.name() + ".Message").replace( - "%cost%", NumberUtil.formatNumberByDecimal(price))); + "%cost%", NumberUtils.formatNumber(price))); soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F); if(type.equals(IslandWorld.End)){ diff --git a/src/main/java/com/songoda/skyblock/listeners/BlockListeners.java b/src/main/java/com/songoda/skyblock/listeners/BlockListeners.java index 3fa92830..4321d24b 100644 --- a/src/main/java/com/songoda/skyblock/listeners/BlockListeners.java +++ b/src/main/java/com/songoda/skyblock/listeners/BlockListeners.java @@ -18,7 +18,7 @@ import com.songoda.skyblock.limit.impl.BlockLimitation; import com.songoda.skyblock.permission.PermissionManager; import com.songoda.skyblock.stackable.Stackable; import com.songoda.skyblock.stackable.StackableManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.version.CompatibleSpawners; import com.songoda.skyblock.utils.version.NMSUtil; import com.songoda.skyblock.utils.world.LocationUtil; @@ -339,7 +339,7 @@ public class BlockListeners implements Listener { } plugin.getMessageManager().sendMessage(player, plugin.getLanguage().getString("Island.Limit.Block.Exceeded.Message") - .replace("%type", WordUtils.capitalizeFully(material.name().replace("_", " "))).replace("%limit", NumberUtil.formatNumber(limit))); + .replace("%type", WordUtils.capitalizeFully(material.name().replace("_", " "))).replace("%limit", NumberUtils.formatNumber(limit))); plugin.getSoundManager().playSound(player, CompatibleSound.ENTITY_VILLAGER_NO.getSound(), 1.0F, 1.0F); event.setCancelled(true); diff --git a/src/main/java/com/songoda/skyblock/listeners/InteractListeners.java b/src/main/java/com/songoda/skyblock/listeners/InteractListeners.java index a9d4a308..bbe380dd 100644 --- a/src/main/java/com/songoda/skyblock/listeners/InteractListeners.java +++ b/src/main/java/com/songoda/skyblock/listeners/InteractListeners.java @@ -16,7 +16,7 @@ import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.stackable.Stackable; import com.songoda.skyblock.stackable.StackableManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.structure.StructureUtil; import com.songoda.skyblock.utils.world.LocationUtil; import com.songoda.skyblock.world.WorldManager; @@ -113,7 +113,7 @@ public class InteractListeners implements Listener { CompatibleMaterial material = CompatibleMaterial.getMaterial(event.getItem().getType()); plugin.getMessageManager().sendMessage(player, plugin.getLanguage().getString("Island.Limit.Block.Exceeded.Message") - .replace("%type", WordUtils.capitalizeFully(material.name().replace("_", " "))).replace("%limit", NumberUtil.formatNumber(limit))); + .replace("%type", WordUtils.capitalizeFully(material.name().replace("_", " "))).replace("%limit", NumberUtils.formatNumber(limit))); plugin.getSoundManager().playSound(player, CompatibleSound.ENTITY_VILLAGER_NO.getSound(), 1.0F, 1.0F); event.setCancelled(true); @@ -195,7 +195,7 @@ public class InteractListeners implements Listener { if (limits.isBlockLimitExceeded(block, limit)) { plugin.getMessageManager().sendMessage(player, plugin.getFileManager().getConfig(new File(plugin.getDataFolder(), "language.yml")).getFileConfiguration().getString("Island.Limit.Block.Exceeded.Message") - .replace("%type", WordUtils.capitalizeFully(material.name().replace("_", " "))).replace("%limit", NumberUtil.formatNumber(limit))); + .replace("%type", WordUtils.capitalizeFully(material.name().replace("_", " "))).replace("%limit", NumberUtils.formatNumber(limit))); plugin.getSoundManager().playSound(player, CompatibleSound.ENTITY_VILLAGER_NO.getSound(), 1.0F, 1.0F); event.setCancelled(true); diff --git a/src/main/java/com/songoda/skyblock/menus/Biome.java b/src/main/java/com/songoda/skyblock/menus/Biome.java index 5ad1ec9e..a2def64a 100644 --- a/src/main/java/com/songoda/skyblock/menus/Biome.java +++ b/src/main/java/com/songoda/skyblock/menus/Biome.java @@ -15,6 +15,7 @@ import com.songoda.skyblock.permission.PermissionManager; import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import com.songoda.skyblock.utils.item.nInventoryUtil; import com.songoda.skyblock.utils.version.SBiome; diff --git a/src/main/java/com/songoda/skyblock/menus/Creator.java b/src/main/java/com/songoda/skyblock/menus/Creator.java index 3c9fd6b5..80f06d69 100644 --- a/src/main/java/com/songoda/skyblock/menus/Creator.java +++ b/src/main/java/com/songoda/skyblock/menus/Creator.java @@ -12,6 +12,7 @@ import com.songoda.skyblock.island.IslandManager; import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.structure.Structure; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import com.songoda.skyblock.utils.item.nInventoryUtil; import org.bukkit.Bukkit; diff --git a/src/main/java/com/songoda/skyblock/menus/Leaderboard.java b/src/main/java/com/songoda/skyblock/menus/Leaderboard.java index 7f08f48e..d67dd49d 100644 --- a/src/main/java/com/songoda/skyblock/menus/Leaderboard.java +++ b/src/main/java/com/songoda/skyblock/menus/Leaderboard.java @@ -8,7 +8,7 @@ import com.songoda.skyblock.config.FileManager.Config; import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.item.SkullUtil; import com.songoda.skyblock.utils.item.nInventoryUtil; import com.songoda.skyblock.utils.player.OfflinePlayer; @@ -302,7 +302,7 @@ public class Leaderboard { new Placeholder("%position", "" + (leaderboard.getPosition() + 1)), new Placeholder("%owner", playerName), new Placeholder("%level", "" + visit.getLevel().getLevel()), - new Placeholder("%balance", NumberUtil.formatNumberByDecimal(visit.getBankBalance())), + new Placeholder("%balance", NumberUtils.formatNumber(visit.getBankBalance())), new Placeholder("%votes", "" + visit.getVoters().size()), new Placeholder("%members", "" + visit.getMembers())}, null, null), diff --git a/src/main/java/com/songoda/skyblock/menus/Levelling.java b/src/main/java/com/songoda/skyblock/menus/Levelling.java index 580c35f2..3a1c2b03 100644 --- a/src/main/java/com/songoda/skyblock/menus/Levelling.java +++ b/src/main/java/com/songoda/skyblock/menus/Levelling.java @@ -17,6 +17,7 @@ import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import com.songoda.skyblock.utils.item.SkullUtil; import com.songoda.skyblock.utils.item.nInventoryUtil; @@ -210,7 +211,7 @@ public class Levelling { new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 3, 5); nInv.addItem( nInv.createItem(new ItemStack(Material.PAINTING), configLoad.getString("Menu.Levelling.Item.Statistics.Displayname"), configLoad.getStringList("Menu.Levelling.Item.Statistics.Lore"), - new Placeholder[]{new Placeholder("%level_points", NumberUtil.formatNumberByDecimal(level.getPoints())), new Placeholder("%level", NumberUtil.formatNumberByDecimal(level.getLevel()))}, null, null), + new Placeholder[]{new Placeholder("%level_points", NumberUtils.formatNumber(level.getPoints())), new Placeholder("%level", NumberUtils.formatNumber(level.getLevel()))}, null, null), 4); nInv.addItem(nInv.createItem(CompatibleMaterial.BLACK_STAINED_GLASS_PANE.getItem(), configLoad.getString("Menu.Levelling.Item.Barrier.Displayname"), null, null, null, null), 9, 10, 11, 12, 13, 14, 15, 16, 17); @@ -275,11 +276,11 @@ public class Levelling { long finalMaterialAmountCounted = materialAmountCounted; List lore = configLoad.getStringList("Menu.Levelling.Item.Material.Lore"); - lore.replaceAll(x -> x.replace("%points", NumberUtil.formatNumberByDecimal(pointsEarned)).replace("%blocks", NumberUtil.formatNumberByDecimal(materialAmount)) - .replace("%material", name).replace("%counted", NumberUtil.formatNumberByDecimal(finalMaterialAmountCounted))); + lore.replaceAll(x -> x.replace("%points", NumberUtils.formatNumber(pointsEarned)).replace("%blocks", NumberUtils.formatNumber(materialAmount)) + .replace("%material", name).replace("%counted", NumberUtils.formatNumber(finalMaterialAmountCounted))); - nInv.addItem(nInv.createItem(is, configLoad.getString("Menu.Levelling.Item.Material.Displayname").replace("%points", NumberUtil.formatNumberByDecimal(pointsEarned)) - .replace("%blocks", NumberUtil.formatNumberByDecimal(materialAmount)).replace("%material", name).replace("%counted", NumberUtil.formatNumberByDecimal(finalMaterialAmountCounted)) + nInv.addItem(nInv.createItem(is, configLoad.getString("Menu.Levelling.Item.Material.Displayname").replace("%points", NumberUtils.formatNumber(pointsEarned)) + .replace("%blocks", NumberUtils.formatNumber(materialAmount)).replace("%material", name).replace("%counted", NumberUtils.formatNumber(finalMaterialAmountCounted)) , lore, null, null, null), inventorySlot); } diff --git a/src/main/java/com/songoda/skyblock/menus/Members.java b/src/main/java/com/songoda/skyblock/menus/Members.java index 676b2e69..40a524ff 100644 --- a/src/main/java/com/songoda/skyblock/menus/Members.java +++ b/src/main/java/com/songoda/skyblock/menus/Members.java @@ -12,6 +12,7 @@ import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import com.songoda.skyblock.utils.StringUtil; import com.songoda.skyblock.utils.item.SkullUtil; diff --git a/src/main/java/com/songoda/skyblock/menus/Upgrade.java b/src/main/java/com/songoda/skyblock/menus/Upgrade.java index 3770e1bd..8cedad20 100644 --- a/src/main/java/com/songoda/skyblock/menus/Upgrade.java +++ b/src/main/java/com/songoda/skyblock/menus/Upgrade.java @@ -15,7 +15,7 @@ import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.upgrade.UpgradeManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.item.nInventoryUtil; import com.songoda.skyblock.utils.version.NMSUtil; import org.bukkit.Bukkit; @@ -532,7 +532,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Speed.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Speed.Claimed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(island, com.songoda.skyblock.upgrade.Upgrade.Type.Speed))}, null, new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 0); @@ -543,7 +543,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Speed.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Speed.Claimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 0); } else { nInv.addItem(nInv.createItem(potion, @@ -551,7 +551,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Speed.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Speed.Unclaimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 0); } } @@ -585,7 +585,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Jump.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Jump.Claimed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(island, com.songoda.skyblock.upgrade.Upgrade.Type.Jump))}, null, new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 1); @@ -596,7 +596,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Jump.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Jump.Claimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 1); } else { nInv.addItem(nInv.createItem(potion, @@ -604,7 +604,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Jump.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Jump.Unclaimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 1); } } @@ -623,7 +623,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Crop.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Crop.Claimed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(island, com.songoda.skyblock.upgrade.Upgrade.Type.Crop))}, null, null), 3); @@ -634,7 +634,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Crop.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Crop.Claimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, null), 3); } else { nInv.addItem(nInv.createItem(CompatibleMaterial.WHEAT_SEEDS.getItem(), @@ -642,7 +642,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Crop.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Crop.Unclaimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, null), 3); } } @@ -661,7 +661,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Fly.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Fly.Claimed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(island, com.songoda.skyblock.upgrade.Upgrade.Type.Fly))}, null, null), 4); @@ -672,7 +672,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Fly.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Fly.Claimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, null), 4); } else { nInv.addItem(nInv.createItem(new ItemStack(Material.FEATHER), @@ -680,7 +680,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Fly.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Fly.Unclaimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, null), 4); } } @@ -699,7 +699,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Drops.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Drops.Claimed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(island, com.songoda.skyblock.upgrade.Upgrade.Type.Drops))}, null, null), 5); @@ -710,7 +710,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Drops.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Drops.Claimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, null), 5); } else { nInv.addItem(nInv.createItem(new ItemStack(Material.SPIDER_EYE), @@ -718,7 +718,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Drops.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Drops.Unclaimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, null), 5); } } @@ -746,7 +746,7 @@ public class Upgrade { "" + tier)), configLoad.getStringList("Menu.Upgrade.Item.Members.Claimed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%tier", "" + tier), new Placeholder("%maxMembers", "" + upgrade.getValue())}, null, null), 6); @@ -760,7 +760,7 @@ public class Upgrade { configLoad.getStringList("Menu.Upgrade.Item.Members.Claimable.Lore"), new Placeholder[]{ new Placeholder("%cost", - NumberUtil.formatNumberByDecimal(upgrade.getCost())), + NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%tier", "" + tier), new Placeholder("%maxMembers", "" + upgrade.getValue())}, null, null), @@ -774,7 +774,7 @@ public class Upgrade { configLoad.getStringList("Menu.Upgrade.Item.Members.Unclaimable.Lore"), new Placeholder[]{ new Placeholder("%cost", - NumberUtil.formatNumberByDecimal(upgrade.getCost())), + NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%tier", "" + tier), new Placeholder("%maxMembers", "" + upgrade.getValue())}, null, null), @@ -808,7 +808,7 @@ public class Upgrade { "" + tier)), configLoad.getStringList("Menu.Upgrade.Item.Size.Claimed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%tier", "" + tier), new Placeholder("%size", "" + upgrade.getValue())}, null, null), 7); @@ -822,7 +822,7 @@ public class Upgrade { configLoad.getStringList("Menu.Upgrade.Item.Size.Claimable.Lore"), new Placeholder[]{ new Placeholder("%cost", - NumberUtil.formatNumberByDecimal(upgrade.getCost())), + NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%tier", "" + tier), new Placeholder("%size", "" + upgrade.getValue())}, null, null), @@ -836,7 +836,7 @@ public class Upgrade { configLoad.getStringList("Menu.Upgrade.Item.Size.Unclaimable.Lore"), new Placeholder[]{ new Placeholder("%cost", - NumberUtil.formatNumberByDecimal(upgrade.getCost())), + NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%tier", "" + tier), new Placeholder("%size", "" + upgrade.getValue())}, null, null), @@ -861,7 +861,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Spawner.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Spawner.Claimed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(island, com.songoda.skyblock.upgrade.Upgrade.Type.Spawner))}, null, null), 8); @@ -872,7 +872,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Spawner.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Spawner.Claimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, null), 8); } else { nInv.addItem(nInv.createItem(CompatibleMaterial.SPAWNER.getItem(), @@ -880,7 +880,7 @@ public class Upgrade { configLoad.getString("Menu.Upgrade.Item.Spawner.Displayname")), configLoad.getStringList("Menu.Upgrade.Item.Spawner.Unclaimable.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost()))}, null, null), 8); } } diff --git a/src/main/java/com/songoda/skyblock/menus/Visit.java b/src/main/java/com/songoda/skyblock/menus/Visit.java index f483432c..8f9479b5 100644 --- a/src/main/java/com/songoda/skyblock/menus/Visit.java +++ b/src/main/java/com/songoda/skyblock/menus/Visit.java @@ -15,7 +15,7 @@ import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.StringUtil; import com.songoda.skyblock.utils.item.SkullUtil; import com.songoda.skyblock.utils.item.nInventoryUtil; @@ -347,10 +347,10 @@ public class Visit { configLoad.getString("Menu.Visit.Item.Statistics.Displayname"), configLoad.getStringList("Menu.Visit.Item.Statistics.Lore"), new Placeholder[]{ - new Placeholder("%islands_open", NumberUtil.formatNumberByDecimal(visitIslands.size())), + new Placeholder("%islands_open", NumberUtils.formatNumber(visitIslands.size())), new Placeholder("%islands_closed", - NumberUtil.formatNumberByDecimal(totalIslands - visitIslands.size())), - new Placeholder("%islands", NumberUtil.formatNumberByDecimal(totalIslands))}, + NumberUtils.formatNumber(totalIslands - visitIslands.size())), + new Placeholder("%islands", NumberUtils.formatNumber(totalIslands))}, null, null), 4); nInv.addItem(nInv.createItem(new ItemStack(Material.HOPPER), configLoad.getString("Menu.Visit.Item.Sort.Displayname"), diff --git a/src/main/java/com/songoda/skyblock/menus/Visitors.java b/src/main/java/com/songoda/skyblock/menus/Visitors.java index 32a235b2..8c758c7e 100644 --- a/src/main/java/com/songoda/skyblock/menus/Visitors.java +++ b/src/main/java/com/songoda/skyblock/menus/Visitors.java @@ -12,6 +12,7 @@ import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.NumberUtil; import com.songoda.skyblock.utils.item.SkullUtil; import com.songoda.skyblock.utils.item.nInventoryUtil; diff --git a/src/main/java/com/songoda/skyblock/menus/admin/Levelling.java b/src/main/java/com/songoda/skyblock/menus/admin/Levelling.java index df2af1ed..920afd64 100644 --- a/src/main/java/com/songoda/skyblock/menus/admin/Levelling.java +++ b/src/main/java/com/songoda/skyblock/menus/admin/Levelling.java @@ -13,7 +13,7 @@ import com.songoda.skyblock.placeholder.Placeholder; import com.songoda.skyblock.playerdata.PlayerData; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.utils.AbstractAnvilGUI; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.item.SkullUtil; import com.songoda.skyblock.utils.item.nInventoryUtil; import com.songoda.skyblock.utils.version.NMSUtil; @@ -134,7 +134,7 @@ public class Levelling implements Listener { .replace("%material", material.getMaterials().name())), configLoad.getStringList("Menu.Admin.Levelling.Item.Material.Lore"), new Placeholder[]{new Placeholder("%points", - NumberUtil.formatNumberByDecimal(material.getPoints()))}, + NumberUtils.formatNumber(material.getPoints()))}, null, null), inventorySlot); } @@ -220,7 +220,7 @@ public class Levelling implements Listener { messageManager.sendMessage(player, configLoad.getString("Island.Admin.Levelling.Division.Message") - .replace("%division", NumberUtil.formatNumberByDecimal(pointDivision))); + .replace("%division", NumberUtils.formatNumber(pointDivision))); soundManager.playSound(player, CompatibleSound.BLOCK_NOTE_BLOCK_PLING.getSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskAsynchronously(plugin, () -> { @@ -322,7 +322,7 @@ public class Levelling implements Listener { messageManager.sendMessage(player, configLoad .getString("Island.Admin.Levelling.Points.Message") .replace("%material", materials.name()).replace("%points", - NumberUtil.formatNumberByDecimal(materialPoints))); + NumberUtils.formatNumber(materialPoints))); soundManager.playSound(player, CompatibleSound.ENTITY_PLAYER_LEVELUP.getSound(), 1.0F, 1.0F); player.closeInventory(); diff --git a/src/main/java/com/songoda/skyblock/menus/admin/Upgrade.java b/src/main/java/com/songoda/skyblock/menus/admin/Upgrade.java index 58aa335f..5ab30b3f 100644 --- a/src/main/java/com/songoda/skyblock/menus/admin/Upgrade.java +++ b/src/main/java/com/songoda/skyblock/menus/admin/Upgrade.java @@ -12,7 +12,7 @@ import com.songoda.skyblock.playerdata.PlayerDataManager; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.upgrade.UpgradeManager; import com.songoda.skyblock.utils.AbstractAnvilGUI; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.item.nInventoryUtil; import com.songoda.skyblock.utils.version.NMSUtil; import org.bukkit.Bukkit; @@ -270,7 +270,7 @@ public class Upgrade { configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Speed.Displayname")), configLoad.getStringList("Menu.Admin.Upgrade.Upgrades.Item.Speed.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(upgrade))}, null, new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 0); @@ -288,7 +288,7 @@ public class Upgrade { configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Jump.Displayname")), configLoad.getStringList("Menu.Admin.Upgrade.Upgrades.Item.Jump.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(upgrade))}, null, new ItemFlag[]{ItemFlag.HIDE_POTION_EFFECTS}), 1); @@ -298,7 +298,7 @@ public class Upgrade { configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Crop.Displayname")), configLoad.getStringList("Menu.Admin.Upgrade.Upgrades.Item.Crop.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(upgrade))}, null, null), 2); @@ -308,7 +308,7 @@ public class Upgrade { configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Fly.Displayname")), configLoad.getStringList("Menu.Admin.Upgrade.Upgrades.Item.Fly.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(upgrade))}, null, null), 3); @@ -318,7 +318,7 @@ public class Upgrade { configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Drops.Displayname")), configLoad.getStringList("Menu.Admin.Upgrade.Upgrades.Item.Drops.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(upgrade))}, null, null), 4); @@ -356,7 +356,7 @@ public class Upgrade { plugin.formatText(configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Spawner.Displayname")), configLoad.getStringList("Menu.Admin.Upgrade.Upgrades.Item.Spawner.Lore"), new Placeholder[]{ - new Placeholder("%cost", NumberUtil.formatNumberByDecimal(upgrade.getCost())), + new Placeholder("%cost", NumberUtils.formatNumber(upgrade.getCost())), new Placeholder("%status", getStatus(upgrade))}, null, null), 6); @@ -783,7 +783,7 @@ public class Upgrade { configLoad.getStringList("Menu.Admin.Upgrade.Size.Item.Tier.Lore"), new Placeholder[]{new Placeholder("%size", "" + upgrade.getValue()), new Placeholder("%cost", - NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + NumberUtils.formatNumber(upgrade.getCost()))}, null, null), i + 3); } } @@ -1210,7 +1210,7 @@ public class Upgrade { configLoad.getStringList("Menu.Admin.Upgrade.Members.Item.Tier.Lore"), new Placeholder[]{new Placeholder("%maxMembers", "" + upgrade.getValue()), new Placeholder("%cost", - NumberUtil.formatNumberByDecimal(upgrade.getCost()))}, + NumberUtils.formatNumber(upgrade.getCost()))}, null, null), i + 3); } } diff --git a/src/main/java/com/songoda/skyblock/placeholder/PlaceholderProcessor.java b/src/main/java/com/songoda/skyblock/placeholder/PlaceholderProcessor.java index 50f45601..4d3246aa 100644 --- a/src/main/java/com/songoda/skyblock/placeholder/PlaceholderProcessor.java +++ b/src/main/java/com/songoda/skyblock/placeholder/PlaceholderProcessor.java @@ -10,7 +10,7 @@ import com.songoda.skyblock.leaderboard.Leaderboard; import com.songoda.skyblock.leaderboard.LeaderboardManager; import com.songoda.skyblock.levelling.IslandLevelManager; import com.songoda.skyblock.upgrade.Upgrade; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.player.OfflinePlayer; import com.songoda.skyblock.visit.Visit; import com.songoda.skyblock.visit.VisitManager; @@ -123,7 +123,7 @@ public class PlaceholderProcessor { } else { returnValue = TextUtils.formatText( placeholdersLoad.getString("Placeholders.fabledskyblock_island_level_formatted.Non-empty").replace( - "{PLACEHOLDER}", "" + NumberUtil.formatNumberBySuffix(island.getLevel().getLevel()))); + "{PLACEHOLDER}", "" + NumberUtils.formatWithSuffix(island.getLevel().getLevel()))); } break; case "fabledskyblock_island_points": @@ -318,7 +318,7 @@ public class PlaceholderProcessor { } else { returnValue = TextUtils.formatText( placeholdersLoad.getString("Placeholders.fabledskyblock_island_bank_balance.Non-empty")) - .replace("{PLACEHOLDER}", "" + NumberUtil.formatNumberByDecimal(island.getBankBalance())); + .replace("{PLACEHOLDER}", "" + NumberUtils.formatNumber(island.getBankBalance())); } break; case "fabledskyblock_island_bank_balance_formatted": @@ -328,7 +328,7 @@ public class PlaceholderProcessor { } else { returnValue = TextUtils.formatText( placeholdersLoad.getString("Placeholders.fabledskyblock_island_bank_balance_formatted.Non-empty")) - .replace("{PLACEHOLDER}", "" + NumberUtil.formatNumberBySuffix((long) island.getBankBalance())); + .replace("{PLACEHOLDER}", "" + NumberUtils.formatWithSuffix((long) island.getBankBalance())); } break; } @@ -362,7 +362,7 @@ public class PlaceholderProcessor { placeholdersLoad.getString("Placeholders.fabledskyblock_leaderboard_votes.Non-empty") .replace("{POSITION}", "" + (value)) .replace("{PLAYER}", islandOwnerName) - .replace("{VOTES}", NumberUtil.formatNumberByDecimal(visit.getVoters().size()))); + .replace("{VOTES}", NumberUtils.formatNumber(visit.getVoters().size()))); } else { returnValue = TextUtils.formatText( @@ -396,7 +396,7 @@ public class PlaceholderProcessor { placeholdersLoad.getString("Placeholders.fabledskyblock_leaderboard_bank.Non-empty") .replace("{POSITION}", "" + (value)) .replace("{PLAYER}", islandOwnerName) - .replace("{BALANCE}", NumberUtil.formatNumberByDecimal(visit.getBankBalance()))); + .replace("{BALANCE}", NumberUtils.formatNumber(visit.getBankBalance()))); } else { returnValue = TextUtils.formatText( @@ -431,8 +431,8 @@ public class PlaceholderProcessor { placeholdersLoad.getString("Placeholders.fabledskyblock_leaderboard_level.Non-empty") .replace("{POSITION}", "" + (value)) .replace("{PLAYER}", islandOwnerName) - .replace("{LEVEL}", NumberUtil.formatNumberByDecimal(level.getLevel())) - .replace("{POINTS}", NumberUtil.formatNumberByDecimal(level.getPoints()))); + .replace("{LEVEL}", NumberUtils.formatNumber(level.getLevel())) + .replace("{POINTS}", NumberUtils.formatNumber(level.getPoints()))); } else { returnValue = TextUtils.formatText( @@ -482,7 +482,7 @@ public class PlaceholderProcessor { long blockCount = island.getLevel().getMaterialAmount(materials.name()); returnValue = TextUtils.formatText( placeholdersLoad.getString("Placeholders.fabledskyblock_island_level_block_count.Non-empty") - .replace("{PLACEHOLDER}", NumberUtil.formatNumberByDecimal(blockCount))); + .replace("{PLACEHOLDER}", NumberUtils.formatNumber(blockCount))); } } } else if (placeholder.toLowerCase().startsWith("fabledskyblock_island_level_block_points_")) { @@ -499,7 +499,7 @@ public class PlaceholderProcessor { long blockPoints = island.getLevel().getMaterialPoints(materials.name()); returnValue = TextUtils.formatText( placeholdersLoad.getString("Placeholders.fabledskyblock_island_level_block_points.Non-empty") - .replace("{PLACEHOLDER}", NumberUtil.formatNumberByDecimal(blockPoints))); + .replace("{PLACEHOLDER}", NumberUtils.formatNumber(blockPoints))); } } } else if (placeholder.toLowerCase().startsWith("fabledskyblock_level_block_value_")) { @@ -512,7 +512,7 @@ public class PlaceholderProcessor { double blockValue = levellingManager.getWorth(materials); returnValue = TextUtils.formatText( placeholdersLoad.getString("Placeholders.fabledskyblock_level_block_value.Non-empty") - .replace("{PLACEHOLDER}", NumberUtil.formatNumberByDecimal(blockValue))); + .replace("{PLACEHOLDER}", NumberUtils.formatNumber(blockValue))); } } else if (placeholder.toLowerCase().startsWith("fabledskyblock_island_has_upgrade_")) { Upgrade.Type type; diff --git a/src/main/java/com/songoda/skyblock/stackable/Stackable.java b/src/main/java/com/songoda/skyblock/stackable/Stackable.java index ab257220..741ab608 100644 --- a/src/main/java/com/songoda/skyblock/stackable/Stackable.java +++ b/src/main/java/com/songoda/skyblock/stackable/Stackable.java @@ -4,7 +4,7 @@ import com.songoda.core.compatibility.CompatibleMaterial; import com.songoda.core.compatibility.CompatibleSound; import com.songoda.skyblock.SkyBlock; import com.songoda.skyblock.config.FileManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.version.NMSUtil; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -184,6 +184,6 @@ public class Stackable { private String getCustomName() { return ChatColor .translateAlternateColorCodes('&', SkyBlock.getInstance().getLanguage().getString("Hologram.Stackable.Message")) - .replace("%block", SkyBlock.getInstance().getLocalizationManager().getLocalizationFor(CompatibleMaterial.class).getLocale(material)).replace("%amount", NumberUtil.formatNumber(this.size)); + .replace("%block", SkyBlock.getInstance().getLocalizationManager().getLocalizationFor(CompatibleMaterial.class).getLocale(material)).replace("%amount", NumberUtils.formatNumber(this.size)); } } diff --git a/src/main/java/com/songoda/skyblock/tasks/HologramTask.java b/src/main/java/com/songoda/skyblock/tasks/HologramTask.java index 5810dc52..17a77bd7 100644 --- a/src/main/java/com/songoda/skyblock/tasks/HologramTask.java +++ b/src/main/java/com/songoda/skyblock/tasks/HologramTask.java @@ -9,7 +9,7 @@ import com.songoda.skyblock.hologram.HologramType; import com.songoda.skyblock.island.IslandLevel; import com.songoda.skyblock.leaderboard.Leaderboard; import com.songoda.skyblock.leaderboard.LeaderboardManager; -import com.songoda.skyblock.utils.NumberUtil; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.player.OfflinePlayer; import com.songoda.skyblock.utils.world.LocationUtil; import com.songoda.skyblock.visit.Visit; @@ -119,22 +119,22 @@ public class HologramTask extends BukkitRunnable { languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Claimed") .replace("%position", "" + (i + 1)) .replace("%player", islandOwnerName) - .replace("%level", NumberUtil.formatNumberByDecimal(level.getLevel())) - .replace("%points", NumberUtil.formatNumberByDecimal(level.getPoints())))); + .replace("%level", NumberUtils.formatNumber(level.getLevel())) + .replace("%points", NumberUtils.formatNumber(level.getPoints())))); } else if (type == HologramType.Bank) { hologramLines.add(TextUtils.formatText( languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Claimed") .replace("%position", "" + (i + 1)) .replace("%player", islandOwnerName) .replace("%balance", - "" + NumberUtil.formatNumberByDecimal(visit.getBankBalance())))); + "" + NumberUtils.formatNumber(visit.getBankBalance())))); } else if (type == HologramType.Votes) { hologramLines.add(TextUtils.formatText( languageConfigLoad.getString("Hologram.Leaderboard." + type.name() + ".Claimed") .replace("%position", "" + (i + 1)) .replace("%player", islandOwnerName) .replace("%votes", - "" + NumberUtil.formatNumberByDecimal(visit.getVoters().size())))); + "" + NumberUtils.formatNumber(visit.getVoters().size())))); } } diff --git a/src/main/java/com/songoda/skyblock/utils/NumberUtil.java b/src/main/java/com/songoda/skyblock/utils/NumberUtil.java index 1341ea7a..a627e7b0 100644 --- a/src/main/java/com/songoda/skyblock/utils/NumberUtil.java +++ b/src/main/java/com/songoda/skyblock/utils/NumberUtil.java @@ -1,42 +1,9 @@ package com.songoda.skyblock.utils; -import java.text.DecimalFormat; import java.util.Date; public final class NumberUtil { - public static String formatNumber(long number) { - return String.format("%,d", number); - } - - public static String formatNumberByDecimal(double number) { - String withoutDecimal = new DecimalFormat("0.#").format(number).replace(",", "."), withDecimal = ""; - - if (withoutDecimal.contains(".")) { - withDecimal = "." + withoutDecimal.split("\\.")[1]; - withoutDecimal = withoutDecimal.replace(withDecimal, ""); - } - - if (withDecimal.equals(".0")) { - withDecimal = ""; - } - - long itemCostWithoutDecimalValue = Long.valueOf(withoutDecimal); - - return formatNumber(itemCostWithoutDecimalValue) + withDecimal; - - } - - public static String formatNumberBySuffix(long number) { - if (number < 1000) { - return "" + number; - } - - int exp = (int) (Math.log(number) / Math.log(1000)); - - return String.format("%.1f%c", number / Math.pow(1000, exp), "kMGTPE".charAt(exp - 1)); - } - public static long[] getDuration(int time) { long seconds = time % 60; long minutes = time % 3600 / 60; diff --git a/src/main/java/com/songoda/skyblock/world/WorldManager.java b/src/main/java/com/songoda/skyblock/world/WorldManager.java index 035e9762..c0986a9d 100644 --- a/src/main/java/com/songoda/skyblock/world/WorldManager.java +++ b/src/main/java/com/songoda/skyblock/world/WorldManager.java @@ -3,9 +3,11 @@ package com.songoda.skyblock.world; import com.songoda.skyblock.SkyBlock; import com.songoda.skyblock.config.FileManager; import com.songoda.skyblock.island.IslandWorld; +import com.songoda.skyblock.limit.LimitationInstanceHandler; import com.songoda.skyblock.world.generator.VoidGenerator; import org.bukkit.*; import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.generator.ChunkGenerator; import java.io.File; import java.util.logging.Level; @@ -17,6 +19,9 @@ public class WorldManager { private org.bukkit.World normalWorld; private org.bukkit.World netherWorld; private org.bukkit.World endWorld; + private ChunkGenerator normalWorldWorldGenerator; + private ChunkGenerator netherWorldWorldGenerator; + private ChunkGenerator endWorldWorldGenerator; public WorldManager(SkyBlock plugin) { this.plugin = plugin; @@ -38,29 +43,35 @@ public class WorldManager { World.Environment netherWorldEnvironment = World.Environment.valueOf(configLoad.getString("Island.World.Nether.Environment")); World.Environment endWorldEnvironment = World.Environment.valueOf(configLoad.getString("Island.World.End.Environment")); + String normalWorldGeneratorName = configLoad.getString("Island.World.Normal.CustomWorldGenerator"); + String netherWorldGeneratorName = configLoad.getString("Island.World.End.CustomWorldGenerator"); + String endWorldGeneratorName = configLoad.getString("Island.World.End.CustomWorldGenerator"); + + normalWorldWorldGenerator = getWorldGenerator(normalWorldName, normalWorldGeneratorName); + netherWorldWorldGenerator = getWorldGenerator(netherWorldName, netherWorldGeneratorName); + endWorldWorldGenerator = getWorldGenerator(endWorldName, endWorldGeneratorName); + normalWorld = Bukkit.getServer().getWorld(normalWorldName); netherWorld = Bukkit.getServer().getWorld(netherWorldName); endWorld = Bukkit.getServer().getWorld(endWorldName); if (normalWorld == null) { Bukkit.getServer().getLogger().log(Level.INFO, "SkyBlock | Info: Generating Normal World '" + normalWorldName + "'."); - normalWorld = WorldCreator.name(normalWorldName).type(WorldType.FLAT).environment(normalWorldEnvironment).generator(new VoidGenerator()).createWorld(); - - Bukkit.getServer().getScheduler().runTask(plugin, () -> registerMultiverse(normalWorldName, normalWorldEnvironment)); + normalWorld = WorldCreator.name(normalWorldName).type(WorldType.FLAT).environment(normalWorldEnvironment).generator(normalWorldWorldGenerator).createWorld(); + Bukkit.getServer().getScheduler().runTask(plugin, () -> registerMultiverse(normalWorldName, normalWorldEnvironment, normalWorldGeneratorName)); } if (netherWorld == null && netherWorldEnabled) { Bukkit.getServer().getLogger().log(Level.INFO, "SkyBlock | Info: Generating Nether World '" + netherWorldName + "'."); - netherWorld = WorldCreator.name(netherWorldName).type(WorldType.FLAT).environment(netherWorldEnvironment).generator(new VoidGenerator()).createWorld(); - - Bukkit.getServer().getScheduler().runTask(plugin, () -> registerMultiverse(netherWorldName, netherWorldEnvironment)); + netherWorld = WorldCreator.name(netherWorldName).type(WorldType.FLAT).environment(netherWorldEnvironment).generator(netherWorldWorldGenerator).createWorld(); + Bukkit.getServer().getScheduler().runTask(plugin, () -> registerMultiverse(netherWorldName, netherWorldEnvironment, netherWorldGeneratorName)); } if (endWorld == null && endWorldEnabled) { Bukkit.getServer().getLogger().log(Level.INFO, "SkyBlock | Info: Generating Void World '" + endWorldName + "'."); - endWorld = WorldCreator.name(endWorldName).type(WorldType.FLAT).environment(endWorldEnvironment).generator(new VoidGenerator()).createWorld(); + endWorld = WorldCreator.name(endWorldName).type(WorldType.FLAT).environment(endWorldEnvironment).generator(endWorldWorldGenerator).createWorld(); - Bukkit.getServer().getScheduler().runTask(plugin, () -> registerMultiverse(endWorldName, endWorldEnvironment)); + Bukkit.getServer().getScheduler().runTask(plugin, () -> registerMultiverse(endWorldName, endWorldEnvironment, endWorldGeneratorName)); } if (normalWorld != null) @@ -73,11 +84,15 @@ public class WorldManager { endWorld.setDifficulty(Difficulty.valueOf(configLoad.getString("Island.World.End.Difficulty"))); } - public void registerMultiverse(String worldName, World.Environment environment) { - if (Bukkit.getServer().getPluginManager().getPlugin("Multiverse-Core") != null) { - Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mv import " + worldName + " " + environment.name().toLowerCase() + " -g " + plugin.getName()); - Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mv modify set generator " + plugin.getName() + " " + worldName); + public void registerMultiverse(String worldName, World.Environment environment, String worldGeneratorName) { + if (Bukkit.getServer().getPluginManager().getPlugin("Multiverse-Core") == null) { + return; } + if (worldGeneratorName.toLowerCase().equals("default") || worldGeneratorName == null) { + worldGeneratorName = plugin.getName(); + } + Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mv import " + worldName + " " + environment.name().toLowerCase() + " -g " + plugin.getName()); + Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mv modify set generator " + worldGeneratorName + " " + worldName); } public World getWorld(IslandWorld world) { @@ -123,4 +138,28 @@ public class WorldManager { return location; } + + private ChunkGenerator getWorldGenerator(String mapName, String worldGeneratorName) { + if (worldGeneratorName == null || worldGeneratorName == "default" || worldGeneratorName.length() == 0) { + return new VoidGenerator(); + } + + ChunkGenerator customWorldGenerator = WorldCreator.getGeneratorForName(mapName, worldGeneratorName, null); + + if (customWorldGenerator != null) { + return customWorldGenerator; + } + + return new VoidGenerator(); + } + + public ChunkGenerator getWorldGeneratorForMapName(String mapName) { + if (normalWorld != null && normalWorld.getName().equals(mapName)) return normalWorldWorldGenerator; + + if (netherWorld != null && netherWorld.getName().equals(mapName)) return netherWorldWorldGenerator; + + if (endWorld != null && endWorld.getName().equals(mapName)) return endWorldWorldGenerator; + + return new VoidGenerator(); + } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 45f01d74..908065de 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -89,6 +89,7 @@ Island: # Valid Difficulties: PEACEFUL, EASY, NORMAL, HARD Normal: Name: "island_normal_world" + CustomWorldGenerator: "default" IslandSpawnHeight: 72 Environment: NORMAL Difficulty: NORMAL @@ -98,6 +99,7 @@ Island: Height: 60 Nether: Name: "island_nether_world" + CustomWorldGenerator: "default" IslandSpawnHeight: 72 Environment: NETHER UnlockPrice: 10000 @@ -109,6 +111,7 @@ Island: Height: 60 End: Name: "island_end_world" + CustomWorldGenerator: "default" IslandSpawnHeight: 72 Environment: THE_END UnlockPrice: 50000 diff --git a/src/main/resources/placeholders.yml b/src/main/resources/placeholders.yml index c79c56e3..cd38463d 100644 --- a/src/main/resources/placeholders.yml +++ b/src/main/resources/placeholders.yml @@ -1,7 +1,7 @@ Placeholders: fabledskyblock_leaderboard_votes: Empty: 'Unclaimed' - Non-empty: '[{POSITION}] {PLAYER} [{VOTES]' + Non-empty: '[{POSITION}] {PLAYER} [{VOTES}]' fabledskyblock_leaderboard_bank: Empty: 'Unclaimed' Non-empty: '[{POSITION}] {PLAYER} [${BALANCE}]'