From a92a8abee36d3e4ae7fa535d5a70d47ecbcf540a Mon Sep 17 00:00:00 2001 From: Esophose Date: Wed, 17 Apr 2019 20:36:12 -0600 Subject: [PATCH 1/8] Remove requirement for standing in the center of a block to set spawn --- .../commands/island/SetSpawnCommand.java | 31 ++++++------------- .../skyblock/utils/world/LocationUtil.java | 10 ------ 2 files changed, 10 insertions(+), 31 deletions(-) diff --git a/src/main/java/me/goodandevil/skyblock/command/commands/island/SetSpawnCommand.java b/src/main/java/me/goodandevil/skyblock/command/commands/island/SetSpawnCommand.java index ea768f00..5ebee6b5 100644 --- a/src/main/java/me/goodandevil/skyblock/command/commands/island/SetSpawnCommand.java +++ b/src/main/java/me/goodandevil/skyblock/command/commands/island/SetSpawnCommand.java @@ -92,31 +92,20 @@ public class SetSpawnCommand extends SubCommand { return; } else { - if (LocationUtil.isLocationCentreOfBlock(location)) { - new BukkitRunnable() { - public void run() { - if (location.getBlock().getType() != Material.AIR && location.getBlock().getType() != Materials.MOVING_PISTON.parseMaterial()) { - location.getBlock().breakNaturally(); - } - - if (location.clone().add(0.0D, 1.0D, 0.0D).getBlock().getType() != Material.AIR && location.getBlock().getType() != Materials.MOVING_PISTON.parseMaterial()) { - location.clone().add(0.0D, 1.0D, 0.0D).getBlock().breakNaturally(); - } - - islandManager.removeSpawnProtection(island.getLocation(world, environment)); - } - }.runTask(skyblock); - } else { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.SetSpawn.Protection.Centre.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - return; + if (location.getBlock().getType() != Material.AIR && location.getBlock().getType() != Materials.MOVING_PISTON.parseMaterial()) { + location.getBlock().breakNaturally(); } + + if (location.clone().add(0.0D, 1.0D, 0.0D).getBlock().getType() != Material.AIR && location.getBlock().getType() != Materials.MOVING_PISTON.parseMaterial()) { + location.clone().add(0.0D, 1.0D, 0.0D).getBlock().breakNaturally(); + } + + islandManager.removeSpawnProtection(island.getLocation(world, environment)); } } - island.setLocation(world, environment, location); + Location newSpawnLocation = new Location(location.getWorld(), location.getBlockX() + 0.5, location.getBlockY(), location.getBlockZ() + 0.5, location.getYaw(), location.getPitch()); + island.setLocation(world, environment, newSpawnLocation); messageManager.sendMessage(player, configLoad.getString("Command.Island.SetSpawn.Set.Message").replace("%spawn", diff --git a/src/main/java/me/goodandevil/skyblock/utils/world/LocationUtil.java b/src/main/java/me/goodandevil/skyblock/utils/world/LocationUtil.java index 08398aaf..e0c37bbe 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/world/LocationUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/world/LocationUtil.java @@ -23,16 +23,6 @@ import java.util.logging.Level; public final class LocationUtil { - public static boolean isLocationCentreOfBlock(Location location) { - double x = location.getX() - location.getBlockX() - 0.5D, z = location.getZ() - location.getBlockZ() - 0.5D; - - if (Math.abs(x) < 0.2D && Math.abs(z) < 0.2D) { - return true; - } - - return false; - } - public static boolean isLocationLocation(Location location1, Location location2) { if (location1.getBlockX() == location2.getBlockX() && location1.getBlockY() == location2.getBlockY() && location1.getBlockZ() == location2.getBlockZ()) { From 1b824278ace8618e5fae7abbc427b8eec00b9a6e Mon Sep 17 00:00:00 2001 From: Esophose Date: Fri, 19 Apr 2019 23:30:59 -0600 Subject: [PATCH 2/8] 1.8 actionbar chat fix --- .../goodandevil/skyblock/levelling/Chunk.java | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/main/java/me/goodandevil/skyblock/levelling/Chunk.java b/src/main/java/me/goodandevil/skyblock/levelling/Chunk.java index 4de54f8c..7c4c12be 100644 --- a/src/main/java/me/goodandevil/skyblock/levelling/Chunk.java +++ b/src/main/java/me/goodandevil/skyblock/levelling/Chunk.java @@ -5,6 +5,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import me.goodandevil.skyblock.utils.version.NMSUtil; import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Bukkit; @@ -105,23 +106,27 @@ public class Chunk { } private void sendPercentMessage(int percent) { - String message = ChatColor.translateAlternateColorCodes('&', - this.skyblock.getFileManager() - .getConfig(new File(this.skyblock.getDataFolder(), "language.yml")) - .getFileConfiguration().getString("Command.Island.Level.Scanning.Progress.Message") - .replace("%percent", String.valueOf(percent))); - for (Player player : this.skyblock.getIslandManager().getPlayersAtIsland(this.island)) { - player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message)); - } + if (NMSUtil.getVersionNumber() > 8) { + String message = ChatColor.translateAlternateColorCodes('&', + this.skyblock.getFileManager() + .getConfig(new File(this.skyblock.getDataFolder(), "language.yml")) + .getFileConfiguration().getString("Command.Island.Level.Scanning.Progress.Message") + .replace("%percent", String.valueOf(percent))); + for (Player player : this.skyblock.getIslandManager().getPlayersAtIsland(this.island)) { + player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message)); + } + } } private void sendFinishedMessage() { - String message = ChatColor.translateAlternateColorCodes('&', this.skyblock.getFileManager() - .getConfig(new File(this.skyblock.getDataFolder(), "language.yml")) - .getFileConfiguration().getString("Command.Island.Level.Scanning.Finished.Message")); - for (Player player : this.skyblock.getIslandManager().getPlayersAtIsland(this.island)) { - player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message)); - } + if (NMSUtil.getVersionNumber() > 8) { + String message = ChatColor.translateAlternateColorCodes('&', this.skyblock.getFileManager() + .getConfig(new File(this.skyblock.getDataFolder(), "language.yml")) + .getFileConfiguration().getString("Command.Island.Level.Scanning.Finished.Message")); + for (Player player : this.skyblock.getIslandManager().getPlayersAtIsland(this.island)) { + player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message)); + } + } } private void getChunksToScan(IslandWorld islandWorld) { From b45446d13c043976525b364d3fde8b63f166a9ac Mon Sep 17 00:00:00 2001 From: Esophose Date: Mon, 22 Apr 2019 13:51:49 -0600 Subject: [PATCH 3/8] Fix version token parsing, spawner & stackable fix, water/lava fix --- build.gradle | 10 ++-- .../skyblock/levelling/LevellingManager.java | 52 +++++++++++++------ 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/build.gradle b/build.gradle index 904a046e..ba1c4ec9 100644 --- a/build.gradle +++ b/build.gradle @@ -37,8 +37,8 @@ dependencies { } processResources { - filter ReplaceTokens, tokens: ["version": project.property("version")] - from (sourceSets.main.resources.srcDirs) { - include '**/*.yml' - } -} + from (sourceSets.main.resources.srcDirs) { + include '**/*.yml' + filter ReplaceTokens, tokens: ["version": project.property("version")] + } +} \ No newline at end of file diff --git a/src/main/java/me/goodandevil/skyblock/levelling/LevellingManager.java b/src/main/java/me/goodandevil/skyblock/levelling/LevellingManager.java index 9f901255..4803d0d7 100644 --- a/src/main/java/me/goodandevil/skyblock/levelling/LevellingManager.java +++ b/src/main/java/me/goodandevil/skyblock/levelling/LevellingManager.java @@ -12,7 +12,11 @@ import me.goodandevil.skyblock.utils.version.Materials; import me.goodandevil.skyblock.utils.version.NMSUtil; import me.goodandevil.skyblock.utils.version.Sounds; import me.goodandevil.skyblock.world.WorldManager; -import org.bukkit.*; +import org.bukkit.Bukkit; +import org.bukkit.ChunkSnapshot; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.World; import org.bukkit.block.CreatureSpawner; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.EntityType; @@ -22,7 +26,11 @@ import org.bukkit.scheduler.BukkitRunnable; import java.io.File; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.logging.Level; public class LevellingManager { @@ -63,6 +71,13 @@ public class LevellingManager { Map levellingData = new HashMap<>(); + List blacklistedMaterials = new ArrayList<>(); + blacklistedMaterials.add(Materials.AIR.getPostMaterial()); + blacklistedMaterials.add(Materials.WATER.getPostMaterial()); + blacklistedMaterials.add(Materials.LEGACY_STATIONARY_WATER.getPostMaterial()); + blacklistedMaterials.add(Materials.LAVA.getPostMaterial()); + blacklistedMaterials.add(Materials.LEGACY_STATIONARY_LAVA.getPostMaterial()); + new BukkitRunnable() { @Override public void run() { @@ -118,14 +133,14 @@ public class LevellingManager { blockData = (int) getBlockTypeDataMethod.invoke(chunkSnapshotList, x, y, z); } - if (blockMaterial == org.bukkit.Material.AIR) + if (blacklistedMaterials.contains(blockMaterial)) continue; long amount = 1; if (blockMaterial == Materials.SPAWNER.parseMaterial()) { World world = Bukkit.getWorld(chunkSnapshotList.getWorldName()); - Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z); + Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z); if (isEpicSpawnersEnabled) { com.songoda.epicspawners.api.EpicSpawners epicSpawners = com.songoda.epicspawners.api.EpicSpawnersAPI.getImplementation(); @@ -134,20 +149,24 @@ public class LevellingManager { amount = spawner.getSpawnerDataCount(); spawnerType = spawner.getCreatureSpawner().getSpawnedType(); } - } else if (isWildStackerEnabled) { + } + + if (isWildStackerEnabled && spawnerType == null) { com.bgsoftware.wildstacker.api.handlers.SystemManager wildStacker = com.bgsoftware.wildstacker.api.WildStackerAPI.getWildStacker().getSystemManager(); if (wildStacker.isStackedSpawner(location.getBlock())) { com.bgsoftware.wildstacker.api.objects.StackedSpawner spawner = wildStacker.getStackedSpawner(location); amount = spawner.getStackAmount(); spawnerType = spawner.getSpawnedType(); } - } else { + } + + if (spawnerType == null) { spawnerType = ((CreatureSpawner) location.getBlock().getState()).getSpawnedType(); } } else { if (isWildStackerEnabled) { World world = Bukkit.getWorld(chunkSnapshotList.getWorldName()); - Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z); + Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z); com.bgsoftware.wildstacker.api.handlers.SystemManager wildStacker = com.bgsoftware.wildstacker.api.WildStackerAPI.getWildStacker().getSystemManager(); if (wildStacker.isStackedBarrel(location.getBlock())) { com.bgsoftware.wildstacker.api.objects.StackedBarrel barrel = wildStacker.getStackedBarrel(location.getBlock()); @@ -159,17 +178,19 @@ public class LevellingManager { blockData = 0; } } - } else if (stackableManager != null && stackableManager.getStackableMaterials().contains(blockMaterial)) { + } + + if (stackableManager != null && stackableManager.getStackableMaterials().contains(blockMaterial) && amount == 1) { World world = Bukkit.getWorld(chunkSnapshotList.getWorldName()); - Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z); + Location location = new Location(world, chunkSnapshotList.getX() * 16 + x, y, chunkSnapshotList.getZ() * 16 + z); if (stackableManager.isStacked(location)) { Stackable stackable = stackableManager.getStack(location, blockMaterial); - amount = stackable.getSize(); + amount += stackable.getSize(); } } } - LevellingData data = new LevellingData(blockMaterial, (byte)blockData, spawnerType); + LevellingData data = new LevellingData(blockMaterial, (byte) blockData, spawnerType); Long totalAmountInteger = levellingData.get(data); long totalAmount = totalAmountInteger == null ? amount : totalAmountInteger + amount; levellingData.put(data, totalAmount); @@ -221,13 +242,13 @@ public class LevellingManager { public void registerMaterials() { Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "levelling.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - + if (configLoad.getString("Materials") != null) { for (String materialKey : configLoad.getConfigurationSection("Materials").getKeys(false)) { try { Materials material = Materials.fromString(materialKey); if (!material.isAvailable() || material.getPostItem() == null) continue; - + if (!containsMaterial(material)) { addMaterial(material, configLoad.getLong("Materials." + materialKey + ".Points")); } @@ -289,7 +310,7 @@ public class LevellingManager { @Override public boolean equals(Object obj) { if (!(obj instanceof LevellingData)) return false; - LevellingData data = (LevellingData)obj; + LevellingData data = (LevellingData) obj; if (this == obj) return true; return this.material == data.material && this.data == data.data && this.spawnerType == data.spawnerType; } @@ -307,7 +328,8 @@ public class LevellingManager { if (NMSUtil.getVersionNumber() > 12) { try { return Materials.fromString(material.name()); - } catch (Exception ignored) {} + } catch (Exception ignored) { + } } return Materials.getMaterials(this.material, this.data); From a903b722c08023393abb22287151d02c879640b2 Mon Sep 17 00:00:00 2001 From: Esophose Date: Tue, 23 Apr 2019 22:38:43 -0600 Subject: [PATCH 4/8] 1.14 support --- build.gradle | 24 +- .../api/event/island/IslandCreateEvent.java | 2 +- .../api/event/island/IslandEvent.java | 5 + .../event/island/IslandLevelChangeEvent.java | 2 +- .../island/IslandLocationChangeEvent.java | 2 +- .../api/event/player/PlayerEvent.java | 6 + .../skyblock/command/CommandManager.java | 289 +++++++++--------- .../skyblock/listeners/Portal.java | 4 +- .../me/goodandevil/skyblock/menus/Border.java | 6 +- .../skyblock/menus/ControlPanel.java | 4 +- .../goodandevil/skyblock/menus/Creator.java | 1 + .../goodandevil/skyblock/menus/Rollback.java | 15 +- .../goodandevil/skyblock/menus/Settings.java | 50 +-- .../skyblock/menus/admin/Creator.java | 32 +- .../skyblock/menus/admin/Generator.java | 19 +- .../skyblock/menus/admin/Levelling.java | 18 +- .../skyblock/menus/admin/Settings.java | 42 +-- .../skyblock/utils/item/MaterialUtil.java | 4 +- .../skyblock/utils/item/nInventoryUtil.java | 1 + .../skyblock/utils/version/Materials.java | 198 +++++++++--- .../skyblock/utils/world/block/BlockData.java | 2 +- .../skyblock/utils/world/block/BlockUtil.java | 16 - .../utils/world/entity/EntityData.java | 9 - .../utils/world/entity/EntityUtil.java | 42 ++- src/main/resources/levelling.yml | 165 +++++++++- 25 files changed, 641 insertions(+), 317 deletions(-) diff --git a/build.gradle b/build.gradle index ba1c4ec9..e5412082 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ import org.apache.tools.ant.filters.ReplaceTokens apply plugin: 'java' group 'com.songoda.fabledskyblock' -version 'Build-73' +version 'Build-74' sourceCompatibility = 1.8 @@ -15,6 +15,11 @@ repositories { } } +configurations { + shade + compile.extendsFrom shade +} + dependencies { // PlaceholderAPI implementation (group: 'be.maximvdw', name: 'placeholderapi', version: '2.5.1') @@ -32,8 +37,12 @@ dependencies { // WildStacker implementation (group: 'com.bgsoftware', name: 'wildstacker-api', version: 'b14') + // Apache Commons + shade (group: 'org.apache.commons', name: 'commons-lang3', version: '3.0') + shade (group: 'commons-io', name: 'commons-io', version: '2.5') + // Spigot - implementation (group: 'org.spigotmc', name: 'spigot', version: '1.13.2') + implementation (group: 'org.spigotmc', name: 'spigot', version: '1.14-pre5-2') } processResources { @@ -41,4 +50,13 @@ processResources { include '**/*.yml' filter ReplaceTokens, tokens: ["version": project.property("version")] } -} \ No newline at end of file +} + +jar { + configurations.shade.each { dep -> + from (project.zipTree(dep)) { + exclude '**/*.yml' + exclude 'META-INF', 'META-INF/**' + } + } +} diff --git a/src/main/java/me/goodandevil/skyblock/api/event/island/IslandCreateEvent.java b/src/main/java/me/goodandevil/skyblock/api/event/island/IslandCreateEvent.java index 45202b77..f4f33133 100644 --- a/src/main/java/me/goodandevil/skyblock/api/event/island/IslandCreateEvent.java +++ b/src/main/java/me/goodandevil/skyblock/api/event/island/IslandCreateEvent.java @@ -12,7 +12,7 @@ public class IslandCreateEvent extends IslandEvent { private final Player player; public IslandCreateEvent(Island island, Player player) { - super(island); + super(island, true); this.player = player; } diff --git a/src/main/java/me/goodandevil/skyblock/api/event/island/IslandEvent.java b/src/main/java/me/goodandevil/skyblock/api/event/island/IslandEvent.java index 0d583615..c4418f33 100644 --- a/src/main/java/me/goodandevil/skyblock/api/event/island/IslandEvent.java +++ b/src/main/java/me/goodandevil/skyblock/api/event/island/IslandEvent.java @@ -12,6 +12,11 @@ public abstract class IslandEvent extends Event { this.island = island; } + protected IslandEvent(Island island, boolean async) { + super(async); + this.island = island; + } + public Island getIsland() { return island; } diff --git a/src/main/java/me/goodandevil/skyblock/api/event/island/IslandLevelChangeEvent.java b/src/main/java/me/goodandevil/skyblock/api/event/island/IslandLevelChangeEvent.java index aa9d2a9e..10f6f90b 100644 --- a/src/main/java/me/goodandevil/skyblock/api/event/island/IslandLevelChangeEvent.java +++ b/src/main/java/me/goodandevil/skyblock/api/event/island/IslandLevelChangeEvent.java @@ -12,7 +12,7 @@ public class IslandLevelChangeEvent extends IslandEvent { private final IslandLevel level; public IslandLevelChangeEvent(Island island, IslandLevel level) { - super(island); + super(island, true); this.level = level; } diff --git a/src/main/java/me/goodandevil/skyblock/api/event/island/IslandLocationChangeEvent.java b/src/main/java/me/goodandevil/skyblock/api/event/island/IslandLocationChangeEvent.java index c480abcc..583f031d 100644 --- a/src/main/java/me/goodandevil/skyblock/api/event/island/IslandLocationChangeEvent.java +++ b/src/main/java/me/goodandevil/skyblock/api/event/island/IslandLocationChangeEvent.java @@ -12,7 +12,7 @@ public class IslandLocationChangeEvent extends IslandEvent { private final IslandLocation location; public IslandLocationChangeEvent(Island island, IslandLocation location) { - super(island); + super(island, true); this.location = location; } diff --git a/src/main/java/me/goodandevil/skyblock/api/event/player/PlayerEvent.java b/src/main/java/me/goodandevil/skyblock/api/event/player/PlayerEvent.java index ede23cc2..323f914f 100644 --- a/src/main/java/me/goodandevil/skyblock/api/event/player/PlayerEvent.java +++ b/src/main/java/me/goodandevil/skyblock/api/event/player/PlayerEvent.java @@ -15,6 +15,12 @@ public abstract class PlayerEvent extends Event { this.island = island; } + protected PlayerEvent(Player player, Island island, boolean async) { + super(async); + this.player = player; + this.island = island; + } + public Player getPlayer() { return player; } diff --git a/src/main/java/me/goodandevil/skyblock/command/CommandManager.java b/src/main/java/me/goodandevil/skyblock/command/CommandManager.java index 4270d20d..09653648 100644 --- a/src/main/java/me/goodandevil/skyblock/command/CommandManager.java +++ b/src/main/java/me/goodandevil/skyblock/command/CommandManager.java @@ -106,162 +106,157 @@ public class CommandManager implements CommandExecutor, TabCompleter { @Override public boolean onCommand(CommandSender sender, Command command, String s, String[] args) { if (command.getName().equalsIgnoreCase("island")) { - new BukkitRunnable() { - @Override - public void run() { - MessageManager messageManager = skyblock.getMessageManager(); - SoundManager soundManager = skyblock.getSoundManager(); - FileManager fileManager = skyblock.getFileManager(); + MessageManager messageManager = skyblock.getMessageManager(); + SoundManager soundManager = skyblock.getSoundManager(); + FileManager fileManager = skyblock.getFileManager(); - Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")); + FileConfiguration configLoad = config.getFileConfiguration(); - Player player = null; + Player player = null; - if (sender instanceof Player) { - player = (Player) sender; - } + if (sender instanceof Player) { + player = (Player) sender; + } - if (args.length == 0) { - if (player == null) { - sendConsoleHelpCommands(sender); - } else { - if (skyblock.getIslandManager().getIsland(player) == null) { - Bukkit.getServer().getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(sender, "island create")); - } else { - boolean canUseControlPanel = player.hasPermission("fabledskyblock.*") - || player.hasPermission("fabledskyblock.island.*") - || player.hasPermission("fabledskyblock.island.controlpanel"); - - if (!canUseControlPanel) { - messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Island.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } - - ControlPanel.getInstance().open(player); - soundManager.playSound(player, Sounds.CHEST_OPEN.bukkitSound(), 1.0F, 1.0F); - } - } - - return; - } - - SubCommand subCommand; - boolean isAdmin; - - if (args[0].equalsIgnoreCase("help")) { - if (player == null) { - sendConsoleHelpCommands(sender); - } else { - boolean canUseHelp = player.hasPermission("fabledskyblock.*") - || player.hasPermission("fabledskyblock.island.*") - || player.hasPermission("fabledskyblock.island.help"); - - if (!canUseHelp) { - messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Island.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } - - int page = -1; - - if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Command.Help.List")) { - page = 1; - - if (args.length == 2) { - if (args[1].matches("[0-9]+")) { - page = Integer.valueOf(args[1]); - } else { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Help.Integer.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - return; - } - } - } - - sendPlayerIslandHelpCommands(player, page); - } - - return; - } else if (args[0].equalsIgnoreCase("admin")) { - if (args.length == 1 || args[1].equalsIgnoreCase("help")) { - if (player == null) { - sendConsoleHelpCommands(sender); - } else { - boolean canUseHelp = player.hasPermission("fabledskyblock.*") - || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.admin.help"); - - if (!canUseHelp) { - messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Admin.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } - - int page = -1; - - if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Command.Help.List")) { - page = 1; - - if (args.length == 3) { - if (args[2].matches("[0-9]+")) { - page = Integer.valueOf(args[2]); - } else { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Help.Integer.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - return; - } - } - } - - sendPlayerAdminHelpCommands(player, page); - } - - return; - } - - subCommand = getAdminSubCommand(args[1]); - isAdmin = true; + if (args.length == 0) { + if (player == null) { + sendConsoleHelpCommands(sender); + } else { + if (skyblock.getIslandManager().getIsland(player) == null) { + Bukkit.getServer().getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(sender, "island create")); } else { - subCommand = getIslandSubCommand(args[0]); - isAdmin = false; - } + boolean canUseControlPanel = player.hasPermission("fabledskyblock.*") + || player.hasPermission("fabledskyblock.island.*") + || player.hasPermission("fabledskyblock.island.controlpanel"); - if (subCommand == null) { - messageManager.sendMessage(sender, configLoad.getString("Command.Island.Argument.Unrecognised.Message")); - soundManager.playSound(sender, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - return; - } + if (!canUseControlPanel) { + messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Island.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return true; + } - if (!subCommand.hasPermission(sender, isAdmin)) { - messageManager.sendMessage(sender, configLoad.getString("Command.PermissionDenied." + (isAdmin ? "Admin" : "Island") + ".Message")); - soundManager.playSound(sender, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } - - List arguments = new ArrayList<>(Arrays.asList(args)); - arguments.remove(args[0]); - - if (adminCommands.contains(subCommand)) { - arguments.remove(args[1]); - } - - if (sender instanceof Player) { - subCommand.onCommandByPlayer(player, arguments.toArray(new String[0])); - } else if (sender instanceof ConsoleCommandSender) { - subCommand.onCommandByConsole((ConsoleCommandSender) sender, - arguments.toArray(new String[0])); + ControlPanel.getInstance().open(player); + soundManager.playSound(player, Sounds.CHEST_OPEN.bukkitSound(), 1.0F, 1.0F); } } - }.runTaskAsynchronously(skyblock); + + return true; + } + + SubCommand subCommand; + boolean isAdmin; + + if (args[0].equalsIgnoreCase("help")) { + if (player == null) { + sendConsoleHelpCommands(sender); + } else { + boolean canUseHelp = player.hasPermission("fabledskyblock.*") + || player.hasPermission("fabledskyblock.island.*") + || player.hasPermission("fabledskyblock.island.help"); + + if (!canUseHelp) { + messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Island.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return true; + } + + int page = -1; + + if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Command.Help.List")) { + page = 1; + + if (args.length == 2) { + if (args[1].matches("[0-9]+")) { + page = Integer.valueOf(args[1]); + } else { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Help.Integer.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return true; + } + } + } + + sendPlayerIslandHelpCommands(player, page); + } + + return true; + } else if (args[0].equalsIgnoreCase("admin")) { + if (args.length == 1 || args[1].equalsIgnoreCase("help")) { + if (player == null) { + sendConsoleHelpCommands(sender); + } else { + boolean canUseHelp = player.hasPermission("fabledskyblock.*") + || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.admin.help"); + + if (!canUseHelp) { + messageManager.sendMessage(player, configLoad.getString("Command.PermissionDenied.Admin.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return true; + } + + int page = -1; + + if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Command.Help.List")) { + page = 1; + + if (args.length == 3) { + if (args[2].matches("[0-9]+")) { + page = Integer.valueOf(args[2]); + } else { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Help.Integer.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + return true; + } + } + } + + sendPlayerAdminHelpCommands(player, page); + } + + return true; + } + + subCommand = getAdminSubCommand(args[1]); + isAdmin = true; + } else { + subCommand = getIslandSubCommand(args[0]); + isAdmin = false; + } + + if (subCommand == null) { + messageManager.sendMessage(sender, configLoad.getString("Command.Island.Argument.Unrecognised.Message")); + soundManager.playSound(sender, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + return true; + } + + if (!subCommand.hasPermission(sender, isAdmin)) { + messageManager.sendMessage(sender, configLoad.getString("Command.PermissionDenied." + (isAdmin ? "Admin" : "Island") + ".Message")); + soundManager.playSound(sender, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return true; + } + + List arguments = new ArrayList<>(Arrays.asList(args)); + arguments.remove(args[0]); + + if (adminCommands.contains(subCommand)) { + arguments.remove(args[1]); + } + + if (sender instanceof Player) { + subCommand.onCommandByPlayer(player, arguments.toArray(new String[0])); + } else if (sender instanceof ConsoleCommandSender) { + subCommand.onCommandByConsole((ConsoleCommandSender) sender, + arguments.toArray(new String[0])); + } } return true; diff --git a/src/main/java/me/goodandevil/skyblock/listeners/Portal.java b/src/main/java/me/goodandevil/skyblock/listeners/Portal.java index 3850ddd9..bd66af3a 100644 --- a/src/main/java/me/goodandevil/skyblock/listeners/Portal.java +++ b/src/main/java/me/goodandevil/skyblock/listeners/Portal.java @@ -17,9 +17,9 @@ import org.bukkit.Bukkit; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityPortalEnterEvent; -import org.bukkit.event.entity.EntityPortalEvent; import org.bukkit.event.player.PlayerMoveEvent; import java.io.File; @@ -64,7 +64,7 @@ public class Portal implements Listener { } } - @EventHandler + @EventHandler(priority = EventPriority.LOW) public void onEntityPortalEnter(EntityPortalEnterEvent event) { if (!(event.getEntity() instanceof Player)) return; diff --git a/src/main/java/me/goodandevil/skyblock/menus/Border.java b/src/main/java/me/goodandevil/skyblock/menus/Border.java index 3d5695b7..f428bd75 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Border.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Border.java @@ -144,7 +144,7 @@ public class Border { } }, 1L); } - } else if ((is.getType() == Materials.ROSE_RED.parseMaterial()) && (is.hasItemMeta()) + } else if ((is.getType() == Materials.RED_DYE.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", @@ -225,14 +225,14 @@ public class Border { } if (borderColor == WorldBorder.Color.Red) { - nInv.addItem(nInv.createItem(Materials.ROSE_RED.parseItem(), + nInv.addItem(nInv.createItem(Materials.RED_DYE.parseItem(), configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", configLoad.getString("Menu.Border.Item.Word.Red")), configLoad.getStringList("Menu.Border.Item.Color.Selected.Lore"), new Placeholder[] { new Placeholder("%color", configLoad.getString("Menu.Border.Item.Word.Red")) }, null, null), 4); } else { - nInv.addItem(nInv.createItem(Materials.ROSE_RED.parseItem(), + nInv.addItem(nInv.createItem(Materials.RED_DYE.parseItem(), configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", configLoad.getString("Menu.Border.Item.Word.Red")), configLoad.getStringList("Menu.Border.Item.Color.Unselected.Lore"), diff --git a/src/main/java/me/goodandevil/skyblock/menus/ControlPanel.java b/src/main/java/me/goodandevil/skyblock/menus/ControlPanel.java index 942b4560..acbb3acc 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/ControlPanel.java +++ b/src/main/java/me/goodandevil/skyblock/menus/ControlPanel.java @@ -111,7 +111,7 @@ public class ControlPanel { Bukkit.getServer().dispatchCommand(player, "island bans"); } }, 1L); - } else if ((is.getType() == Material.SIGN) && (is.hasItemMeta()) + } else if ((is.getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.ControlPanel.Item.Visitors.Displayname"))))) { Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { @@ -148,7 +148,7 @@ public class ControlPanel { configLoad.getString("Menu.ControlPanel.Item.Bans.Displayname"), configLoad.getStringList("Menu.ControlPanel.Item.Bans.Lore"), null, null, new ItemFlag[] { ItemFlag.HIDE_ATTRIBUTES }), 7); - nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN), + nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), configLoad.getString("Menu.ControlPanel.Item.Visitors.Displayname"), configLoad.getStringList("Menu.ControlPanel.Item.Visitors.Lore"), null, null, null), 8); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Creator.java b/src/main/java/me/goodandevil/skyblock/menus/Creator.java index f58c699a..f349143e 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Creator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Creator.java @@ -4,6 +4,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import me.goodandevil.skyblock.utils.version.NMSUtil; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/java/me/goodandevil/skyblock/menus/Rollback.java b/src/main/java/me/goodandevil/skyblock/menus/Rollback.java index 172c116f..1e2271a4 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Rollback.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Rollback.java @@ -4,6 +4,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import me.goodandevil.skyblock.utils.version.NMSUtil; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -120,8 +121,18 @@ public class Rollback implements Listener { Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - if (event.getInventory().getName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Rollback.Title")))) { + String inventoryName = ""; + if (NMSUtil.getVersionNumber() > 13) { + inventoryName = event.getView().getTitle(); + } else { + try { + inventoryName = (String) Inventory.class.getMethod("getName").invoke(event.getInventory()); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + if (inventoryName.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Rollback.Title")))) { event.setCancelled(true); Island island = islandManager.getIsland(player); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Settings.java b/src/main/java/me/goodandevil/skyblock/menus/Settings.java index 7a3b3130..b9ac341f 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Settings.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Settings.java @@ -221,7 +221,7 @@ public class Settings { } }); - nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN), + nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), configLoad.getString("Menu.Settings.Categories.Item.Visitor.Displayname"), configLoad.getStringList("Menu.Settings.Categories.Item.Visitor.Lore"), null, null, null), 2); nInv.addItem(nInv.createItem(new ItemStack(Material.PAINTING), @@ -533,9 +533,9 @@ public class Settings { 10); nInv.addItemStack(createItem(island, role, "Ban", new ItemStack(Material.IRON_AXE)), 11); - nInv.addItemStack(createItem(island, role, "Unban", Materials.ROSE_RED.parseItem()), + nInv.addItemStack(createItem(island, role, "Unban", Materials.RED_DYE.parseItem()), 12); - nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Material.SIGN)), + nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 13); nInv.addItemStack(createItem(island, role, "Member", new ItemStack(Material.PAINTING)), 14); @@ -561,9 +561,9 @@ public class Settings { 10); nInv.addItemStack(createItem(island, role, "Ban", new ItemStack(Material.IRON_AXE)), 11); - nInv.addItemStack(createItem(island, role, "Unban", Materials.ROSE_RED.parseItem()), + nInv.addItemStack(createItem(island, role, "Unban", Materials.RED_DYE.parseItem()), 12); - nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Material.SIGN)), + nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 13); nInv.addItemStack(createItem(island, role, "Member", new ItemStack(Material.PAINTING)), 14); @@ -589,9 +589,9 @@ public class Settings { 11); nInv.addItemStack(createItem(island, role, "Ban", new ItemStack(Material.IRON_AXE)), 12); - nInv.addItemStack(createItem(island, role, "Unban", Materials.ROSE_RED.parseItem()), + nInv.addItemStack(createItem(island, role, "Unban", Materials.RED_DYE.parseItem()), 13); - nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Material.SIGN)), + nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 14); nInv.addItemStack(createItem(island, role, "Member", new ItemStack(Material.PAINTING)), 15); @@ -613,9 +613,9 @@ public class Settings { 11); nInv.addItemStack(createItem(island, role, "Ban", new ItemStack(Material.IRON_AXE)), 12); - nInv.addItemStack(createItem(island, role, "Unban", Materials.ROSE_RED.parseItem()), + nInv.addItemStack(createItem(island, role, "Unban", Materials.RED_DYE.parseItem()), 13); - nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Material.SIGN)), + nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 14); nInv.addItemStack(createItem(island, role, "Member", new ItemStack(Material.PAINTING)), 15); @@ -639,7 +639,7 @@ public class Settings { createItem(island, role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10); nInv.addItemStack(createItem(island, role, "Kick", new ItemStack(Material.IRON_DOOR)), 11); - nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Material.SIGN)), + nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12); nInv.addItemStack(createItem(island, role, "Member", new ItemStack(Material.PAINTING)), 13); @@ -663,7 +663,7 @@ public class Settings { createItem(island, role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10); nInv.addItemStack(createItem(island, role, "Kick", new ItemStack(Material.IRON_DOOR)), 11); - nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Material.SIGN)), + nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12); nInv.addItemStack(createItem(island, role, "Member", new ItemStack(Material.PAINTING)), 13); @@ -689,7 +689,7 @@ public class Settings { createItem(island, role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10); nInv.addItemStack(createItem(island, role, "Kick", new ItemStack(Material.IRON_DOOR)), 11); - nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Material.SIGN)), + nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12); nInv.addItemStack(createItem(island, role, "Member", new ItemStack(Material.PAINTING)), 13); @@ -711,7 +711,7 @@ public class Settings { createItem(island, role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 9); nInv.addItemStack(createItem(island, role, "Kick", new ItemStack(Material.IRON_DOOR)), 10); - nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Material.SIGN)), + nInv.addItemStack(createItem(island, role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 11); nInv.addItemStack(createItem(island, role, "Member", new ItemStack(Material.PAINTING)), 12); @@ -755,7 +755,7 @@ public class Settings { nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15); nInv.addItemStack( - createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16); + createItem(island, role, "Damage", Materials.RED_DYE.parseItem()), 16); nInv.addItemStack( createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17); @@ -778,7 +778,7 @@ public class Settings { nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 16); nInv.addItemStack( - createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 17); + createItem(island, role, "Damage", Materials.RED_DYE.parseItem()), 17); } } else { if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) { @@ -841,7 +841,7 @@ public class Settings { createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15); nInv.addItemStack( - createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16); + createItem(island, role, "Damage", Materials.RED_DYE.parseItem()), 16); nInv.addItemStack( createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17); @@ -862,7 +862,7 @@ public class Settings { createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15); nInv.addItemStack( - createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16); + createItem(island, role, "Damage", Materials.RED_DYE.parseItem()), 16); } } else { if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) { @@ -923,7 +923,7 @@ public class Settings { nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15); nInv.addItemStack( - createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16); + createItem(island, role, "Damage", Materials.RED_DYE.parseItem()), 16); nInv.addItemStack( createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17); @@ -944,7 +944,7 @@ public class Settings { nInv.addItemStack(createItem(island, role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15); nInv.addItemStack( - createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16); + createItem(island, role, "Damage", Materials.RED_DYE.parseItem()), 16); } } else { if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) { @@ -1001,7 +1001,7 @@ public class Settings { createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14); nInv.addItemStack( - createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 15); + createItem(island, role, "Damage", Materials.RED_DYE.parseItem()), 15); nInv.addItemStack( createItem(island, role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 16); @@ -1020,7 +1020,7 @@ public class Settings { createItem(island, role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15); nInv.addItemStack( - createItem(island, role, "Damage", Materials.ROSE_RED.parseItem()), 16); + createItem(island, role, "Damage", Materials.RED_DYE.parseItem()), 16); } } else { if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) { @@ -1322,7 +1322,7 @@ public class Settings { List itemLore = new ArrayList<>(); itemLore.add( configLoad.getString("Menu.Settings.Visitor.Panel.Welcome.Item.Message.Word.Empty")); - nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN), + nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), configLoad.getString("Menu.Settings.Visitor.Panel.Welcome.Item.Message.Displayname"), itemLore, null, null, null), 2); nInv.addItem(nInv.createItem(new ItemStack(Material.ARROW), @@ -1332,7 +1332,7 @@ public class Settings { "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Remove.None.Lore"), null, null, null), 3); } else { - nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN, welcomeMessage.size()), + nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial(), welcomeMessage.size()), configLoad.getString("Menu.Settings.Visitor.Panel.Welcome.Item.Message.Displayname"), welcomeMessage, null, null, null), 2); nInv.addItem(nInv.createItem(new ItemStack(Material.ARROW), @@ -1606,7 +1606,7 @@ public class Settings { List itemLore = new ArrayList<>(); itemLore.add( configLoad.getString("Menu.Settings.Visitor.Panel.Signature.Item.Message.Word.Empty")); - nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN), + nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), configLoad.getString("Menu.Settings.Visitor.Panel.Signature.Item.Message.Displayname"), itemLore, null, null, null), 2); nInv.addItem(nInv.createItem(new ItemStack(Material.ARROW), @@ -1616,7 +1616,7 @@ public class Settings { "Menu.Settings.Visitor.Panel.Signature.Item.Line.Remove.None.Lore"), null, null, null), 3); } else { - nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN, signatureMessage.size()), + nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial(), signatureMessage.size()), configLoad.getString("Menu.Settings.Visitor.Panel.Signature.Item.Message.Displayname"), signatureMessage, null, null, null), 2); nInv.addItem(nInv.createItem(new ItemStack(Material.ARROW), diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java index 9544c043..1c240f71 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java @@ -15,6 +15,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryCloseEvent; +import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -67,7 +68,7 @@ public class Creator implements Listener { configLoad.getString("Menu.Admin.Creator.Browse.Item.Exit.Displayname"), null, null, null, null), 0, 8); nInv.addItem( - nInv.createItem(new ItemStack(org.bukkit.Material.SIGN), + nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), configLoad.getString("Menu.Admin.Creator.Browse.Item.Information.Displayname"), configLoad.getStringList("Menu.Admin.Creator.Browse.Item.Information.Lore"), new Placeholder[] { new Placeholder("%structures", "" + structures.size()) }, null, null), @@ -273,8 +274,18 @@ public class Creator implements Listener { Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - if (event.getInventory().getName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Creator.Title")))) { + String inventoryName = ""; + if (NMSUtil.getVersionNumber() > 13) { + inventoryName = event.getView().getTitle(); + } else { + try { + inventoryName = (String) Inventory.class.getMethod("getName").invoke(event.getInventory()); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + if (inventoryName.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Creator.Title")))) { event.setCancelled(true); PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player); @@ -318,7 +329,7 @@ public class Creator implements Listener { return; } - } else if ((event.getCurrentItem().getType() == Material.SIGN) && (is.hasItemMeta()) + } else if ((event.getCurrentItem().getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Creator.Browse.Item.Information.Displayname"))))) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); @@ -1493,7 +1504,18 @@ public class Creator implements Listener { Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - if (event.getInventory().getName().equals( + String inventoryName = ""; + if (NMSUtil.getVersionNumber() > 13) { + inventoryName = event.getView().getTitle(); + } else { + try { + inventoryName = (String) Inventory.class.getMethod("getName").invoke(event.getInventory()); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + if (inventoryName.equals( ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Creator.Title")))) { PlayerDataManager playerDataManager = skyblock.getPlayerDataManager(); diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java index d610040d..ef38f59d 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java @@ -24,6 +24,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -64,7 +65,7 @@ public class Generator implements Listener { configLoad.getString("Menu.Admin.Generator.Browse.Item.Exit.Displayname"), null, null, null, null), 0, 8); nInv.addItem( - nInv.createItem(new ItemStack(org.bukkit.Material.SIGN), + nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), configLoad.getString("Menu.Admin.Generator.Browse.Item.Information.Displayname"), configLoad.getStringList("Menu.Admin.Generator.Browse.Item.Information.Lore"), new Placeholder[]{new Placeholder("%generators", "" + generators.size())}, null, null), @@ -191,8 +192,18 @@ public class Generator implements Listener { Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - if (!event.getInventory().getName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Generator.Title")))) + String inventoryName = ""; + if (NMSUtil.getVersionNumber() > 13) { + inventoryName = event.getView().getTitle(); + } else { + try { + inventoryName = (String) Inventory.class.getMethod("getName").invoke(event.getInventory()); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + if (!inventoryName.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Generator.Title")))) return; event.setCancelled(true); @@ -249,7 +260,7 @@ public class Generator implements Listener { return; } - } else if ((event.getCurrentItem().getType() == Material.SIGN) && (is.hasItemMeta()) + } else if ((event.getCurrentItem().getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Generator.Browse.Item.Information.Displayname"))))) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java index 66b8ea8f..23fcf4d5 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java @@ -80,7 +80,7 @@ public class Levelling implements Listener { configLoad.getString("Menu.Admin.Levelling.Item.Exit.Displayname"), null, null, null, null), 0, 8); nInv.addItem( - nInv.createItem(new ItemStack(org.bukkit.Material.SIGN), + nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), configLoad.getString("Menu.Admin.Levelling.Item.Information.Displayname"), configLoad.getStringList("Menu.Admin.Levelling.Item.Information.Lore"), new Placeholder[] { new Placeholder("%materials", "" + levellingMaterials.size()), @@ -167,8 +167,18 @@ public class Levelling implements Listener { Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - if (event.getInventory().getName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Levelling.Title")))) { + String inventoryName = ""; + if (NMSUtil.getVersionNumber() > 13) { + inventoryName = event.getView().getTitle(); + } else { + try { + inventoryName = (String) Inventory.class.getMethod("getName").invoke(event.getInventory()); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + if (inventoryName.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Levelling.Title")))) { PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player); if (!(player.hasPermission("fabledskyblock.admin.level") || player.hasPermission("fabledskyblock.admin.*") @@ -197,7 +207,7 @@ public class Levelling implements Listener { player.closeInventory(); return; - } else if ((event.getCurrentItem().getType() == Material.SIGN) && (is.hasItemMeta()) + } else if ((event.getCurrentItem().getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Levelling.Item.Information.Displayname"))))) { event.setCancelled(true); diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java index ddd9783f..b2bc8c79 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java @@ -127,7 +127,7 @@ public class Settings { } }); - nInv.addItem(nInv.createItem(new ItemStack(Material.SIGN), + nInv.addItem(nInv.createItem(new ItemStack(Materials.OAK_SIGN.parseMaterial()), configLoad.getString("Menu.Admin.Settings.Categories.Item.Visitor.Displayname"), configLoad.getStringList("Menu.Admin.Settings.Categories.Item.Visitor.Lore"), null, null, null), 2); nInv.addItem(nInv.createItem(new ItemStack(Material.PAINTING), @@ -312,8 +312,8 @@ public class Settings { nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 9); nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 10); nInv.addItemStack(createItem(role, "Ban", new ItemStack(Material.IRON_AXE)), 11); - nInv.addItemStack(createItem(role, "Unban", Materials.ROSE_RED.parseItem()), 12); - nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 13); + nInv.addItemStack(createItem(role, "Unban", Materials.RED_DYE.parseItem()), 12); + nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 13); nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 14); nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 15); nInv.addItemStack(createItem(role, "Coop", new ItemStack(Material.NAME_TAG)), 16); @@ -328,8 +328,8 @@ public class Settings { nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 9); nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 10); nInv.addItemStack(createItem(role, "Ban", new ItemStack(Material.IRON_AXE)), 11); - nInv.addItemStack(createItem(role, "Unban", Materials.ROSE_RED.parseItem()), 12); - nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 13); + nInv.addItemStack(createItem(role, "Unban", Materials.RED_DYE.parseItem()), 12); + nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 13); nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 14); nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 15); nInv.addItemStack(createItem(role, "Coop", new ItemStack(Material.NAME_TAG)), 16); @@ -345,8 +345,8 @@ public class Settings { nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10); nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11); nInv.addItemStack(createItem(role, "Ban", new ItemStack(Material.IRON_AXE)), 12); - nInv.addItemStack(createItem(role, "Unban", Materials.ROSE_RED.parseItem()), 13); - nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 14); + nInv.addItemStack(createItem(role, "Unban", Materials.RED_DYE.parseItem()), 13); + nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 14); nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 15); nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 16); nInv.addItemStack(createItem(role, "MainSpawn", new ItemStack(Material.EMERALD)), 20); @@ -359,8 +359,8 @@ public class Settings { nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10); nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11); nInv.addItemStack(createItem(role, "Ban", new ItemStack(Material.IRON_AXE)), 12); - nInv.addItemStack(createItem(role, "Unban", Materials.ROSE_RED.parseItem()), 13); - nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 14); + nInv.addItemStack(createItem(role, "Unban", Materials.RED_DYE.parseItem()), 13); + nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 14); nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 15); nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 16); nInv.addItemStack(createItem(role, "MainSpawn", new ItemStack(Material.EMERALD)), 20); @@ -377,7 +377,7 @@ public class Settings { if (mainConfig.getFileConfiguration().getBoolean("Island.WorldBorder.Enable")) { nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10); nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11); - nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 12); + nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12); nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 13); nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 14); nInv.addItemStack(createItem(role, "Coop", new ItemStack(Material.NAME_TAG)), 15); @@ -391,7 +391,7 @@ public class Settings { } else { nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10); nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11); - nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 12); + nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12); nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 13); nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 14); nInv.addItemStack(createItem(role, "Coop", new ItemStack(Material.NAME_TAG)), 15); @@ -408,7 +408,7 @@ public class Settings { if (mainConfig.getFileConfiguration().getBoolean("Island.WorldBorder.Enable")) { nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 10); nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 11); - nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 12); + nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 12); nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 13); nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 14); nInv.addItemStack(createItem(role, "MainSpawn", new ItemStack(Material.EMERALD)), 15); @@ -422,7 +422,7 @@ public class Settings { } else { nInv.addItemStack(createItem(role, "Invite", Materials.WRITABLE_BOOK.parseItem()), 9); nInv.addItemStack(createItem(role, "Kick", new ItemStack(Material.IRON_DOOR)), 10); - nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Material.SIGN)), 11); + nInv.addItemStack(createItem(role, "Visitor", new ItemStack(Materials.OAK_SIGN.parseMaterial())), 11); nInv.addItemStack(createItem(role, "Member", new ItemStack(Material.PAINTING)), 12); nInv.addItemStack(createItem(role, "Island", Materials.OAK_SAPLING.parseItem()), 13); nInv.addItemStack(createItem(role, "MainSpawn", new ItemStack(Material.EMERALD)), 14); @@ -451,7 +451,7 @@ public class Settings { nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14); nInv.addItemStack( createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15); - nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16); + nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 16); nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17); } else { nInv.addItemStack( @@ -465,7 +465,7 @@ public class Settings { nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15); nInv.addItemStack( createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 16); - nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 17); + nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 17); } } else { if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) { @@ -508,7 +508,7 @@ public class Settings { nInv.addItemStack( createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14); nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15); - nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16); + nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 16); nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17); } else { nInv.addItemStack( @@ -521,7 +521,7 @@ public class Settings { nInv.addItemStack( createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14); nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15); - nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16); + nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 16); } } else { if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) { @@ -564,7 +564,7 @@ public class Settings { nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14); nInv.addItemStack( createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15); - nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16); + nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 16); nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 17); } else { nInv.addItemStack( @@ -578,7 +578,7 @@ public class Settings { nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14); nInv.addItemStack( createItem(role, "KeepItemsOnDeath", new ItemStack(Material.ITEM_FRAME)), 15); - nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16); + nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 16); } } else { if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) { @@ -620,7 +620,7 @@ public class Settings { nInv.addItemStack( createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 13); nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 14); - nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 15); + nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 15); nInv.addItemStack(createItem(role, "Hunger", new ItemStack(Material.COOKED_BEEF)), 16); } else { nInv.addItemStack( @@ -632,7 +632,7 @@ public class Settings { nInv.addItemStack( createItem(role, "FireSpread", new ItemStack(Material.FLINT_AND_STEEL)), 14); nInv.addItemStack(createItem(role, "LeafDecay", Materials.OAK_LEAVES.parseItem()), 15); - nInv.addItemStack(createItem(role, "Damage", Materials.ROSE_RED.parseItem()), 16); + nInv.addItemStack(createItem(role, "Damage", Materials.RED_DYE.parseItem()), 16); } } else { if (mainConfig.getFileConfiguration().getBoolean("Island.Settings.Hunger.Enable")) { diff --git a/src/main/java/me/goodandevil/skyblock/utils/item/MaterialUtil.java b/src/main/java/me/goodandevil/skyblock/utils/item/MaterialUtil.java index c99efbb8..b46678c3 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/item/MaterialUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/item/MaterialUtil.java @@ -15,8 +15,8 @@ public class MaterialUtil { material = Material.GRASS; } else if (material == Materials.LEGACY_NETHER_WARTS.getPostMaterial()) { material = Materials.LEGACY_NETHER_STALK.getPostMaterial(); - } else if (material == Materials.LEGACY_SIGN_POST.getPostMaterial() || material == Material.WALL_SIGN) { - material = Material.SIGN; + } else if (material == Materials.LEGACY_SIGN_POST.getPostMaterial() || material == Materials.OAK_WALL_SIGN.parseMaterial()) { + material = Materials.OAK_SIGN.parseMaterial(); } else if (material == Materials.LEGACY_SUGAR_CANE_BLOCK.getPostMaterial()) { material = Material.SUGAR_CANE; } else if (material == Material.TRIPWIRE) { diff --git a/src/main/java/me/goodandevil/skyblock/utils/item/nInventoryUtil.java b/src/main/java/me/goodandevil/skyblock/utils/item/nInventoryUtil.java index 792d8ccd..52986a0e 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/item/nInventoryUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/item/nInventoryUtil.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import me.goodandevil.skyblock.utils.version.NMSUtil; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; diff --git a/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java b/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java index 6fe2e5fd..9ea33aa5 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java +++ b/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java @@ -21,13 +21,18 @@ public enum Materials { ACACIA_PRESSURE_PLATE("WOOD_PLATE", 0, true), ACACIA_SAPLING("SAPLING", 4), ACACIA_SLAB("WOOD_STEP", 4), + ACACIA_SIGN("STONE", 0, true), ACACIA_STAIRS("ACACIA_STAIRS", 4), ACACIA_TRAPDOOR("TRAP_DOOR", 0, true), + ACACIA_WALL_SIGN("STONE", 0, true), ACACIA_WOOD("LOG_2", 0), ACTIVATOR_RAIL("ACTIVATOR_RAIL", 0), AIR("AIR", 0), ALLIUM("STONE", 0, true), ANDESITE("STONE", 5), + ANDESITE_SLAB("STONE", 0, true), + ANDESITE_STAIRS("STONE", 0, true), + ANDESITE_WALL("STONE", 0, true), ANVIL("ANVIL", 0), APPLE("APPLE", 0), ARMOR_STAND("ARMOR_STAND", 0), @@ -36,11 +41,15 @@ public enum Materials { ATTACHED_PUMPKIN_STEM("PUMPKIN_STEM", 7), AZURE_BLUET("RED_ROSE", 3), BAKED_POTATO("BAKED_POTATO", 0), + BAMBOO("STONE", 0, true), + BAMBOO_SAPLING("STONE", 0, true), + BARREL("STONE", 0, true), BARRIER("BARRIER", 0), BAT_SPAWN_EGG("MONSTER_EGG", 0), BEACON("BEACON", 0), BEDROCK("BEDROCK", 0), BEEF("RAW_BEEF", 0), + BELL("STONE", 0, true), BEETROOT("BEETROOT", 0), BEETROOTS("BEETROOT", 0), BEETROOT_SEEDS("BEETROOT_SEEDS", 0), @@ -55,15 +64,18 @@ public enum Materials { BIRCH_PLANKS("WOOD", 2), BIRCH_PRESSURE_PLATE("WOOD_PLATE", 0, true), BIRCH_SAPLING("SAPLING", 2), + BIRCH_SIGN("STONE", 0, true), BIRCH_SLAB("WOOD_STEP", 2), BIRCH_STAIRS("BIRCH_WOOD_STAIRS", 0), BIRCH_TRAPDOOR("TRAP_DOOR", 0, true), + BIRCH_WALL_SIGN("STONE", 0, true), BIRCH_WOOD("LOG", 2), BLACK_BANNER("BANNER", 0), BLACK_BED("BED", 15), BLACK_CARPET("CARPET", 15), BLACK_CONCRETE("CONCRETE", 15), BLACK_CONCRETE_POWDER("CONCRETE_POWDER", 15), + BLACK_DYE("STONE", 0, true), BLACK_GLAZED_TERRACOTTA("BLACK_GLAZED_TERRACOTTA", 0), BLACK_SHULKER_BOX("BLACK_SHULKER_BOX", 0), BLACK_STAINED_GLASS("STAINED_GLASS", 15), @@ -71,6 +83,7 @@ public enum Materials { BLACK_TERRACOTTA("STAINED_CLAY", 15), BLACK_WALL_BANNER("WALL_BANNER", 0), BLACK_WOOL("WOOL", 15), + BLAST_FURNACE("STONE", 0, true), BLAZE_POWDER("BLAZE_POWDER", 0), BLAZE_ROD("BLAZE_ROD", 0), BLAZE_SPAWN_EGG("MONSTER_EGG", 0), @@ -79,6 +92,7 @@ public enum Materials { BLUE_CARPET("CARPET", 11), BLUE_CONCRETE("CONCRETE", 11), BLUE_CONCRETE_POWDER("CONCRETE_POWDER", 11), + BLUE_DYE("STONE", 0, true), BLUE_GLAZED_TERRACOTTA("BLUE_GLAZED_TERRACOTTA", 0), BLUE_ICE("PACKED_ICE", 0, true), BLUE_ORCHID("RED_ROSE", 1), @@ -107,11 +121,13 @@ public enum Materials { BRICKS("BRICK", 0), BRICK_SLAB("STEP", 4), BRICK_STAIRS("BRICK_STAIRS", 0), + BRICK_WALL("STONE", 0, true), BROWN_BANNER("BANNER", 3), BROWN_BED("BED", 12), BROWN_CARPET("CARPET", 12), BROWN_CONCRETE("CONCRETE", 12), BROWN_CONCRETE_POWDER("CONCRETE_POWDER", 12), + BROWN_DYE("STONE", 0, true), BROWN_GLAZED_TERRACOTTA("BROWN_GLAZED_TERRACOTTA", 0), BROWN_MUSHROOM("BROWN_MUSHROOM", 0), BROWN_MUSHROOM_BLOCK("HUGE_MUSHROOM_1", 0), // UNSURE @@ -130,12 +146,14 @@ public enum Materials { DEAD_BUBBLE_CORAL_WALL_FAN("STONE", 0, true), BUCKET("BUCKET", 0), CACTUS("CACTUS", 0), - CACTUS_GREEN("INK_SACK", 2), CAKE("CAKE", 0), + CAMPFIRE("STONE", 0, true), CARROT("CARROT_ITEM", 0), CARROTS("CARROT", 0), CARROT_ON_A_STICK("CARROT_STICK", 0), + CARTOGRAPHY_TABLE("STONE", 0, true), CARVED_PUMPKIN("PUMPKIN", 0), + CAT_SPAWN_EGG("STONE", 0, true), CAULDRON("CAULDRON", 0), CAVE_AIR("AIR", 0, true), CAVE_SPIDER_SPAWN_EGG("MONSTER_EGG", 0), @@ -178,7 +196,9 @@ public enum Materials { COMMAND_BLOCK_MINECART("COMMAND_MINECART", 0), COMPARATOR("REDSTONE_COMPARATOR", 0), COMPASS("COMPASS", 0), + COMPOSTER("STONE", 0, true), CONDUIT("STONE", 0, true), + CORNFLOWER("STONE", 0, true), COOKED_BEEF("COOKED_BEEF", 0), COOKED_CHICKEN("COOKED_CHICKEN", 0), COOKED_COD("COOKED_FISH", 0), @@ -190,11 +210,15 @@ public enum Materials { COW_SPAWN_EGG("MONSTER_EGG", 0), CRACKED_STONE_BRICKS("SMOOTH_BRICK", 2), CRAFTING_TABLE("WORKBENCH", 0), + CREEPER_BANNER_PATTERN("STONE", 0, true), CREEPER_HEAD("SKULL", 0), CREEPER_SPAWN_EGG("MONSTER_EGG", 0), CREEPER_WALL_HEAD("SKULL", 0), + CROSSBOW("STONE", 0, true), CUT_RED_SANDSTONE("STONE", 0, true), + CUT_RED_SANDSTONE_SLAB("STONE", 0, true), CUT_SANDSTONE("STONE", 0, true), + CUT_SANDSTONE_SLAB("STONE", 0, true), CYAN_BANNER("BANNER", 6), CYAN_BED("BED", 9), CYAN_CARPET("CARPET", 9), @@ -210,7 +234,6 @@ public enum Materials { CYAN_WOOL("WOOL", 9), DAMAGED_ANVIL("ANVIL", 2), DANDELION("YELLOW_FLOWER", 0), - DANDELION_YELLOW("INK_SACK", 11), DARK_OAK_BOAT("BOAT_DARK_OAK", 0), DARK_OAK_BUTTON("WOOD_BUTTON", 0, true), DARK_OAK_DOOR("DARK_OAK_DOOR", 0), @@ -221,9 +244,11 @@ public enum Materials { DARK_OAK_PLANKS("WOOD", 5), DARK_OAK_PRESSURE_PLATE("WOOD_PLATE", 0, true), DARK_OAK_SAPLING("SAPLING", 5), + DARK_OAK_SIGN("STONE", 0, true), DARK_OAK_SLAB("WOOD_STEP", 0), DARK_OAK_STAIRS("DARK_OAK_STAIRS", 0), DARK_OAK_TRAPDOOR("TRAP_DOOR", 0, true), + DARK_OAK_WALL_SIGN("STONE", 0, true), DARK_OAK_WOOD("LOG_2", 1), DARK_PRISMARINE("PRISMARINE", 2), DARK_PRISMARINE_SLAB("STONE", 0, true), @@ -253,6 +278,9 @@ public enum Materials { DIAMOND_SHOVEL("DIAMOND_SPADE", 0), DIAMOND_SWORD("DIAMOND_SWORD", 0), DIORITE("STONE", 3), + DIORITE_SLAB("STONE", 0, true), + DIORITE_STAIRS("STONE", 0, true), + DIORITE_WALL("STONE", 0, true), DIRT("DIRT", 0), DISPENSER("DISPENSER", 0), DOLPHIN_SPAWN_EGG("MONSTER_EGG", 0), @@ -285,6 +313,9 @@ public enum Materials { END_PORTAL_FRAME("ENDER_PORTAL_FRAME", 0), END_ROD("END_ROD", 0), END_STONE("ENDER_STONE", 0), + END_STONE_BRICK_SLAB("STONE", 0, true), + END_STONE_BRICK_STAIRS("STONE", 0, true), + END_STONE_BRICK_WALL("STONE", 0, true), END_STONE_BRICKS("END_BRICKS", 0), EVOKER_SPAWN_EGG("MONSTER_EGG", 0), EXPERIENCE_BOTTLE("EXP_BOTTLE", 0), @@ -301,6 +332,9 @@ public enum Materials { FIRE_CORAL_BLOCK("STONE", 0, true), FIRE_CORAL_FAN("STONE", 0, true), FIRE_CORAL_WALL_FAN("STONE", 0, true), + FLETCHING_TABLE("STONE", 0, true), + FLOWER_BANNER_PATTERN("STONE", 0, true), + FOX_SPAWN_EGG("STONE", 0, true), DEAD_FIRE_CORAL_FAN("STONE", 0, true), DEAD_FIRE_CORAL_WALL_FAN("STONE", 0, true), FISHING_ROD("FISHING_ROD", 0), @@ -316,6 +350,7 @@ public enum Materials { GLASS_BOTTLE("GLASS_BOTTLE", 0), GLASS_PANE("THIN_GLASS", 0), GLISTERING_MELON_SLICE("SPECKLED_MELON", 0), + GLOBE_BANNER_PATTERN("STONE", 0, true), GLOWSTONE("GLOWSTONE", 0), GLOWSTONE_DUST("GLOWSTONE_DUST", 0), GOLDEN_APPLE("GOLDEN_APPLE", 0), @@ -335,6 +370,9 @@ public enum Materials { GOLD_NUGGET("GOLD_NUGGET", 0), GOLD_ORE("GOLD_ORE", 0), GRANITE("STONE", 1), + GRANITE_SLAB("STONE", 0, true), + GRANITE_STAIRS("STONE", 0, true), + GRANITE_WALL("STONE", 0, true), GRASS("GRASS", 0), GRASS_BLOCK("GRASS", 0), GRASS_PATH("GRASS_PATH", 0), @@ -357,6 +395,7 @@ public enum Materials { GREEN_CARPET("CARPET", 13), GREEN_CONCRETE("CONCRETE", 13), GREEN_CONCRETE_POWDER("CONCRETE_POWDER", 13), + GREEN_DYE("CACTUS_GREEN", "INK_SACK", 2), GREEN_GLAZED_TERRACOTTA("GREEN_GLAZED_TERRACOTTA", 0), GREEN_SHULKER_BOX("GREEN_SHULKER_BOX", 0), GREEN_STAINED_GLASS("STAINED_GLASS", 13), @@ -364,6 +403,7 @@ public enum Materials { GREEN_TERRACOTTA("STAINED_CLAY", 13), GREEN_WALL_BANNER("WALL_BANNER", 0), GREEN_WOOL("WOOL", 13), + GRINDSTONE("STONE", 0, true), GUARDIAN_SPAWN_EGG("MONSTER_EGG", 0), GUNPOWDER("SULPHUR", 0), HAY_BLOCK("HAY_BLOCK", 0), @@ -406,6 +446,7 @@ public enum Materials { IRON_TRAPDOOR("IRON_TRAPDOOR", 0), ITEM_FRAME("ITEM_FRAME", 0), JACK_O_LANTERN("JACK_O_LANTERN", 0), + JIGSAW("STONE", 0, true), JUKEBOX("JUKEBOX", 0), JUNGLE_BOAT("BOAT_JUNGLE", 0), JUNGLE_BUTTON("WOOD_BUTTON", 0, true), @@ -417,14 +458,17 @@ public enum Materials { JUNGLE_PLANKS("WOOD", 3), JUNGLE_PRESSURE_PLATE("WOOD_PLATE", 0, true), JUNGLE_SAPLING("SAPLING", 3), + JUNGLE_SIGN("STONE", 0, true), JUNGLE_SLAB("WOOD_STEP", 3), JUNGLE_STAIRS("JUNGLE_WOOD_STAIRS", 0), JUNGLE_TRAPDOOR("TRAP_DOOR", 0, true), + JUNGLE_WALL_SIGN("STONE", 0, true), JUNGLE_WOOD("LOG", 3), KELP("STONE", 0, true), KELP_PLANT("STONE", 0, true), KNOWLEDGE_BOOK("KNOWLEDGE_BOOK", 0), LADDER("LADDER", 0), + LANTERN("STONE", 0, true), LAPIS_BLOCK("LAPIS_BLOCK", 0), LAPIS_LAZULI("INK_SACK", 4), LAPIS_ORE("LAPIS_ORE", 0), @@ -436,7 +480,9 @@ public enum Materials { LEATHER_BOOTS("LEATHER_BOOTS", 0), LEATHER_CHESTPLATE("LEATHER_CHESTPLATE", 0), LEATHER_HELMET("LEATHER_HELMET", 0), + LEATHER_HORSE_ARMOR("STONE", 0, true), LEATHER_LEGGINGS("LEATHER_LEGGINGS", 0), + LECTERN("STONE", 0, true), LEGACY_BED_BLOCK("BED_BLOCK", 0), LEGACY_BREWING_STAND("BREWING_STAND_ITEM", 0), LEGACY_BURNING_FURNACE("BURNING_FURNACE", 0), @@ -490,6 +536,7 @@ public enum Materials { LIGHT_WEIGHTED_PRESSURE_PLATE("GOLD_PLATE", 0), LILAC("DOUBLE_PLANT", 1), LILY_PAD("WATER_LILY", 0), + LILY_OF_THE_VALLEY("STONE", 0, true), LIME_BANNER("BANNER", 10), LIME_BED("BED", 5), LIME_CARPET("CARPET", 5), @@ -505,6 +552,7 @@ public enum Materials { LIME_WOOL("WOOL", 5), LINGERING_POTION("LINGERING_POTION", 0), LLAMA_SPAWN_EGG("MONSTER_EGG", 0), + LOOM("STONE", 0, true), MAGENTA_BANNER("BANNER", 13), MAGENTA_BED("BED", 2), MAGENTA_CARPET("CARPET", 2), @@ -528,9 +576,15 @@ public enum Materials { MELON_STEM("MELON_STEM", 0), MILK_BUCKET("MILK_BUCKET", 0), MINECART("MINECART", 0), + MOJANG_BANNER_PATTERN("STONE", 0, true), MOOSHROOM_SPAWN_EGG("MONSTER_EGG", 0), MOSSY_COBBLESTONE("MOSSY_COBBLESTONE", 0), + MOSSY_COBBLESTONE_SLAB("STONE", 0, true), + MOSSY_COBBLESTONE_STAIRS("STONE", 0, true), MOSSY_COBBLESTONE_WALL("COBBLE_WALL", 1), + MOSSY_STONE_BRICK_SLAB("STONE", 0, true), + MOSSY_STONE_BRICK_STAIRS("STONE", 0, true), + MOSSY_STONE_BRICK_WALL("STONE", 0, true), MOSSY_STONE_BRICKS("SMOOTH_BRICK", 1), MOVING_PISTON("PISTON_MOVING_PIECE", 0), MULE_SPAWN_EGG("MONSTER_EGG", 0), @@ -554,6 +608,7 @@ public enum Materials { NAUTILUS_SHELL("STONE", 0, true), NETHERRACK("NETHERRACK", 0), NETHER_BRICK("NETHER_BRICK", 0), + NETHER_BRICK_WALL("STONE", 0, true), NETHER_BRICKS("NETHER_BRICK", 0), NETHER_BRICK_FENCE("NETHER_FENCE", 0), NETHER_BRICK_SLAB("STEP", 6), @@ -574,9 +629,11 @@ public enum Materials { OAK_PLANKS("WOOD", 0), OAK_PRESSURE_PLATE("WOOD_PLATE", 0), OAK_SAPLING("SAPLING", 0), + OAK_SIGN("SIGN", 0), OAK_SLAB("WOOD_STEP", 0), OAK_STAIRS("WOOD_STAIRS", 0), OAK_TRAPDOOR("TRAP_DOOR", 0), + OAK_WALL_SIGN("WALL_SIGN", 0), OAK_WOOD("LOG", 0), OBSERVER("OBSERVER", 0), OBSIDIAN("OBSIDIAN", 0), @@ -598,6 +655,7 @@ public enum Materials { OXEYE_DAISY("RED_ROSE", 8), PACKED_ICE("PACKED_ICE", 0), PAINTING("PAINTING", 0), + PANDA_SPAWN_EGG("STONE", 0, true), PAPER("PAPER", 0), PARROT_SPAWN_EGG("MONSTER_EGG", 0), PEONY("DOUBLE_PLANT", 5), @@ -605,6 +663,7 @@ public enum Materials { PHANTOM_MEMBRANE("STONE", 0, true), PHANTOM_SPAWN_EGG("MONSTER_EGG", 0), PIG_SPAWN_EGG("MONSTER_EGG", 0), + PILLAGER_SPAWN_EGG("STONE", 0, true), PINK_BANNER("BANNER", 9), PINK_BED("BED", 6), PINK_CARPET("CARPET", 6), @@ -627,8 +686,14 @@ public enum Materials { POISONOUS_POTATO("POISONOUS_POTATO", 0), POLAR_BEAR_SPAWN_EGG("MONSTER_EGG", 0), POLISHED_ANDESITE("STONE", 6), + POLISHED_ANDESITE_SLAB("STONE", 0, true), + POLISHED_ANDESITE_STAIRS("STONE", 0, true), POLISHED_DIORITE("STONE", 4), + POLISHED_DIORITE_SLAB("STONE", 0, true), + POLISHED_DIORITE_STAIRS("STONE", 0, true), POLISHED_GRANITE("STONE", 2), + POLISHED_GRANITE_SLAB("STONE", 0, true), + POLISHED_GRANITE_STAIRS("STONE", 0, true), POPPED_CHORUS_FRUIT("CHORUS_FRUIT_POPPED", 0), POPPY("RED_ROSE", 0), PORKCHOP("PORK", 0), @@ -638,15 +703,18 @@ public enum Materials { POTTED_ACACIA_SAPLING("FLOWER_POT", 0, true), POTTED_ALLIUM("FLOWER_POT", 0, true), POTTED_AZURE_BLUET("FLOWER_POT", 0, true), + POTTED_BAMBOO("STONE", 0, true), POTTED_BIRCH_SAPLING("FLOWER_POT", 0, true), POTTED_BLUE_ORCHID("FLOWER_POT", 0, true), POTTED_BROWN_MUSHROOM("FLOWER_POT", 0, true), POTTED_CACTUS("FLOWER_POT", 0, true), + POTTED_CORNFLOWER("STONE", 0, true), POTTED_DANDELION("FLOWER_POT", 0, true), POTTED_DARK_OAK_SAPLING("FLOWER_POT", 0, true), POTTED_DEAD_BUSH("FLOWER_POT", 0, true), POTTED_FERN("FLOWER_POT", 0, true), POTTED_JUNGLE_SAPLING("FLOWER_POT", 0, true), + POTTED_LILY_OF_THE_VALLEY("STONE", 0, true), POTTED_OAK_SAPLING("FLOWER_POT", 0, true), POTTED_ORANGE_TULIP("FLOWER_POT", 0, true), POTTED_OXEYE_DAISY("FLOWER_POT", 0, true), @@ -656,6 +724,7 @@ public enum Materials { POTTED_RED_TULIP("FLOWER_POT", 0, true), POTTED_SPRUCE_SAPLING("FLOWER_POT", 0, true), POTTED_WHITE_TULIP("FLOWER_POT", 0, true), + POTTED_WITHER_ROSE("STONE", 0, true), POWERED_RAIL("POWERED_RAIL", 0), PRISMARINE("PRISMARINE", 0), PRISMARINE_BRICKS("PRISMARINE", 1), @@ -665,6 +734,7 @@ public enum Materials { PRISMARINE_SHARD("PRISMARINE_SHARD", 0), PRISMARINE_SLAB("STONE", 0, true), PRISMARINE_STAIRS("STONE", 0, true), + PRISMARINE_WALL("STONE", 0, true), PUFFERFISH("RAW_FISH", 3), PUFFERFISH_BUCKET("STONE", 0, true), PUFFERFISH_SPAWN_EGG("MONSTER_EGG", 0), @@ -700,6 +770,7 @@ public enum Materials { RABBIT_SPAWN_EGG("MONSTER_EGG", 0), RABBIT_STEW("RABBIT_STEW", 0), RAIL("RAILS", 0), + RAVAGER_SPAWN_EGG("STONE", 0, true), REDSTONE("REDSTONE", 0), REDSTONE_BLOCK("REDSTONE_BLOCK", 0), REDSTONE_LAMP("REDSTONE_LAMP_OFF", 0), @@ -712,14 +783,19 @@ public enum Materials { RED_CARPET("CARPET", 14), RED_CONCRETE("CONCRETE", 14), RED_CONCRETE_POWDER("CONCRETE_POWDER", 14), + RED_DYE("ROSE_RED", "INK_SACK", 1), RED_GLAZED_TERRACOTTA("RED_GLAZED_TERRACOTTA", 0), RED_MUSHROOM("RED_MUSHROOM", 0), RED_MUSHROOM_BLOCK("HUGE_MUSHROOM_2", 0), + RED_NETHER_BRICK_SLAB("STONE", 0, true), + RED_NETHER_BRICK_STAIRS("STONE", 0, true), + RED_NETHER_BRICK_WALL("STONE", 0, true), RED_NETHER_BRICKS("RED_NETHER_BRICK", 0), RED_SAND("SAND", 1), RED_SANDSTONE("RED_SANDSTONE", 0), RED_SANDSTONE_SLAB("STONE_SLAB2", 0), RED_SANDSTONE_STAIRS("RED_SANDSTONE_STAIRS", 0), + RED_SANDSTONE_WALL("STONE", 0, true), RED_SHULKER_BOX("RED_SHULKER_BOX", 0), RED_STAINED_GLASS("STAINED_GLASS", 14), RED_STAINED_GLASS_PANE("STAINED_GLASS_PANE", 14), @@ -730,7 +806,6 @@ public enum Materials { REPEATER("DIODE", 0), REPEATING_COMMAND_BLOCK("COMMAND_REPEATING", 0), ROSE_BUSH("DOUBLE_PLANT", 4), - ROSE_RED("INK_SACK", 1), ROTTEN_FLESH("ROTTEN_FLESH", 0), SADDLE("SADDLE", 0), SALMON("RAW_FISH", 1), @@ -740,6 +815,8 @@ public enum Materials { SANDSTONE("SANDSTONE", 0), SANDSTONE_SLAB("STEP", 1), SANDSTONE_STAIRS("SANDSTONE_STAIRS", 0), + SANDSTONE_WALL("STONE", 0, true), + SCAFFOLDING("STONE", 0, true), SCUTE("STONE", 0, true), SEAGRASS("STONE", 0, true), SEA_LANTERN("SEA_LANTERN", 0), @@ -750,19 +827,28 @@ public enum Materials { SHULKER_BOX("PURPLE_SHULKER_BOX", 0), SHULKER_SHELL("SHULKER_SHELL", 0), SHULKER_SPAWN_EGG("MONSTER_EGG", 0), - SIGN("SIGN", 0), SILVERFISH_SPAWN_EGG("MONSTER_EGG", 0), SKELETON_HORSE_SPAWN_EGG("MONSTER_EGG", 0), SKELETON_SKULL("SKULL", 0), SKELETON_SPAWN_EGG("MONSTER_EGG", 0), SKELETON_WALL_SKULL("SKULL", 0), + SKULL_BANNER_PATTERN("STONE", 0, true), SLIME_BALL("SLIME_BALL", 0), SLIME_BLOCK("SLIME_BLOCK", 0), SLIME_SPAWN_EGG("MONSTER_EGG", 0), + SMITHING_TABLE("STONE", 0, true), + SMOKER("STONE", 0, true), SMOOTH_QUARTZ("STONE", 0, true), + SMOOTH_QUARTZ_SLAB("STONE", 0, true), + SMOOTH_QUARTZ_STAIRS("STONE", 0, true), SMOOTH_RED_SANDSTONE("RED_SANDSTONE", 2), + SMOOTH_RED_SANDSTONE_SLAB("STONE", 0, true), + SMOOTH_RED_SANDSTONE_STAIRS("STONE", 0, true), SMOOTH_SANDSTONE("SANDSTONE", 2), + SMOOTH_SANDSTONE_SLAB("STONE", 0, true), + SMOOTH_SANDSTONE_STAIRS("STONE", 0, true), SMOOTH_STONE("STEP", 0), + SMOOTH_STONE_SLAB("STONE", 0, true), SNOW("SNOW", 0), SNOWBALL("SNOW_BALL", 0), SNOW_BLOCK("SNOW_BLOCK", 0), @@ -840,24 +926,29 @@ public enum Materials { SPRUCE_PLANKS("WOOD", 1), SPRUCE_PRESSURE_PLATE("WOOD_PLATE", 0, true), SPRUCE_SAPLING("SAPLING", 1), + SPRUCE_SIGN("STONE", 0, true), SPRUCE_SLAB("WOOD_STEP", 1), SPRUCE_STAIRS("SPRUCE_WOOD_STAIRS", 0), SPRUCE_TRAPDOOR("TRAP_DOOR", 0, true), + SPRUCE_WALL_SIGN("STONE", 0, true), SPRUCE_WOOD("LOG", 1), SQUID_SPAWN_EGG("MONSTER_EGG", 0), STICK("STICK", 0), STICKY_PISTON("PISTON_STICKY_BASE", 0), STONE("STONE", 0), + STONECUTTER("STONE", 0, true), STONE_AXE("STONE_AXE", 0), STONE_BRICKS("SMOOTH_BRICK", 0), STONE_BRICK_SLAB("STEP", 5), STONE_BRICK_STAIRS("SMOOTH_STAIRS", 0), + STONE_BRICK_WALL("STONE", 0, true), STONE_BUTTON("STONE_BUTTON", 0), STONE_HOE("STONE_HOE", 0), STONE_PICKAXE("STONE_PICKAXE", 0), STONE_PRESSURE_PLATE("STONE_PLATE", 0), STONE_SHOVEL("STONE_SPADE", 0), STONE_SLAB("STEP", 0), + STONE_STAIRS("STONE", 0, true), STONE_SWORD("STONE_SWORD", 0), STRAY_SPAWN_EGG("MONSTER_EGG", 0), STRING("STRING", 0), @@ -878,6 +969,9 @@ public enum Materials { SUGAR("SUGAR", 0), SUGAR_CANE("SUGAR_CANE", 0), SUNFLOWER("DOUBLE_PLANT", 0), + SUSPICIOUS_STEW("STONE", 0, true), + SWEET_BERRIES("STONE", 0, true), + SWEET_BERRY_BUSH("STONE", 0, true), TALL_GRASS("DOUBLE_PLANT", 2), TALL_SEAGRASS("STONE", 0, true), TERRACOTTA("HARD_CLAY", 0), @@ -886,6 +980,7 @@ public enum Materials { TNT_MINECART("EXPLOSIVE_MINECART", 0), TORCH("TORCH", 0), TOTEM_OF_UNDYING("TOTEM", 0), + TRADER_LLAMA_SPAWN_EGG("STONE", 0, true), TRAPPED_CHEST("TRAPPED_CHEST", 0), TRIDENT("STONE", 0, true), TRIPWIRE("TRIPWIRE", 0), @@ -907,6 +1002,7 @@ public enum Materials { VOID_AIR("AIR", 0, true), WALL_SIGN("WALL_SIGN", 0), WALL_TORCH("TORCH", 1), + WANDERING_TRADER_SPAWN_EGG("STONE", 0, true), WATER("WATER", 0), WATER_BUCKET("WATER_BUCKET", 0), WET_SPONGE("SPONGE", 1), @@ -917,6 +1013,7 @@ public enum Materials { WHITE_CARPET("CARPET", 0), WHITE_CONCRETE("CONCRETE", 0), WHITE_CONCRETE_POWDER("CONCRETE_POWDER", 0), + WHITE_DYE("STONE", 0, true), WHITE_GLAZED_TERRACOTTA("WHITE_GLAZED_TERRACOTTA", 0), WHITE_SHULKER_BOX("WHITE_SHULKER_BOX", 0), WHITE_STAINED_GLASS("STAINED_GLASS", 0), @@ -926,6 +1023,7 @@ public enum Materials { WHITE_WALL_BANNER("WALL_BANNER", 0), WHITE_WOOL("WOOL", 0), WITCH_SPAWN_EGG("MONSTER_EGG", 0), + WITHER_ROSE("STONE", 0, true), WITHER_SKELETON_SKULL("SKULL", 0), WITHER_SKELETON_SPAWN_EGG("MONSTER_EGG", 0), WITHER_SKELETON_WALL_SKULL("SKULL", 0), @@ -942,6 +1040,7 @@ public enum Materials { YELLOW_CARPET("CARPET", 4), YELLOW_CONCRETE("CONCRETE", 4), YELLOW_CONCRETE_POWDER("CONCRETE_POWDER", 4), + YELLOW_DYE("DANDELION_YELLOW", "INK_SACK", 11), YELLOW_GLAZED_TERRACOTTA("YELLOW_GLAZED_TERRACOTTA", 0), YELLOW_SHULKER_BOX("YELLOW_SHULKER_BOX", 0), YELLOW_STAINED_GLASS("STAINED_GLASS", 4), @@ -956,18 +1055,28 @@ public enum Materials { ZOMBIE_VILLAGER_SPAWN_EGG("MONSTER_EGG", 0), ZOMBIE_WALL_HEAD("SKULL", 0); - String m; + String old13Mat; + String old12Mat; int data; - boolean is13only; + boolean is13Plusonly; - Materials(String m, int data) { - this(m, data, false); + Materials(String old13Mat, String old12Mat, int data) { + this(old13Mat, old12Mat, data, false); + } + + Materials(String old13Mat, String old12Mat, int data, boolean is13Plusonly) { + this.old13Mat = old13Mat; + this.old12Mat = old12Mat; + this.data = data; + this.is13Plusonly = is13Plusonly; + } + + Materials(String old12Mat, int data) { + this(null, old12Mat, data, false); } - Materials(String m, int data, boolean is13only) { - this.m = m; - this.data = data; - this.is13only = is13only; + Materials(String old12Mat, int data, boolean is13Plusonly) { + this(null, old12Mat, data, is13Plusonly); } @SuppressWarnings("deprecation") @@ -1008,7 +1117,7 @@ public enum Materials { return false; } - return isNewVersion() || !this.is13only; + return isNewVersion() || !this.is13Plusonly; } private static HashMap cachedSearch = new HashMap<>(); @@ -1021,13 +1130,13 @@ public enum Materials { Materials pmat = null; for (Materials mat : Materials.values()) { - if (name.toUpperCase().equals(mat.m)) { + if (name.toUpperCase().equals(mat.old12Mat)) { if (pmat == null) { pmat = mat; } if (((byte) mat.data) == data) { - cachedSearch.put(mat.m + "," + data, mat); + cachedSearch.put(mat.old12Mat + "," + data, mat); return mat; } } @@ -1070,7 +1179,7 @@ public enum Materials { return Materials.valueOf(mat.toString()); } catch (IllegalArgumentException e) { for (Materials xmat : Materials.values()) { - if (xmat.m.equals(mat.toString())) { + if (xmat.old12Mat.equals(mat.toString())) { return xmat; } } @@ -1106,35 +1215,22 @@ public enum Materials { String[] split = type.toString().split("_"); int length = split.length; switch (split[length - 1]) { - case "HELMET": - return true; - case "CHESTPLATE": - return true; - case "LEGGINGS": - return true; - case "BOOTS": - return true; - case "SWORD": - return true; - case "AXE": - return true; - case "PICKAXE": - return true; - case "SHOVEL": - return true; - case "HOE": - return true; - case "ELYTRA": - return true; - case "TURTLE_HELMET": - return true; - case "TRIDENT": - return true; - case "HORSE_ARMOR": - return true; - case "SHEARS": - return true; - default: + case "HELMET": + case "SHEARS": + case "HORSE_ARMOR": + case "TRIDENT": + case "TURTLE_HELMET": + case "ELYTRA": + case "HOE": + case "SHOVEL": + case "PICKAXE": + case "AXE": + case "SWORD": + case "BOOTS": + case "LEGGINGS": + case "CHESTPLATE": + return true; + default: return false; } } @@ -1149,7 +1245,13 @@ public enum Materials { return mat; } - return Material.matchMaterial(m); + if (old13Mat != null) + mat = Material.matchMaterial(old13Mat); + + if (mat != null) + return mat; + + return Material.matchMaterial(old12Mat); } public Material getPostMaterial() { @@ -1159,7 +1261,7 @@ public enum Materials { Method fromLegacy = unsafe.getClass().getMethod("fromLegacy", Material.class); if (fromLegacy != null) { - return (Material) fromLegacy.invoke(unsafe, Material.getMaterial("LEGACY_" + m)); + return (Material) fromLegacy.invoke(unsafe, Material.getMaterial("LEGACY_" + old12Mat)); } } catch (Exception e) { } @@ -1174,7 +1276,7 @@ public enum Materials { Method fromLegacy = unsafe.getClass().getMethod("fromLegacy", Material.class); if (fromLegacy != null) { - return new ItemStack((Material) fromLegacy.invoke(unsafe, Material.getMaterial("LEGACY_" + m))); + return new ItemStack((Material) fromLegacy.invoke(unsafe, Material.getMaterial("LEGACY_" + old12Mat))); } } catch (Exception e) { } diff --git a/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockData.java b/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockData.java index 2363390d..4fa58411 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockData.java +++ b/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockData.java @@ -29,7 +29,7 @@ public class BlockData { private String commandBlockName = ""; private String entity = EntityType.COW.toString(); private String exitLocation = ""; - private String flower = Materials.ROSE_RED.parseMaterial().toString() + ":0"; + private String flower = Materials.RED_DYE.parseMaterial().toString() + ":0"; private String playing = Materials.MUSIC_DISC_CHIRP.parseMaterial().toString(); private String[] signLines = {}; private String rotateFace = BlockFace.NORTH.toString(); diff --git a/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockUtil.java b/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockUtil.java index 0aaa4718..6fc3ac87 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockUtil.java @@ -60,15 +60,6 @@ public final class BlockUtil { String secondaryEffectName = beacon.getSecondaryEffect() != null ? beacon.getSecondaryEffect().toString() : "null"; blockData.setPotionEffect(primaryEffectName + ":" + secondaryEffectName); - - for (int i = 0; i < beacon.getInventory().getSize(); i++) { - ItemStack is = beacon.getInventory().getItem(i); - - if (is != null && is.getType() != Material.AIR) { - blockData.addItem(i, ItemStackUtil.serializeItemStack(is)); - } - } - blockData.setStateType(BlockStateType.BEACON.toString()); } else if (blockState instanceof BrewingStand) { BrewingStand brewingStand = (BrewingStand) blockState; @@ -309,13 +300,6 @@ public final class BlockUtil { if (!potionEffect[1].equals("null")) { beacon.setSecondaryEffect(PotionEffectType.getByName(potionEffect[1].toUpperCase())); } - - for (Integer slotList : blockData.getInventory().keySet()) { - if (slotList < beacon.getInventory().getSize()) { - ItemStack is = ItemStackUtil.deserializeItemStack(blockData.getInventory().get(slotList)); - beacon.getInventory().setItem(slotList, is); - } - } } else if (blockTypeState == BlockStateType.BREWINGSTAND) { BrewingStand brewingStand = (BrewingStand) block.getState(); brewingStand.setBrewingTime(blockData.getBrewingTime()); diff --git a/src/main/java/me/goodandevil/skyblock/utils/world/entity/EntityData.java b/src/main/java/me/goodandevil/skyblock/utils/world/entity/EntityData.java index 26bfdce2..6a68819e 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/world/entity/EntityData.java +++ b/src/main/java/me/goodandevil/skyblock/utils/world/entity/EntityData.java @@ -51,7 +51,6 @@ public class EntityData { private int llamaStrength; private int angerLevel; private int slimeSize; - private int riches; private int age; private boolean arms; @@ -449,14 +448,6 @@ public class EntityData { this.slimeSize = slimeSize; } - public int getRiches() { - return this.riches; - } - - public void setRiches(int riches) { - this.riches = riches; - } - public int getAge() { return this.age; } diff --git a/src/main/java/me/goodandevil/skyblock/utils/world/entity/EntityUtil.java b/src/main/java/me/goodandevil/skyblock/utils/world/entity/EntityUtil.java index af67d866..1a1e9119 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/world/entity/EntityUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/world/entity/EntityUtil.java @@ -1,8 +1,9 @@ package me.goodandevil.skyblock.utils.world.entity; -import java.util.ArrayList; -import java.util.List; - +import me.goodandevil.skyblock.utils.item.ItemStackUtil; +import me.goodandevil.skyblock.utils.item.MaterialUtil; +import me.goodandevil.skyblock.utils.version.NMSUtil; +import me.goodandevil.skyblock.utils.world.block.BlockDegreesType; import org.bukkit.Art; import org.bukkit.Bukkit; import org.bukkit.DyeColor; @@ -10,7 +11,32 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Rotation; import org.bukkit.TreeSpecies; -import org.bukkit.entity.*; +import org.bukkit.entity.Ageable; +import org.bukkit.entity.ArmorStand; +import org.bukkit.entity.Bat; +import org.bukkit.entity.Boat; +import org.bukkit.entity.Creeper; +import org.bukkit.entity.Enderman; +import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Hanging; +import org.bukkit.entity.Horse; +import org.bukkit.entity.IronGolem; +import org.bukkit.entity.ItemFrame; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Llama; +import org.bukkit.entity.Ocelot; +import org.bukkit.entity.Painting; +import org.bukkit.entity.Parrot; +import org.bukkit.entity.Pig; +import org.bukkit.entity.PigZombie; +import org.bukkit.entity.Rabbit; +import org.bukkit.entity.Sheep; +import org.bukkit.entity.Slime; +import org.bukkit.entity.Snowman; +import org.bukkit.entity.Vehicle; +import org.bukkit.entity.Villager; +import org.bukkit.entity.Zombie; import org.bukkit.entity.minecart.HopperMinecart; import org.bukkit.entity.minecart.StorageMinecart; import org.bukkit.inventory.EntityEquipment; @@ -20,10 +46,8 @@ import org.bukkit.material.Colorable; import org.bukkit.material.MaterialData; import org.bukkit.util.EulerAngle; -import me.goodandevil.skyblock.utils.item.ItemStackUtil; -import me.goodandevil.skyblock.utils.item.MaterialUtil; -import me.goodandevil.skyblock.utils.version.NMSUtil; -import me.goodandevil.skyblock.utils.world.block.BlockDegreesType; +import java.util.ArrayList; +import java.util.List; @SuppressWarnings("deprecation") public final class EntityUtil { @@ -191,7 +215,6 @@ public final class EntityUtil { } else if (entity instanceof Villager) { Villager villager = ((Villager) entity); entityData.setProfession(villager.getProfession().toString()); - entityData.setRiches(villager.getRiches()); List items = new ArrayList<>(); @@ -443,7 +466,6 @@ public final class EntityUtil { } villager.getInventory().setContents(items.toArray(new ItemStack[0])); - villager.setRiches(entityData.getRiches()); } if (NMSVersion > 10) { diff --git a/src/main/resources/levelling.yml b/src/main/resources/levelling.yml index f2076731..c8d20eb3 100644 --- a/src/main/resources/levelling.yml +++ b/src/main/resources/levelling.yml @@ -25,6 +25,7 @@ Materials: ACACIA_STAIRS: Points: 2 ACACIA_TRAPDOOR: + Points: 3 ACACIA_WOOD: Points: 1 ACTIVATOR_RAIL: @@ -33,6 +34,12 @@ Materials: Points: 1 ANDESITE: Points: 1 + ANDESITE_SLAB: + Points: 1 + ANDESITE_STAIRS: + Points: 1 + ANDESITE_WALL: + Points: 1 ANVIL: Points: 10 ATTACHED_MELON_STEM: @@ -43,12 +50,20 @@ Materials: Points: 1 BARRIER: Points: 0 + BAMBOO: + Points: 1 + BAMBOO_SAPLING: + Points: 1 + BARREL: + Points: 1 BEACON: Points: 500 BEDROCK: Points: 0 BEETROOTS: Points: 1 + BELL: + Points: 7 BIRCH_BUTTON: Points: 1 BIRCH_DOOR: @@ -67,12 +82,16 @@ Materials: Points: 2 BIRCH_SAPLING: Points: 1 + BIRCH_SIGN: + Points: 6 BIRCH_SLAB: Points: 1 BIRCH_STAIRS: Points: 2 BIRCH_TRAPDOOR: Points: 3 + BIRCH_WALL_SIGN: + Points: 6 BIRCH_WOOD: Points: 1 BLACK_BANNER: @@ -99,6 +118,8 @@ Materials: Points: 2 BLACK_WOOL: Points: 2 + BLAST_FURNACE: + Points: 6 BLUE_BANNER: Points: 2 BLUE_BED: @@ -147,6 +168,8 @@ Materials: Points: 3 BRICK_STAIRS: Points: 5 + BRICK_WALL: + Points: 3 BROWN_BANNER: Points: 2 BROWN_BED: @@ -187,10 +210,14 @@ Materials: Points: 1 CACTUS: Points: 1 + CAMPFIRE: + Points: 2 CAKE: Points: 9 CARROTS: Points: 1 + CARTOGRAPHY_TABLE: + Points: 5 CARVED_PUMPKIN: Points: 2 CAULDRON: @@ -239,8 +266,12 @@ Materials: Points: 0 COMPARATOR: Points: 10 + COMPOSTER: + Points: 4 CONDUIT: Points: 1 + CORNFLOWER: + Points: 1 CRACKED_STONE_BRICKS: Points: 2 CRAFTING_TABLE: @@ -251,8 +282,12 @@ Materials: Points: 1 CUT_RED_SANDSTONE: Points: 1 + CUT_RED_SANDSTONE_SLAB: + Points: 1 CUT_SANDSTONE: Points: 1 + CUT_SANDSTONE_SLAB: + Points: 1 CYAN_BANNER: Points: 2 CYAN_BED: @@ -299,12 +334,16 @@ Materials: Points: 2 DARK_OAK_SAPLING: Points: 1 + DARK_OAK_SIGN: + Points: 6 DARK_OAK_SLAB: Points: 1 DARK_OAK_STAIRS: Points: 2 DARK_OAK_TRAPDOOR: Points: 3 + DARK_OAK_WALL_SIGN: + Points: 6 DARK_OAK_WOOD: Points: 1 DARK_PRISMARINE: @@ -355,6 +394,12 @@ Materials: Points: 1 DIORITE: Points: 1 + DIORITE_SLAB: + Points: 1 + DIORITE_STAIRS: + Points: 1 + DIORITE_WALL: + Points: 1 DIRT: Points: 3 DISPENSER: @@ -387,6 +432,12 @@ Materials: Points: 1 END_STONE: Points: 1 + END_STONE_BRICK_SLAB: + Points: 1 + END_STONE_BRICK_STAIRS: + Points: 1 + END_STONE_BRICK_WALL: + Points: 1 END_STONE_BRICKS: Points: 2 FARMLAND: @@ -403,6 +454,8 @@ Materials: Points: 1 FIRE_CORAL_WALL_FAN: Points: 1 + FLETCHING_TABLE: + Points: 4 FLOWER_POT: Points: 1 FROSTED_ICE: @@ -421,6 +474,12 @@ Materials: Points: 1 GRANITE: Points: 1 + GRANITE_SLAB: + Points: 1 + GRANITE_STAIRS: + Points: 1 + GRANITE_WALL: + Points: 1 GRASS: Points: 4 GRASS_BLOCK: @@ -477,6 +536,8 @@ Materials: Points: 2 GREEN_WOOL: Points: 2 + GRINDSTONE: + Points: 4 HAY_BLOCK: Points: 2 HEAVY_WEIGHTED_PRESSURE_PLATE: @@ -517,6 +578,8 @@ Materials: Points: 4 JACK_O_LANTERN: Points: 2 + JIGSAW: + Points: 4 JUKEBOX: Points: 10 JUNGLE_BUTTON: @@ -537,12 +600,16 @@ Materials: Points: 2 JUNGLE_SAPLING: Points: 1 + JUNGLE_SIGN: + Points: 6 JUNGLE_SLAB: Points: 1 JUNGLE_STAIRS: Points: 2 JUNGLE_TRAPDOOR: Points: 3 + JUNGLE_WALL_SIGN: + Points: 6 JUNGLE_WOOD: Points: 1 KELP: @@ -551,14 +618,16 @@ Materials: Points: 1 LADDER: Points: 2 + LANTERN: + Points: 3 LAPIS_BLOCK: Points: 10 LAPIS_ORE: Points: 1 LARGE_FERN: Points: 1 - LAVA: - Points: 0 + LECTERN: + Points: 4 LEVER: Points: 1 LIGHT_BLUE_BANNER: @@ -613,6 +682,8 @@ Materials: Points: 3 LILAC: Points: 1 + LILY_OF_THE_VALLEY: + Points: 1 LILY_PAD: Points: 5 LIME_BANNER: @@ -639,6 +710,8 @@ Materials: Points: 2 LIME_WOOL: Points: 2 + LOOM: + Points: 4 MAGENTA_BANNER: Points: 2 MAGENTA_BED: @@ -671,10 +744,20 @@ Materials: Points: 1 MOSSY_COBBLESTONE: Points: 1 + MOSSY_COBBLESTONE_SLAB: + Points: 1 + MOSSY_COBBLESTONE_STAIRS: + Points: 1 MOSSY_COBBLESTONE_WALL: Points: 1 + MOSSY_STONE_BRICK_SLAB: + Points: 1 + MOSSY_STONE_BRICK_STAIRS: + Points: 1 + MOSSY_STONE_BRICK_WALL: + Points: 1 MOSSY_STONE_BRICKS: - Points: 2 + Points: 1 MOVING_PISTON: Points: 1 MUSHROOM_STEM: @@ -683,6 +766,8 @@ Materials: Points: 5 NETHERRACK: Points: 1 + NETHER_BRICK_WALL: + Points: 1 NETHER_BRICKS: Points: 2 NETHER_BRICK_FENCE: @@ -719,12 +804,16 @@ Materials: Points: 2 OAK_SAPLING: Points: 1 + OAK_SIGN: + Points: 6 OAK_SLAB: Points: 1 OAK_STAIRS: Points: 2 OAK_TRAPDOOR: Points: 3 + OAK_WALL_SIGN: + Points: 6 OAK_WOOD: Points: 1 OBSERVER: @@ -803,10 +892,22 @@ Materials: Points: 2 POLISHED_ANDESITE: Points: 1 + POLISHED_ANDESITE_SLAB: + Points: 1 + POLISHED_ANDESITE_STAIRS: + Points: 1 POLISHED_DIORITE: Points: 1 + POLISHED_DIORITE_SLAB: + Points: 1 + POLISHED_DIORITE_STAIRS: + Points: 1 POLISHED_GRANITE: Points: 1 + POLISHED_GRANITE_SLAB: + Points: 1 + POLISHED_GRANITE_STAIRS: + Points: 1 POPPY: Points: 1 POTATOES: @@ -817,6 +918,8 @@ Materials: Points: 1 POTTED_AZURE_BLUET: Points: 1 + POTTED_BAMBOO: + Points: 1 POTTED_BIRCH_SAPLING: Points: 1 POTTED_BLUE_ORCHID: @@ -825,6 +928,8 @@ Materials: Points: 1 POTTED_CACTUS: Points: 1 + POTTED_CORNFLOWER: + Points: 1 POTTED_DANDELION: Points: 1 POTTED_DARK_OAK_SAPLING: @@ -835,6 +940,8 @@ Materials: Points: 1 POTTED_JUNGLE_SAPLING: Points: 1 + POTTED_LILY_OF_THE_VALLEY: + Points: 1 POTTED_OAK_SAPLING: Points: 1 POTTED_ORANGE_TULIP: @@ -853,6 +960,8 @@ Materials: Points: 1 POTTED_WHITE_TULIP: Points: 1 + POTTED_WITHER_ROSE: + Points: 1 POWERED_RAIL: Points: 2 PRISMARINE: @@ -867,6 +976,8 @@ Materials: Points: 1 PRISMARINE_STAIRS: Points: 2 + PRISMARINE_WALL: + Points: 1 PUMPKIN: Points: 1 PUMPKIN_STEM: @@ -938,7 +1049,13 @@ Materials: RED_MUSHROOM: Points: 1 RED_MUSHROOM_BLOCK: - Points: + Points: 1 + RED_NETHER_BRICK_SLAB: + Points: 1 + RED_NETHER_BRICK_STAIRS: + Points: 1 + RED_NETHER_BRICK_WALL: + Points: 1 RED_NETHER_BRICKS: Points: 2 RED_SAND: @@ -949,6 +1066,8 @@ Materials: Points: 1 RED_SANDSTONE_STAIRS: Points: 2 + RED_SANDSTONE_WALL: + Points: 1 RED_SHULKER_BOX: Points: 11 RED_STAINED_GLASS: @@ -977,6 +1096,10 @@ Materials: Points: 1 SANDSTONE_STAIRS: Points: 2 + SANDSTONE_WALL: + Points: 1 + SCAFFOLDING: + Points: 1 SEAGRASS: Points: 1 SEA_LANTERN: @@ -985,22 +1108,34 @@ Materials: Points: 1 SHULKER_BOX: Points: 10 - SIGN: - Points: 6 SKELETON_SKULL: Points: 10 SKELETON_WALL_SKULL: Points: 10 SLIME_BLOCK: Points: 10 + SMITHING_TABLE: + Points: 4 + SMOKER: + Points: 4 SMOOTH_QUARTZ: Points: 1 + SMOOTH_QUARTZ_SLAB: + Points: 1 + SMOOTH_QUARTZ_STAIRS: + Points: 1 SMOOTH_RED_SANDSTONE: Points: 1 SMOOTH_SANDSTONE: Points: 1 + SMOOTH_SANDSTONE_SLAB: + Points: 1 + SMOOTH_SANDSTONE_STAIRS: + Points: 1 SMOOTH_STONE: Points: 1 + SMOOTH_STONE_SLAB: + Points: 1 SNOW: Points: 1 SNOW_BLOCK: @@ -1143,12 +1278,16 @@ Materials: Points: 2 SPRUCE_SAPLING: Points: 1 + SPRUCE_SIGN: + Points: 6 SPRUCE_SLAB: Points: 1 SPRUCE_STAIRS: Points: 2 SPRUCE_TRAPDOOR: Points: 3 + SPRUCE_WALL_SIGN: + Points: 6 SPRUCE_WOOD: Points: 1 STICKY_PISTON: @@ -1161,12 +1300,18 @@ Materials: Points: 1 STONE_BRICK_STAIRS: Points: 2 + STONE_BRICK_WALL: + Points: 1 STONE_BUTTON: Points: 1 + STONECUTTER: + Points: 4 STONE_PRESSURE_PLATE: Points: 2 STONE_SLAB: Points: 1 + STONE_STAIRS: + Points: 1 STRIPPED_ACACIA_LOG: Points: 0 STRIPPED_ACACIA_WOOD: @@ -1195,6 +1340,8 @@ Materials: Points: 1 SUNFLOWER: Points: 1 + SWEET_BERRY_BUSH: + Points: 1 TALL_GRASS: Points: 1 TALL_SEAGRASS: @@ -1225,12 +1372,8 @@ Materials: Points: 1 VOID_AIR: Points: 0 - WALL_SIGN: - Points: 6 WALL_TORCH: Points: 1 - WATER: - Points: 0 WET_SPONGE: Points: 10 WHEAT: @@ -1261,6 +1404,8 @@ Materials: Points: 2 WHITE_WOOL: Points: 3 + WITHER_ROSE: + Points: 1 WITHER_SKELETON_SKULL: Points: 10 WITHER_SKELETON_WALL_SKULL: From 561291c2881925026ab79438c19a349502dac51f Mon Sep 17 00:00:00 2001 From: Esophose Date: Wed, 24 Apr 2019 01:32:07 -0600 Subject: [PATCH 5/8] Anvil GUI fix and inventory opening synchronization --- .../me/goodandevil/skyblock/menus/Bans.java | 64 +- .../me/goodandevil/skyblock/menus/Biome.java | 7 +- .../me/goodandevil/skyblock/menus/Border.java | 28 +- .../me/goodandevil/skyblock/menus/Coop.java | 64 +- .../goodandevil/skyblock/menus/Creator.java | 9 +- .../skyblock/menus/Information.java | 72 +- .../skyblock/menus/Leaderboard.java | 22 +- .../goodandevil/skyblock/menus/Levelling.java | 4 +- .../goodandevil/skyblock/menus/Members.java | 60 +- .../goodandevil/skyblock/menus/Ownership.java | 182 ++--- .../goodandevil/skyblock/menus/Settings.java | 516 ++++++------- .../goodandevil/skyblock/menus/Upgrade.java | 109 +-- .../me/goodandevil/skyblock/menus/Visit.java | 50 +- .../goodandevil/skyblock/menus/Visitors.java | 21 +- .../goodandevil/skyblock/menus/Weather.java | 21 +- .../skyblock/menus/admin/Creator.java | 598 +++++---------- .../skyblock/menus/admin/Generator.java | 70 +- .../skyblock/menus/admin/Levelling.java | 71 +- .../skyblock/menus/admin/Settings.java | 66 +- .../skyblock/menus/admin/Upgrade.java | 701 ++++++++---------- .../skyblock/utils/AbstractAnvilGUI.java | 283 +++++++ .../goodandevil/skyblock/utils/AnvilGUI.java | 276 ------- .../skyblock/utils/item/nInventoryUtil.java | 1 - 23 files changed, 1256 insertions(+), 2039 deletions(-) create mode 100644 src/main/java/me/goodandevil/skyblock/utils/AbstractAnvilGUI.java delete mode 100644 src/main/java/me/goodandevil/skyblock/utils/AnvilGUI.java diff --git a/src/main/java/me/goodandevil/skyblock/menus/Bans.java b/src/main/java/me/goodandevil/skyblock/menus/Bans.java index 0d28ec3a..e1911857 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Bans.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Bans.java @@ -23,7 +23,7 @@ import me.goodandevil.skyblock.placeholder.Placeholder; import me.goodandevil.skyblock.playerdata.PlayerData; import me.goodandevil.skyblock.playerdata.PlayerDataManager; import me.goodandevil.skyblock.sound.SoundManager; -import me.goodandevil.skyblock.utils.AnvilGUI; +import me.goodandevil.skyblock.utils.AbstractAnvilGUI; import me.goodandevil.skyblock.utils.item.SkullUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEvent; @@ -100,30 +100,27 @@ public class Bans { configLoad.getString("Menu.Bans.Item.Information.Displayname"))))) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - Bukkit.getServer().dispatchCommand(player, - "island ban " + event1.getName()); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + Bukkit.getServer().dispatchCommand(player, + "island ban " + event1.getName()); - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); - } - }); + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(configLoad.getString("Menu.Bans.Item.Word.Enter")); - is.setItemMeta(im); + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName(configLoad.getString("Menu.Bans.Item.Word.Enter")); + is1.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); }, 1L); } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', @@ -138,23 +135,13 @@ public class Bans { playerData.setPage(playerData.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( '&', configLoad.getString("Menu.Bans.Item.Next.Displayname")))) { playerData.setPage(playerData.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { if ((island.hasRole(IslandRole.Operator, player.getUniqueId()) && island.getSetting(IslandRole.Operator, "Unban").getStatus()) @@ -162,13 +149,8 @@ public class Bans { String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); Bukkit.getServer().dispatchCommand(player, "island unban " + playerName); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 3L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 3L); } else { messageManager.sendMessage(player, configLoad.getString("Command.Island.Bans.Permission.Message")); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Biome.java b/src/main/java/me/goodandevil/skyblock/menus/Biome.java index 4501e3ca..9d60f71c 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Biome.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Biome.java @@ -148,12 +148,7 @@ public class Biome { soundManager.playSound(player, Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F); } - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Border.java b/src/main/java/me/goodandevil/skyblock/menus/Border.java index f428bd75..8426cb24 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Border.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Border.java @@ -92,12 +92,7 @@ public class Border { islandManager.updateBorder(island); soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if ((is.getType() == Materials.LIGHT_BLUE_DYE.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', @@ -114,12 +109,7 @@ public class Border { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } else if ((is.getType() == Materials.LIME_DYE.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() @@ -137,12 +127,7 @@ public class Border { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } else if ((is.getType() == Materials.RED_DYE.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() @@ -160,12 +145,7 @@ public class Border { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Coop.java b/src/main/java/me/goodandevil/skyblock/menus/Coop.java index 1f780c81..867db209 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Coop.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Coop.java @@ -23,7 +23,7 @@ import me.goodandevil.skyblock.placeholder.Placeholder; import me.goodandevil.skyblock.playerdata.PlayerData; import me.goodandevil.skyblock.playerdata.PlayerDataManager; import me.goodandevil.skyblock.sound.SoundManager; -import me.goodandevil.skyblock.utils.AnvilGUI; +import me.goodandevil.skyblock.utils.AbstractAnvilGUI; import me.goodandevil.skyblock.utils.item.SkullUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEvent; @@ -98,30 +98,27 @@ public class Coop { configLoad.getString("Menu.Coop.Item.Information.Displayname"))))) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - Bukkit.getServer().dispatchCommand(player, - "island coop " + event1.getName()); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + Bukkit.getServer().dispatchCommand(player, + "island coop " + event1.getName()); - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); - } - }); + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(configLoad.getString("Menu.Coop.Item.Word.Enter")); - is.setItemMeta(im); + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName(configLoad.getString("Menu.Coop.Item.Word.Enter")); + is1.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); }, 1L); } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', @@ -136,23 +133,13 @@ public class Coop { playerData.setPage(playerData.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( '&', configLoad.getString("Menu.Coop.Item.Next.Displayname")))) { playerData.setPage(playerData.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { if ((island.hasRole(IslandRole.Operator, player.getUniqueId()) && island.getSetting(IslandRole.Operator, "CoopPlayers").getStatus()) @@ -160,13 +147,8 @@ public class Coop { String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); Bukkit.getServer().dispatchCommand(player, "island coop " + playerName); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 3L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 3L); } else { messageManager.sendMessage(player, configLoad.getString("Command.Island.Coop.Permission.Message")); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Creator.java b/src/main/java/me/goodandevil/skyblock/menus/Creator.java index f349143e..c96b486f 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Creator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Creator.java @@ -123,13 +123,8 @@ public class Creator { configLoad.getString("Island.Creator.Selector.Permission.Message")); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); return; } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Information.java b/src/main/java/me/goodandevil/skyblock/menus/Information.java index bab44beb..89931958 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Information.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Information.java @@ -134,13 +134,8 @@ public class Information { Information.Viewer.Type.Members)); soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals( @@ -159,13 +154,8 @@ public class Information { Information.Viewer.Type.Visitors)); soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } } } @@ -300,13 +290,8 @@ public class Information { Information.Viewer.Type.Categories)); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals( ChatColor.translateAlternateColorCodes('&', configLoad.getString( @@ -332,26 +317,16 @@ public class Information { playerData.setPage(playerData.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad .getString("Menu.Information.Members.Item.Next.Displayname")))) { playerData.setPage(playerData.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); @@ -484,13 +459,8 @@ public class Information { Information.Viewer.Type.Categories)); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals( ChatColor.translateAlternateColorCodes('&', configLoad.getString( @@ -516,26 +486,16 @@ public class Information { playerData.setPage(playerData.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad .getString("Menu.Information.Visitors.Item.Next.Displayname")))) { playerData.setPage(playerData.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Leaderboard.java b/src/main/java/me/goodandevil/skyblock/menus/Leaderboard.java index e057c26e..872185ac 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Leaderboard.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Leaderboard.java @@ -95,12 +95,7 @@ public class Leaderboard { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } }); @@ -170,13 +165,7 @@ public class Leaderboard { .setViewer(new Viewer(Viewer.Type.Browse)); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); } @@ -350,12 +339,7 @@ public class Leaderboard { viewer.getType().name()))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Levelling.java b/src/main/java/me/goodandevil/skyblock/menus/Levelling.java index 386e1171..26f0d3ca 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Levelling.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Levelling.java @@ -170,13 +170,13 @@ public class Levelling { playerData1.setPage(playerData1.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( '&', configLoad.getString("Menu.Levelling.Item.Next.Displayname")))) { playerData1.setPage(playerData1.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Members.java b/src/main/java/me/goodandevil/skyblock/menus/Members.java index 64042e61..80739638 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Members.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Members.java @@ -119,13 +119,8 @@ public class Members { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, (Members.Type) playerData.getType(), - (Members.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Members.Item.Statistics.Displayname"))))) { @@ -146,25 +141,15 @@ public class Members { playerData.setPage(playerData.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, (Members.Type) playerData.getType(), - (Members.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( '&', configLoad.getString("Menu.Members.Item.Next.Displayname")))) { playerData.setPage(playerData.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, (Members.Type) playerData.getType(), - (Members.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); } else { String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); UUID playerUUID; @@ -189,27 +174,17 @@ public class Members { "island demote " + playerName); } - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, (Members.Type) playerData.getType(), - (Members.Sort) playerData.getSort()); - } - }, 3L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 3L); return; } else if (event.getClick() == ClickType.RIGHT) { Bukkit.getServer().dispatchCommand(player, "island kick " + playerName); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, (Members.Type) playerData.getType(), - (Members.Sort) playerData.getSort()); - } - }, 3L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 3L); return; } @@ -217,14 +192,9 @@ public class Members { && island.getSetting(IslandRole.Operator, "Kick").getStatus()) { Bukkit.getServer().dispatchCommand(player, "island kick " + playerName); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, (Members.Type) playerData.getType(), - (Members.Sort) playerData.getSort()); - } - }, 3L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 3L); return; } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Ownership.java b/src/main/java/me/goodandevil/skyblock/menus/Ownership.java index d78500e7..b7056ddd 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Ownership.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Ownership.java @@ -23,7 +23,7 @@ import me.goodandevil.skyblock.placeholder.Placeholder; import me.goodandevil.skyblock.playerdata.PlayerData; import me.goodandevil.skyblock.playerdata.PlayerDataManager; import me.goodandevil.skyblock.sound.SoundManager; -import me.goodandevil.skyblock.utils.AnvilGUI; +import me.goodandevil.skyblock.utils.AbstractAnvilGUI; import me.goodandevil.skyblock.utils.item.SkullUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEvent; @@ -108,56 +108,45 @@ public class Ownership { configLoad.getString("Menu.Ownership.Item.Assign.Displayname"))))) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, new AnvilGUI.AnvilClickEventHandler() { - @Override - public void onAnvilClick(final AnvilGUI.AnvilClickEvent event) { - if (event.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - if (playerDataManager.hasPlayerData(player)) { - Island island = islandManager.getIsland(player); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (playerDataManager.hasPlayerData(player)) { + Island island1 = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Ownership.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), - 1.0F, 1.0F); + if (island1 == null) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Ownership.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), + 1.0F, 1.0F); - return; - } else if (!island.hasRole(IslandRole.Owner, - player.getUniqueId())) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Ownership.Role.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), - 1.0F, 1.0F); + return; + } else if (!island1.hasRole(IslandRole.Owner, + player.getUniqueId())) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Ownership.Role.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), + 1.0F, 1.0F); - return; - } - - Bukkit.getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, - "island ownership " + event.getName()); - } - }); - } - } else { - event.setWillClose(false); - event.setWillDestroy(false); + return; } + + Bukkit.getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(player, + "island ownership " + event1.getName())); } - }); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(configLoad.getString("Menu.Ownership.Item.Assign.Word.Enter")); - is.setItemMeta(im); + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName(configLoad.getString("Menu.Ownership.Item.Assign.Word.Enter")); + is1.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); }, 1L); } else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', @@ -174,26 +163,16 @@ public class Ownership { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); return; } else if (event.getClick() == ClickType.RIGHT) { island.setPassword(null); soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); return; } else if (event.getClick() != ClickType.LEFT) { @@ -206,62 +185,51 @@ public class Ownership { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, new AnvilGUI.AnvilClickEventHandler() { - @Override - public void onAnvilClick(final AnvilGUI.AnvilClickEvent event) { - if (event.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - if (playerDataManager.hasPlayerData(player)) { - Island island = islandManager.getIsland(player); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event12 -> { + if (event12.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (playerDataManager.hasPlayerData(player)) { + Island island12 = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Ownership.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), - 1.0F, 1.0F); + if (island12 == null) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Ownership.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), + 1.0F, 1.0F); - return; - } else if (!island.hasRole(IslandRole.Owner, - player.getUniqueId())) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Ownership.Role.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), - 1.0F, 1.0F); + return; + } else if (!island12.hasRole(IslandRole.Owner, + player.getUniqueId())) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Ownership.Role.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), + 1.0F, 1.0F); - return; - } - - island.setPassword( - event.getName().replace("&", "").replace(" ", "")); - soundManager.playSound(player, Sounds.ANVIL_USE.bukkitSound(), 1.0F, - 1.0F); - - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); - } - } else { - event.setWillClose(false); - event.setWillDestroy(false); + return; } + + island12.setPassword( + event12.getName().replace("&", "").replace(" ", "")); + soundManager.playSound(player, Sounds.ANVIL_USE.bukkitSound(), 1.0F, + 1.0F); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, () -> open(player), 1L); } - }); + } else { + event12.setWillClose(false); + event12.setWillDestroy(false); + } + }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName( - configLoad.getString("Menu.Ownership.Item.Password.Hidden.Word.Enter")); - is.setItemMeta(im); + ItemStack is12 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is12.getItemMeta(); + im.setDisplayName( + configLoad.getString("Menu.Ownership.Item.Password.Hidden.Word.Enter")); + is12.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); + gui.open(); }, 1L); } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Settings.java b/src/main/java/me/goodandevil/skyblock/menus/Settings.java index b9ac341f..45302b92 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Settings.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Settings.java @@ -26,7 +26,7 @@ import me.goodandevil.skyblock.message.MessageManager; import me.goodandevil.skyblock.placeholder.Placeholder; import me.goodandevil.skyblock.playerdata.PlayerDataManager; import me.goodandevil.skyblock.sound.SoundManager; -import me.goodandevil.skyblock.utils.AnvilGUI; +import me.goodandevil.skyblock.utils.AbstractAnvilGUI; import me.goodandevil.skyblock.utils.item.nInventoryUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEvent; import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEventHandler; @@ -117,12 +117,7 @@ public class Settings { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Coop, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Coop, null), 1L); } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad .getString("Menu.Settings.Categories.Item.Visitor.Displayname"))))) { @@ -140,12 +135,7 @@ public class Settings { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Visitor, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad @@ -164,12 +154,7 @@ public class Settings { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Member, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Member, null), 1L); } else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta()) && (is.getItemMeta() .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad .getString("Menu.Settings.Categories.Item.Operator.Displayname"))))) { @@ -186,12 +171,7 @@ public class Settings { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Operator, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Operator, null), 1L); } else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad @@ -210,12 +190,7 @@ public class Settings { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Owner, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Owner, null), 1L); } } } @@ -307,35 +282,20 @@ public class Settings { "Menu.Settings." + role.name() + ".Item.Return.Displayname"))))) { soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Categories, null, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Categories, null, null), 1L); } else if ((is.getType() == Material.PAPER) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad .getString("Menu.Settings.Visitor.Item.Signature.Displayname"))))) { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Panel, null, Settings.Panel.Signature); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Panel, null, Panel.Signature), 1L); } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Settings.Visitor.Item.Welcome.Displayname"))))) { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Panel, null, Settings.Panel.Welcome); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Panel, null, Panel.Welcome), 1L); } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta() .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad .getString("Menu.Settings.Visitor.Item.Statistics.Displayname"))))) { @@ -347,12 +307,7 @@ public class Settings { soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); } - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Visitor, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); } else if (is.hasItemMeta()) { String roleName = getRoleName(role); @@ -390,12 +345,7 @@ public class Settings { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, role, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, role, null), 1L); } } } @@ -1115,13 +1065,8 @@ public class Settings { "Menu.Settings.Visitor.Panel.Welcome.Item.Return.Displayname"))))) { soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Visitor, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals( ChatColor.translateAlternateColorCodes('&', configLoad.getString( @@ -1134,13 +1079,8 @@ public class Settings { soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); } - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Visitor, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( "Menu.Settings.Visitor.Panel.Welcome.Item.Message.Displayname"))))) { @@ -1162,114 +1102,106 @@ public class Settings { } else { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - Island island1 = islandManager.getIsland(player); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + Island island1 = islandManager.getIsland(player); - if (island1 == null) { - messageManager.sendMessage(player, - configLoad.getString( - "Command.Island.Settings.Owner.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - player.closeInventory(); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } else if (!(island1.hasRole(IslandRole.Operator, - player.getUniqueId()) - || island1.hasRole(IslandRole.Owner, - player.getUniqueId()))) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Role.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - player.closeInventory(); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } else if (!skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), - "config.yml")) - .getFileConfiguration() - .getBoolean("Island.Visitor.Welcome.Enable")) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Settings.Visitor.Welcome.Disabled.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } - - Config config1 = skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), - "config.yml")); - FileConfiguration configLoad1 = config1 - .getFileConfiguration(); - - if (island1.getMessage(IslandMessage.Welcome) - .size() > configLoad1 - .getInt("Island.Visitor.Welcome.Lines") - || event1.getName().length() > configLoad1 - .getInt("Island.Visitor.Welcome.Length")) { - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - } else { - List welcomeMessage = island1 - .getMessage(IslandMessage.Welcome); - welcomeMessage.add(event1.getName()); - island1.setMessage(IslandMessage.Welcome, - player.getName(), welcomeMessage); - soundManager.playSound(player, - Sounds.NOTE_PLING.bukkitSound(), 1.0F, - 1.0F); - } - - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, - Settings.Type.Panel, - null, - Settings.Panel.Welcome); - } - }, 1L); + if (island1 == null) { + messageManager.sendMessage(player, + configLoad.getString( + "Command.Island.Settings.Owner.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + player.closeInventory(); event1.setWillClose(true); event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); + + return; + } else if (!(island1.hasRole(IslandRole.Operator, + player.getUniqueId()) + || island1.hasRole(IslandRole.Owner, + player.getUniqueId()))) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Role.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + player.closeInventory(); + + event1.setWillClose(true); + event1.setWillDestroy(true); + + return; + } else if (!skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), + "config.yml")) + .getFileConfiguration() + .getBoolean("Island.Visitor.Welcome.Enable")) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Settings.Visitor.Welcome.Disabled.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event1.setWillClose(true); + event1.setWillDestroy(true); + + return; } - }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(configLoad.getString( - "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Add.Word.Enter")); - is.setItemMeta(im); + Config config1 = skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), + "config.yml")); + FileConfiguration configLoad1 = config1 + .getFileConfiguration(); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } + if (island1.getMessage(IslandMessage.Welcome) + .size() > configLoad1 + .getInt("Island.Visitor.Welcome.Lines") + || event1.getName().length() > configLoad1 + .getInt("Island.Visitor.Welcome.Length")) { + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + } else { + List welcomeMessage = island1 + .getMessage(IslandMessage.Welcome); + welcomeMessage.add(event1.getName()); + island1.setMessage(IslandMessage.Welcome, + player.getName(), welcomeMessage); + soundManager.playSound(player, + Sounds.NOTE_PLING.bukkitSound(), 1.0F, + 1.0F); + } + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player, + Type.Panel, + null, + Panel.Welcome), 1L); + + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); + + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName(configLoad.getString( + "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Add.Word.Enter")); + is1.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); }, 1L); } } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() @@ -1289,13 +1221,8 @@ public class Settings { island.getMessageAuthor(IslandMessage.Welcome), welcomeMessage); soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Panel, null, Settings.Panel.Welcome); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Panel, null, Panel.Welcome), 1L); } } } @@ -1397,13 +1324,8 @@ public class Settings { "Menu.Settings.Visitor.Panel.Signature.Item.Return.Displayname"))))) { soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Visitor, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals( ChatColor.translateAlternateColorCodes('&', configLoad.getString( @@ -1416,13 +1338,8 @@ public class Settings { soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); } - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, IslandRole.Visitor, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( "Menu.Settings.Visitor.Panel.Signature.Item.Message.Displayname"))))) { @@ -1444,114 +1361,106 @@ public class Settings { } else { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - Island island1 = islandManager.getIsland(player); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + Island island1 = islandManager.getIsland(player); - if (island1 == null) { - messageManager.sendMessage(player, - configLoad.getString( - "Command.Island.Settings.Owner.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - player.closeInventory(); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } else if (!(island1.hasRole(IslandRole.Operator, - player.getUniqueId()) - || island1.hasRole(IslandRole.Owner, - player.getUniqueId()))) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Role.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - player.closeInventory(); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } else if (!skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), - "config.yml")) - .getFileConfiguration().getBoolean( - "Island.Visitor.Signature.Enable")) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Settings.Visitor.Signature.Disabled.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } - - Config config1 = skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), - "config.yml")); - FileConfiguration configLoad1 = config1 - .getFileConfiguration(); - - if (island1.getMessage(IslandMessage.Signature) - .size() > configLoad1.getInt( - "Island.Visitor.Signature.Lines") - || event1.getName().length() > configLoad1 - .getInt("Island.Visitor.Signature.Length")) { - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - } else { - List signatureMessage = island1 - .getMessage(IslandMessage.Signature); - signatureMessage.add(event1.getName()); - island1.setMessage(IslandMessage.Signature, - player.getName(), signatureMessage); - soundManager.playSound(player, - Sounds.NOTE_PLING.bukkitSound(), 1.0F, - 1.0F); - } - - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, - Settings.Type.Panel, - null, - Settings.Panel.Signature); - } - }, 1L); + if (island1 == null) { + messageManager.sendMessage(player, + configLoad.getString( + "Command.Island.Settings.Owner.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + player.closeInventory(); event1.setWillClose(true); event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); + + return; + } else if (!(island1.hasRole(IslandRole.Operator, + player.getUniqueId()) + || island1.hasRole(IslandRole.Owner, + player.getUniqueId()))) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Role.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + player.closeInventory(); + + event1.setWillClose(true); + event1.setWillDestroy(true); + + return; + } else if (!skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), + "config.yml")) + .getFileConfiguration().getBoolean( + "Island.Visitor.Signature.Enable")) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Settings.Visitor.Signature.Disabled.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event1.setWillClose(true); + event1.setWillDestroy(true); + + return; } - }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(configLoad.getString( - "Menu.Settings.Visitor.Panel.Signature.Item.Line.Add.Word.Enter")); - is.setItemMeta(im); + Config config1 = skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), + "config.yml")); + FileConfiguration configLoad1 = config1 + .getFileConfiguration(); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } + if (island1.getMessage(IslandMessage.Signature) + .size() > configLoad1.getInt( + "Island.Visitor.Signature.Lines") + || event1.getName().length() > configLoad1 + .getInt("Island.Visitor.Signature.Length")) { + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + } else { + List signatureMessage = island1 + .getMessage(IslandMessage.Signature); + signatureMessage.add(event1.getName()); + island1.setMessage(IslandMessage.Signature, + player.getName(), signatureMessage); + soundManager.playSound(player, + Sounds.NOTE_PLING.bukkitSound(), 1.0F, + 1.0F); + } + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player, + Type.Panel, + null, + Panel.Signature), 1L); + + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); + + ItemStack is12 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is12.getItemMeta(); + im.setDisplayName(configLoad.getString( + "Menu.Settings.Visitor.Panel.Signature.Item.Line.Add.Word.Enter")); + is12.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); + gui.open(); }, 1L); } } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() @@ -1571,14 +1480,9 @@ public class Settings { island.getMessageAuthor(IslandMessage.Signature), signatureMessage); soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Panel, null, - Settings.Panel.Signature); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Panel, null, + Panel.Signature), 1L); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Upgrade.java b/src/main/java/me/goodandevil/skyblock/menus/Upgrade.java index dec0ce8a..38ed9162 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Upgrade.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Upgrade.java @@ -113,13 +113,8 @@ public class Upgrade { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { List upgrades = upgradeManager .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed); @@ -137,13 +132,8 @@ public class Upgrade { island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, true); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Money.Message")); @@ -178,13 +168,8 @@ public class Upgrade { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { List upgrades = upgradeManager .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump); @@ -202,13 +187,8 @@ public class Upgrade { island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump, true); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Money.Message")); @@ -239,12 +219,7 @@ public class Upgrade { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { List upgrades = upgradeManager .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop); @@ -262,13 +237,8 @@ public class Upgrade { island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, true); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Money.Message")); @@ -300,12 +270,7 @@ public class Upgrade { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { List upgrades = upgradeManager .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly); @@ -325,13 +290,8 @@ public class Upgrade { islandManager.updateFlightAtIsland(island); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Money.Message")); @@ -362,12 +322,7 @@ public class Upgrade { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { List upgrades = upgradeManager .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops); @@ -385,13 +340,8 @@ public class Upgrade { island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, true); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Money.Message")); @@ -438,13 +388,8 @@ public class Upgrade { island.getAPIWrapper(), player, APIUtil.fromImplementation( me.goodandevil.skyblock.upgrade.Upgrade.Type.Size))); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Money.Message")); @@ -481,12 +426,7 @@ public class Upgrade { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { List upgrades = upgradeManager .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner); @@ -504,13 +444,8 @@ public class Upgrade { island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner, true); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Money.Message")); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Visit.java b/src/main/java/me/goodandevil/skyblock/menus/Visit.java index 3a931b6a..96948bdc 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Visit.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Visit.java @@ -116,12 +116,7 @@ public class Visit { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Visit.Item.Nothing.Displayname"))))) { @@ -135,23 +130,13 @@ public class Visit { playerData.setPage(playerData.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Visit.Item.Next.Displayname")))) { playerData.setPage(playerData.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); } else { String targetPlayerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); UUID targetPlayerUUID; @@ -214,14 +199,9 @@ public class Visit { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, (Visit.Type) playerData.getType(), - (Visit.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Visit.Vote.Island.Message")); @@ -264,14 +244,9 @@ public class Visit { targetPlayerName)); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player, (Visit.Type) playerData.getType(), - (Visit.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); } return; @@ -281,12 +256,7 @@ public class Visit { .replace("%player", targetPlayerName)); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort()); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Visitors.java b/src/main/java/me/goodandevil/skyblock/menus/Visitors.java index 1c7379ef..b2a440f6 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Visitors.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Visitors.java @@ -105,23 +105,13 @@ public class Visitors { playerData.setPage(playerData.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( '&', configLoad.getString("Menu.Visitors.Item.Next.Displayname")))) { playerData.setPage(playerData.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { boolean isOperator = island.hasRole(IslandRole.Operator, player.getUniqueId()), isOwner = island.hasRole(IslandRole.Owner, player.getUniqueId()), @@ -164,12 +154,7 @@ public class Visitors { } } - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Weather.java b/src/main/java/me/goodandevil/skyblock/menus/Weather.java index 944ebc92..85cd3969 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Weather.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Weather.java @@ -122,12 +122,7 @@ public class Weather { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if ((is.getType() == Material.GHAST_TEAR) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Weather.Item.Weather.Displayname"))))) { @@ -145,12 +140,7 @@ public class Weather { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Weather.Item.Synchronised.Displayname"))))) { @@ -177,12 +167,7 @@ public class Weather { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java index 1c240f71..7b510994 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java @@ -29,7 +29,7 @@ import me.goodandevil.skyblock.playerdata.PlayerDataManager; import me.goodandevil.skyblock.sound.SoundManager; import me.goodandevil.skyblock.structure.Structure; import me.goodandevil.skyblock.structure.StructureManager; -import me.goodandevil.skyblock.utils.AnvilGUI; +import me.goodandevil.skyblock.utils.AbstractAnvilGUI; import me.goodandevil.skyblock.utils.item.SkullUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil; import me.goodandevil.skyblock.utils.version.Materials; @@ -320,12 +320,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); return; } @@ -334,8 +329,8 @@ public class Creator implements Listener { configLoad.getString("Menu.Admin.Creator.Browse.Item.Information.Displayname"))))) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.creator") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -378,12 +373,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } event1.setWillClose(true); @@ -399,7 +389,7 @@ public class Creator implements Listener { im.setDisplayName(configLoad.getString("Menu.Admin.Creator.Browse.Item.Information.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); return; @@ -419,20 +409,15 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { String name = ((Creator.Viewer) playerData.getViewer()).getName(); if (structureManager.containsStructure(name)) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.creator") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -446,13 +431,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if (!structureManager.containsStructure(name)) { messageManager.sendMessage(player, configLoad.getString("Island.Admin.Creator.Exist.Message")); @@ -460,13 +440,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { Structure structure = structureManager.getStructure(name); structure.setDisplayname(event1.getName()); @@ -474,34 +449,26 @@ public class Creator implements Listener { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig( - new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + () -> { + Config config1 = fileManager.getConfig( + new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad1 = config1.getFileConfiguration(); - configLoad.set( - "Structures." + structure.getName() + ".Displayname", - event1.getName()); + configLoad1.set( + "Structures." + structure.getName() + ".Displayname", + event1.getName()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad1.save(config1.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } event1.setWillClose(true); @@ -518,7 +485,7 @@ public class Creator implements Listener { configLoad.getString("Menu.Admin.Creator.Options.Item.Displayname.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); } else { playerData.setViewer(null); @@ -529,12 +496,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } @@ -549,12 +511,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { String name = ((Creator.Viewer) playerData.getViewer()).getName(); @@ -566,33 +523,25 @@ public class Creator implements Listener { structure.removeLine(structure.getDescription().size() - 1); soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config12 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad12 = config12.getFileConfiguration(); - configLoad.set("Structures." + structure.getName() + ".Description", - structure.getDescription()); + configLoad12.set("Structures." + structure.getName() + ".Description", + structure.getDescription()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad12.save(config12.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); return; } else if (event.getClick() != ClickType.LEFT) { @@ -602,8 +551,8 @@ public class Creator implements Listener { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.creator") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -617,13 +566,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if (!structureManager.containsStructure(name)) { messageManager.sendMessage(player, configLoad.getString("Island.Admin.Creator.Exist.Message")); @@ -631,47 +575,34 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { structure.addLine(event1.getName()); soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig( - new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + () -> { + Config config13 = fileManager.getConfig( + new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad13 = config13.getFileConfiguration(); - configLoad.set( - "Structures." + structure.getName() + ".Description", - structure.getDescription()); + configLoad13.set( + "Structures." + structure.getName() + ".Description", + structure.getDescription()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad13.save(config13.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } event1.setWillClose(true); @@ -688,7 +619,7 @@ public class Creator implements Listener { configLoad.getString("Menu.Admin.Creator.Options.Item.Description.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); } else { playerData.setViewer(null); @@ -699,12 +630,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } @@ -719,12 +645,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { String name = ((Creator.Viewer) playerData.getViewer()).getName(); @@ -736,33 +657,25 @@ public class Creator implements Listener { structure.removeCommand(structure.getCommands().size() - 1); soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config14 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad14 = config14.getFileConfiguration(); - configLoad.set("Structures." + structure.getName() + ".Commands", - structure.getCommands()); + configLoad14.set("Structures." + structure.getName() + ".Commands", + structure.getCommands()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad14.save(config14.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); return; } else if (event.getClick() != ClickType.LEFT) { @@ -772,8 +685,8 @@ public class Creator implements Listener { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.creator") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -787,13 +700,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if (!structureManager.containsStructure(name)) { messageManager.sendMessage(player, configLoad.getString("Island.Admin.Creator.Exist.Message")); @@ -801,47 +709,34 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { structure.addCommand(event1.getName()); soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig( - new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + () -> { + Config config15 = fileManager.getConfig( + new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad15 = config15.getFileConfiguration(); - configLoad.set( - "Structures." + structure.getName() + ".Commands", - structure.getCommands()); + configLoad15.set( + "Structures." + structure.getName() + ".Commands", + structure.getCommands()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad15.save(config15.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } event1.setWillClose(true); @@ -858,7 +753,7 @@ public class Creator implements Listener { configLoad.getString("Menu.Admin.Creator.Options.Item.Commands.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); } else { playerData.setViewer(null); @@ -869,12 +764,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } @@ -890,12 +780,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { String name = ((Creator.Viewer) playerData.getViewer()).getName(); @@ -910,32 +795,24 @@ public class Creator implements Listener { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config16 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad16 = config16.getFileConfiguration(); - configLoad.set("Structures." + structure.getName() + ".Permission", - structure.isPermission()); + configLoad16.set("Structures." + structure.getName() + ".Permission", + structure.isPermission()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad16.save(config16.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { playerData.setViewer(null); @@ -945,12 +822,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } @@ -967,20 +839,15 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { String name = ((Creator.Viewer) playerData.getViewer()).getName(); if (structureManager.containsStructure(name)) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.creator") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -994,13 +861,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else if (!structureManager.containsStructure(name)) { messageManager.sendMessage(player, configLoad.getString("Island.Admin.Creator.Exist.Message")); @@ -1008,13 +870,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { if (fileManager.isFileExist( new File(skyblock.getDataFolder().toString() + "/structures", @@ -1027,25 +884,22 @@ public class Creator implements Listener { 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig( - new File(skyblock.getDataFolder(), - "structures.yml")); - FileConfiguration configLoad = config - .getFileConfiguration(); + () -> { + Config config17 = fileManager.getConfig( + new File(skyblock.getDataFolder(), + "structures.yml")); + FileConfiguration configLoad17 = config17 + .getFileConfiguration(); - configLoad.set( - "Structures." + structure.getName() - + ".File.Overworld", - event1.getName()); + configLoad17.set( + "Structures." + structure.getName() + + ".File.Overworld", + event1.getName()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad17.save(config17.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); } else if (event.getClick() == ClickType.MIDDLE) { @@ -1056,23 +910,20 @@ public class Creator implements Listener { 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig( - new File(skyblock.getDataFolder(), - "structures.yml")); - FileConfiguration configLoad = config - .getFileConfiguration(); + () -> { + Config config18 = fileManager.getConfig( + new File(skyblock.getDataFolder(), + "structures.yml")); + FileConfiguration configLoad18 = config18 + .getFileConfiguration(); - configLoad.set("Structures." + structure.getName() - + ".File.Nether", event1.getName()); + configLoad18.set("Structures." + structure.getName() + + ".File.Nether", event1.getName()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad18.save(config18.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); } else { @@ -1083,23 +934,20 @@ public class Creator implements Listener { 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig( - new File(skyblock.getDataFolder(), - "structures.yml")); - FileConfiguration configLoad = config - .getFileConfiguration(); + () -> { + Config config19 = fileManager.getConfig( + new File(skyblock.getDataFolder(), + "structures.yml")); + FileConfiguration configLoad19 = config19 + .getFileConfiguration(); - configLoad.set("Structures." + structure.getName() - + ".File.End", event1.getName()); + configLoad19.set("Structures." + structure.getName() + + ".File.End", event1.getName()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad19.save(config19.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); } @@ -1112,13 +960,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } event1.setWillClose(true); @@ -1135,7 +978,7 @@ public class Creator implements Listener { configLoad.getString("Menu.Admin.Creator.Options.Item.File.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); } else { playerData.setViewer(null); @@ -1146,12 +989,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } @@ -1167,12 +1005,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { Creator.Viewer viewer = (Viewer) playerData.getViewer(); String name = viewer.getName(); @@ -1197,12 +1030,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } @@ -1218,20 +1046,15 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { String name = ((Creator.Viewer) playerData.getViewer()).getName(); if (structureManager.containsStructure(name)) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.creator") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -1247,13 +1070,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); return; } else if (!structureManager.containsStructure(name)) { @@ -1263,13 +1081,8 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); return; } else if (!(event1.getName().matches("[0-9]+") @@ -1309,13 +1122,8 @@ public class Creator implements Listener { } }); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { event1.setWillClose(false); event1.setWillDestroy(false); @@ -1328,7 +1136,7 @@ public class Creator implements Listener { configLoad.getString("Menu.Admin.Creator.Options.Item.DeletionCost.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); } else { playerData.setViewer(null); @@ -1339,12 +1147,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } @@ -1396,12 +1199,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { playerData.setViewer(null); @@ -1411,12 +1209,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } return; @@ -1434,12 +1227,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if (event.getClick() == ClickType.RIGHT) { structureManager.removeStructure(structureList); @@ -1448,31 +1236,23 @@ public class Creator implements Listener { .replace("%structure", structureList.getName())); soundManager.playSound(player, Sounds.IRONGOLEM_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config110 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad110 = config110.getFileConfiguration(); - configLoad.set("Structures." + structureList.getName(), null); + configLoad110.set("Structures." + structureList.getName(), null); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad110.save(config110.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } return; @@ -1484,12 +1264,7 @@ public class Creator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } @@ -1515,8 +1290,7 @@ public class Creator implements Listener { } } - if (inventoryName.equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Creator.Title")))) { + if (inventoryName.equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Creator.Title")))) { PlayerDataManager playerDataManager = skyblock.getPlayerDataManager(); if (playerDataManager.hasPlayerData(player)) { diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java index ef38f59d..083c8e6c 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java @@ -9,7 +9,7 @@ import me.goodandevil.skyblock.message.MessageManager; import me.goodandevil.skyblock.placeholder.Placeholder; import me.goodandevil.skyblock.playerdata.PlayerData; import me.goodandevil.skyblock.sound.SoundManager; -import me.goodandevil.skyblock.utils.AnvilGUI; +import me.goodandevil.skyblock.utils.AbstractAnvilGUI; import me.goodandevil.skyblock.utils.item.SkullUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil; import me.goodandevil.skyblock.utils.version.Materials; @@ -251,12 +251,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); return; } @@ -265,8 +260,8 @@ public class Generator implements Listener { configLoad.getString("Menu.Admin.Generator.Browse.Item.Information.Displayname"))))) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.generator") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -308,12 +303,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } event1.setWillClose(true); @@ -329,7 +319,7 @@ public class Generator implements Listener { im.setDisplayName(configLoad.getString("Menu.Admin.Generator.Browse.Item.Information.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); return; @@ -345,7 +335,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { String name = ((Generator.Viewer) playerData.getViewer()).getName(); @@ -377,12 +367,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { playerData.setViewer(null); @@ -392,12 +377,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } @@ -421,12 +401,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); return; } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', @@ -436,12 +411,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); return; } @@ -467,8 +437,8 @@ public class Generator implements Listener { if (event.getClick() == ClickType.LEFT) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.generator") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -545,7 +515,7 @@ public class Generator implements Listener { player.closeInventory(); Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, () -> open(player), 1L); + .runTaskLater(skyblock, () -> open(player), 1L); } } @@ -563,7 +533,7 @@ public class Generator implements Listener { .getString("Menu.Admin.Generator.Generator.Item.Material.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); } else if (event.getClick() == ClickType.RIGHT) { generator.getGeneratorMaterials().remove(generatorMaterialList); @@ -592,7 +562,7 @@ public class Generator implements Listener { soundManager.playSound(player, Sounds.IRONGOLEM_HIT.bukkitSound(), 1.0F, 1.0F); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } @@ -654,7 +624,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } return; @@ -667,7 +637,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } return; @@ -684,7 +654,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if (event.getClick() == ClickType.RIGHT) { generatorManager.removeGenerator(generatorList); @@ -709,7 +679,7 @@ public class Generator implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, () -> open(player), 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } return; diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java index 23fcf4d5..acd5c458 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java @@ -27,7 +27,7 @@ import me.goodandevil.skyblock.message.MessageManager; import me.goodandevil.skyblock.placeholder.Placeholder; import me.goodandevil.skyblock.playerdata.PlayerData; import me.goodandevil.skyblock.sound.SoundManager; -import me.goodandevil.skyblock.utils.AnvilGUI; +import me.goodandevil.skyblock.utils.AbstractAnvilGUI; import me.goodandevil.skyblock.utils.NumberUtil; import me.goodandevil.skyblock.utils.item.MaterialUtil; import me.goodandevil.skyblock.utils.item.SkullUtil; @@ -213,8 +213,8 @@ public class Levelling implements Listener { event.setCancelled(true); soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.level") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -248,12 +248,7 @@ public class Levelling implements Listener { player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else { messageManager.sendMessage(player, configLoad.getString("Island.Admin.Levelling.Numerical.Message")); @@ -273,7 +268,7 @@ public class Levelling implements Listener { im.setDisplayName(configLoad.getString("Menu.Admin.Levelling.Item.Information.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); return; @@ -294,12 +289,7 @@ public class Levelling implements Listener { playerData.setPage(playerData.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); return; } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', @@ -310,12 +300,7 @@ public class Levelling implements Listener { playerData.setPage(playerData.getPage() + 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); return; } @@ -332,8 +317,8 @@ public class Levelling implements Listener { if (event.getClick() == ClickType.LEFT) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { if (!(player.hasPermission("fabledskyblock.admin.level") || player.hasPermission("fabledskyblock.admin.*") || player.hasPermission("fabledskyblock.*"))) { @@ -353,32 +338,24 @@ public class Levelling implements Listener { 1.0F); player.closeInventory(); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig(new File( - skyblock.getDataFolder(), "levelling.yml")); - FileConfiguration configLoad = config - .getFileConfiguration(); + () -> { + Config config1 = fileManager.getConfig(new File( + skyblock.getDataFolder(), "levelling.yml")); + FileConfiguration configLoad1 = config1 + .getFileConfiguration(); - configLoad.set( - "Materials." + materials.name() + ".Points", - materialPoints); + configLoad1.set( + "Materials." + materials.name() + ".Points", + materialPoints); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad1.save(config1.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); } else { @@ -407,7 +384,7 @@ public class Levelling implements Listener { configLoad.getString("Menu.Admin.Levelling.Item.Material.Word.Enter")); is.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); gui.open(); } else if (event.getClick() == ClickType.RIGHT) { levellingManager.removeMaterial(materialList); diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java index b2bc8c79..c7478723 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java @@ -72,57 +72,32 @@ public class Settings { .getString("Menu.Admin.Settings.Categories.Item.Visitor.Displayname"))))) { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Visitor); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Visitor), 1L); } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Settings.Categories.Item.Member.Displayname"))))) { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Member); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Member), 1L); } else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad .getString("Menu.Admin.Settings.Categories.Item.Operator.Displayname"))))) { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Operator); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Operator), 1L); } else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Settings.Categories.Item.Coop.Displayname"))))) { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Coop); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Coop), 1L); } else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Settings.Categories.Item.Owner.Displayname"))))) { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, me.goodandevil.skyblock.island.IslandRole.Owner); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Owner), 1L); } } }); @@ -201,12 +176,7 @@ public class Settings { configLoad.getString("Menu.Admin.Settings.Owner.Item.Return.Displayname"))))) { soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Categories, null); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Categories, null), 1L); } else if (is.hasItemMeta()) { String roleName = getRoleName(role); @@ -225,16 +195,13 @@ public class Settings { settingsConfigLoad.set("Settings." + role.name() + "." + settingList, true); } - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - try { - Config config = skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), "settings.yml")); - config.getFileConfiguration().save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + try { + Config config = skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), "settings.yml")); + config.getFileConfiguration().save(config.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); @@ -244,12 +211,7 @@ public class Settings { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player, Settings.Type.Role, role); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, role), 1L); } } }); diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java index 4286e2a9..f4f309e5 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java @@ -26,7 +26,7 @@ import me.goodandevil.skyblock.playerdata.PlayerData; import me.goodandevil.skyblock.playerdata.PlayerDataManager; import me.goodandevil.skyblock.sound.SoundManager; import me.goodandevil.skyblock.upgrade.UpgradeManager; -import me.goodandevil.skyblock.utils.AnvilGUI; +import me.goodandevil.skyblock.utils.AbstractAnvilGUI; import me.goodandevil.skyblock.utils.NumberUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil; import me.goodandevil.skyblock.utils.item.nInventoryUtil.ClickEvent; @@ -122,12 +122,7 @@ public class Upgrade { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if ((is.getType() == Materials.SPAWNER.parseMaterial()) && (is.hasItemMeta()) && (is.getItemMeta().getDisplayName() .equals(ChatColor.translateAlternateColorCodes('&', configLoad @@ -147,100 +142,87 @@ public class Upgrade { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if (event.getClick() == ClickType.RIGHT) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - if (!(player.hasPermission("fabledskyblock.admin.upgrade") - || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { - messageManager.sendMessage(player, configLoad - .getString("Island.Admin.Upgrade.Permission.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), - 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (!(player.hasPermission("fabledskyblock.admin.upgrade") + || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, configLoad + .getString("Island.Admin.Upgrade.Permission.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), + 1.0F, 1.0F); - return; - } else if (!(event1.getName().matches("[0-9]+") - || event1.getName().matches("([0-9]*)\\.([0-9]{1,2}$)"))) { - messageManager.sendMessage(player, configLoad - .getString("Island.Admin.Upgrade.Numerical.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), - 1.0F, 1.0F); + return; + } else if (!(event1.getName().matches("[0-9]+") + || event1.getName().matches("([0-9]*)\\.([0-9]{1,2}$)"))) { + messageManager.sendMessage(player, configLoad + .getString("Island.Admin.Upgrade.Numerical.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), + 1.0F, 1.0F); - event1.setWillClose(false); - event1.setWillDestroy(false); - - return; - } - - if (playerDataManager.hasPlayerData(player)) { - double upgradeCost = Double.valueOf(event1.getName()); - me.goodandevil.skyblock.upgrade.Upgrade.Type upgradeType = ((Viewer) playerDataManager - .getPlayerData(player).getViewer()).getUpgrade(); - - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgradeManager - .getUpgrades(upgradeType).get(0); - upgrade.setCost(upgradeCost); - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), - 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig(new File( - skyblock.getDataFolder(), "upgrades.yml")); - FileConfiguration configLoad = config - .getFileConfiguration(); - - configLoad.set( - "Upgrades." + upgradeType.name() + ".Cost", - upgradeCost); - - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); - } - - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { event1.setWillClose(false); event1.setWillDestroy(false); + + return; } - }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName( - configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Word.Enter")); - is.setItemMeta(im); + if (playerDataManager.hasPlayerData(player)) { + double upgradeCost = Double.valueOf(event1.getName()); + me.goodandevil.skyblock.upgrade.Upgrade.Type upgradeType = ((Viewer) playerDataManager + .getPlayerData(player).getViewer()).getUpgrade(); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } + me.goodandevil.skyblock.upgrade.Upgrade upgrade1 = upgradeManager + .getUpgrades(upgradeType).get(0); + upgrade1.setCost(upgradeCost); + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), + 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, + new Runnable() { + @Override + public void run() { + Config config = fileManager.getConfig(new File( + skyblock.getDataFolder(), "upgrades.yml")); + FileConfiguration configLoad1 = config + .getFileConfiguration(); + + configLoad1.set( + "Upgrades." + upgradeType.name() + ".Cost", + upgradeCost); + + try { + configLoad1.save(config.getFile()); + } catch (IOException e) { + e.printStackTrace(); + } + } + }); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, () -> open(player), 1L); + } + + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); + + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName( + configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Word.Enter")); + is1.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); }, 1L); } else { event.setWillClose(false); @@ -384,12 +366,7 @@ public class Upgrade { playerData.setViewer(new Upgrade.Viewer(Upgrade.Viewer.Type.Upgrades, null)); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta() .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad .getString("Menu.Admin.Upgrade.Size.Item.Information.Displayname"))))) { @@ -406,12 +383,142 @@ public class Upgrade { } else { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (playerDataManager.hasPlayerData(player) + && playerDataManager + .getPlayerData(player) != null) { + if (!event1.getName().matches("[0-9]+")) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Numerical.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event1.setWillClose(false); + event1.setWillDestroy(false); + + return; + } else { + List upgrades1 = upgradeManager + .getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); + + if (upgrades1 != null && upgrades1.size() >= 5) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Limit.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); + + return; + } + } + + int size = Integer.valueOf(event1.getName()); + + if (size > 1000) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Size.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } else if (upgradeManager.hasUpgrade( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, + size)) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Exist.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event1.setWillClose(false); + event1.setWillDestroy(false); + + return; + } + + soundManager.playSound(player, + Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); + upgradeManager.addUpgrade( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, + size); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); + } + + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); + + ItemStack is12 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is12.getItemMeta(); + im.setDisplayName(configLoad + .getString("Menu.Admin.Upgrade.Size.Item.Word.Size.Enter")); + is12.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); + gui.open(); + }, 1L); + } + } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) + && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Admin.Upgrade.Size.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Material.PAPER) && (is.hasItemMeta())) { + int slot = event.getSlot(); + int tier = slot - 3; + + me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size).get(tier); + + if (upgrade != null) { + if (event.getClick() == ClickType.LEFT) { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (!(player.hasPermission("fabledskyblock.admin.upgrade") + || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Permission.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + return; + } + if (playerDataManager.hasPlayerData(player) && playerDataManager .getPlayerData(player) != null) { @@ -427,30 +534,21 @@ public class Upgrade { event1.setWillDestroy(false); return; - } else { - List upgrades = upgradeManager - .getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); + } else if (upgradeManager.getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) + .get(tier) == null) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Selected.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); - if (upgrades != null && upgrades.size() >= 5) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Limit.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); - - return; - } + return; } int size = Integer.valueOf(event1.getName()); @@ -477,26 +575,28 @@ public class Upgrade { Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - event1.setWillClose(false); - event1.setWillDestroy(false); + event.setWillClose(false); + event.setWillDestroy(false); return; } soundManager.playSound(player, Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); - upgradeManager.addUpgrade( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, - size); + upgradeManager.getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) + .get(tier).setValue(size); + fileManager + .getConfig( + new File(skyblock.getDataFolder(), + "upgrades.yml")) + .getFileConfiguration() + .set("Upgrades.Size." + tier + ".Value", + size); Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + .runTaskLater(skyblock, + () -> open(player), 1L); } event1.setWillClose(true); @@ -507,163 +607,14 @@ public class Upgrade { } }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(configLoad - .getString("Menu.Admin.Upgrade.Size.Item.Word.Size.Enter")); - is.setItemMeta(im); + ItemStack is13 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is13.getItemMeta(); + im.setDisplayName(configLoad.getString( + "Menu.Admin.Upgrade.Size.Item.Word.Size.Enter")); + is13.setItemMeta(im); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is13); gui.open(); - } - }, 1L); - } - } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) - && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Admin.Upgrade.Size.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Material.PAPER) && (is.hasItemMeta())) { - int slot = event.getSlot(); - int tier = slot - 3; - - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size).get(tier); - - if (upgrade != null) { - if (event.getClick() == ClickType.LEFT) { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - if (!(player.hasPermission("fabledskyblock.admin.upgrade") - || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Permission.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - return; - } - - if (playerDataManager.hasPlayerData(player) - && playerDataManager - .getPlayerData(player) != null) { - if (!event1.getName().matches("[0-9]+")) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Numerical.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event1.setWillClose(false); - event1.setWillDestroy(false); - - return; - } else if (upgradeManager.getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) - .get(tier) == null) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Selected.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); - - return; - } - - int size = Integer.valueOf(event1.getName()); - - if (size > 1000) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Size.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } else if (upgradeManager.hasUpgrade( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, - size)) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Exist.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - soundManager.playSound(player, - Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); - upgradeManager.getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) - .get(tier).setValue(size); - fileManager - .getConfig( - new File(skyblock.getDataFolder(), - "upgrades.yml")) - .getFileConfiguration() - .set("Upgrades.Size." + tier + ".Value", - size); - - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); - } - - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); - } - }); - - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(configLoad.getString( - "Menu.Admin.Upgrade.Size.Item.Word.Size.Enter")); - is.setItemMeta(im); - - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } }, 1L); return; @@ -674,106 +625,93 @@ public class Upgrade { } else if (event.getClick() == ClickType.RIGHT) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - AnvilGUI gui = new AnvilGUI(player, event1 -> { - if (event1.getSlot() == AnvilGUI.AnvilSlot.OUTPUT) { - if (!(player.hasPermission("fabledskyblock.admin.upgrade") - || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (!(player.hasPermission("fabledskyblock.admin.upgrade") + || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Permission.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + return; + } + + if (playerDataManager.hasPlayerData(player) + && playerDataManager + .getPlayerData(player) != null) { + if (!(event1.getName().matches("[0-9]+") + || event1.getName().matches( + "([0-9]*)\\.([0-9]{2}$)"))) { messageManager.sendMessage(player, configLoad.getString( - "Island.Admin.Upgrade.Permission.Message")); + "Island.Admin.Upgrade.Numerical.Message")); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + event1.setWillClose(false); + event1.setWillDestroy(false); + + return; + } else if (upgradeManager.getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) + .get(tier) == null) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Selected.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); + return; } - if (playerDataManager.hasPlayerData(player) - && playerDataManager - .getPlayerData(player) != null) { - if (!(event1.getName().matches("[0-9]+") - || event1.getName().matches( - "([0-9]*)\\.([0-9]{2}$)"))) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Numerical.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); + double cost = Double.valueOf(event1.getName()); - event1.setWillClose(false); - event1.setWillDestroy(false); + soundManager.playSound(player, + Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); + upgradeManager.getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) + .get(tier).setCost(cost); + fileManager + .getConfig( + new File(skyblock.getDataFolder(), + "upgrades.yml")) + .getFileConfiguration() + .set("Upgrades.Size." + tier + ".Cost", + cost); - return; - } else if (upgradeManager.getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) - .get(tier) == null) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Selected.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); - - return; - } - - double cost = Double.valueOf(event1.getName()); - - soundManager.playSound(player, - Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); - upgradeManager.getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) - .get(tier).setCost(cost); - fileManager - .getConfig( - new File(skyblock.getDataFolder(), - "upgrades.yml")) - .getFileConfiguration() - .set("Upgrades.Size." + tier + ".Cost", - cost); - - Bukkit.getServer().getScheduler() - .runTaskLaterAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); - } - - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); } - }); - ItemStack is = new ItemStack(Material.NAME_TAG); - ItemMeta im = is.getItemMeta(); - im.setDisplayName(configLoad.getString( - "Menu.Admin.Upgrade.Size.Item.Word.Cost.Enter")); - is.setItemMeta(im); + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); - gui.setSlot(AnvilGUI.AnvilSlot.INPUT_LEFT, is); - gui.open(); - } + ItemStack is14 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is14.getItemMeta(); + im.setDisplayName(configLoad.getString( + "Menu.Admin.Upgrade.Size.Item.Word.Cost.Enter")); + is14.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is14); + gui.open(); }, 1L); return; @@ -785,12 +723,7 @@ public class Upgrade { } } - Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - open(player); - } - }, 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } diff --git a/src/main/java/me/goodandevil/skyblock/utils/AbstractAnvilGUI.java b/src/main/java/me/goodandevil/skyblock/utils/AbstractAnvilGUI.java new file mode 100644 index 00000000..f421601e --- /dev/null +++ b/src/main/java/me/goodandevil/skyblock/utils/AbstractAnvilGUI.java @@ -0,0 +1,283 @@ +package me.goodandevil.skyblock.utils; + +import me.goodandevil.skyblock.SkyBlock; +import me.goodandevil.skyblock.utils.version.NMSUtil; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.inventory.InventoryCloseEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Map; + +public class AbstractAnvilGUI { + + private static Class BlockPositionClass; + private static Class PacketPlayOutOpenWindowClass; + private static Class IChatBaseComponentClass; + private static Class ICraftingClass; + private static Class ContainerAnvilClass; + private static Class ChatMessageClass; + private static Class EntityHumanClass; + private static Class ContainerClass; + private static Class ContainerAccessClass; + private static Class WorldClass; + private static Class PlayerInventoryClass; + private static Class ContainersClass; + + private Player player; + private Map items = new HashMap<>(); + private Inventory inv; + private Listener listener; + + static { + BlockPositionClass = NMSUtil.getNMSClass("BlockPosition"); + PacketPlayOutOpenWindowClass = NMSUtil.getNMSClass("PacketPlayOutOpenWindow"); + IChatBaseComponentClass = NMSUtil.getNMSClass("IChatBaseComponent"); + ICraftingClass = NMSUtil.getNMSClass("ICrafting"); + ContainerAnvilClass = NMSUtil.getNMSClass("ContainerAnvil"); + EntityHumanClass = NMSUtil.getNMSClass("EntityHuman"); + ChatMessageClass = NMSUtil.getNMSClass("ChatMessage"); + ContainerClass = NMSUtil.getNMSClass("Container"); + WorldClass = NMSUtil.getNMSClass("World"); + PlayerInventoryClass = NMSUtil.getNMSClass("PlayerInventory"); + + if (NMSUtil.getVersionNumber() > 13) { + ContainerAccessClass = NMSUtil.getNMSClass("ContainerAccess"); + ContainersClass = NMSUtil.getNMSClass("Containers"); + } + } + + public AbstractAnvilGUI(final Player player, final AnvilClickEventHandler handler) { + this.player = player; + + this.listener = new Listener() { + @EventHandler(priority = EventPriority.LOWEST) + public void onInventoryClick(InventoryClickEvent event) { + if (event.getWhoClicked() instanceof Player) { + + if (event.getInventory().equals(inv)) { + event.setCancelled(true); + + ItemStack item = event.getCurrentItem(); + int slot = event.getRawSlot(); + String name = ""; + + if (item != null) { + if (item.hasItemMeta()) { + ItemMeta meta = item.getItemMeta(); + + if (meta != null && meta.hasDisplayName()) { + name = meta.getDisplayName(); + } + } + } + + AnvilClickEvent clickEvent = new AnvilClickEvent(AnvilSlot.bySlot(slot), name); + + handler.onAnvilClick(clickEvent); + + if (clickEvent.getWillClose()) { + event.getWhoClicked().closeInventory(); + } + + if (clickEvent.getWillDestroy()) { + destroy(); + } + } + } + } + + @EventHandler(priority = EventPriority.LOWEST) + public void onInventoryClose(InventoryCloseEvent event) { + if (event.getPlayer() instanceof Player) { + Inventory inv = event.getInventory(); + player.setLevel(player.getLevel() - 1); + if (inv.equals(inv)) { + inv.clear(); + destroy(); + } + } + } + + @EventHandler(priority = EventPriority.LOWEST) + public void onPlayerQuit(PlayerQuitEvent event) { + if (event.getPlayer().equals(getPlayer())) { + player.setLevel(player.getLevel() - 1); + destroy(); + } + } + }; + + Bukkit.getPluginManager().registerEvents(listener, SkyBlock.getInstance()); + } + + public Player getPlayer() { + return player; + } + + public void setSlot(AnvilSlot slot, ItemStack item) { + items.put(slot, item); + } + + public void open() { + player.setLevel(player.getLevel() + 1); + + try { + Object craftPlayer = NMSUtil.getCraftClass("entity.CraftPlayer").cast(player); + Method getHandleMethod = craftPlayer.getClass().getMethod("getHandle"); + Object entityPlayer = getHandleMethod.invoke(craftPlayer); + Object playerInventory = NMSUtil.getFieldObject(entityPlayer, NMSUtil.getField(entityPlayer.getClass(), "inventory", false)); + Object world = NMSUtil.getFieldObject(entityPlayer, NMSUtil.getField(entityPlayer.getClass(), "world", false)); + Object blockPosition = BlockPositionClass.getConstructor(int.class, int.class, int.class).newInstance(0, 0, 0); + + Object container; + + if (NMSUtil.getVersionNumber() > 13) { + container = ContainerAnvilClass + .getConstructor(int.class, PlayerInventoryClass, ContainerAccessClass) + .newInstance(7, playerInventory, ContainerAccessClass.getMethod("at", WorldClass, BlockPositionClass).invoke(null, world, blockPosition)); + } else { + container = ContainerAnvilClass + .getConstructor(PlayerInventoryClass, WorldClass, BlockPositionClass, EntityHumanClass) + .newInstance(playerInventory, world, blockPosition, entityPlayer); + } + + NMSUtil.getField(ContainerClass, "checkReachable", true).set(container, false); + + Method getBukkitViewMethod = container.getClass().getMethod("getBukkitView"); + Object bukkitView = getBukkitViewMethod.invoke(container); + Method getTopInventoryMethod = bukkitView.getClass().getMethod("getTopInventory"); + inv = (Inventory) getTopInventoryMethod.invoke(bukkitView); + + for (AnvilSlot slot : items.keySet()) { + inv.setItem(slot.getSlot(), items.get(slot)); + } + + Method nextContainerCounterMethod = entityPlayer.getClass().getMethod("nextContainerCounter"); + int c = (int) nextContainerCounterMethod.invoke(entityPlayer); + + Constructor chatMessageConstructor = ChatMessageClass.getConstructor(String.class, Object[].class); + Object inventoryTitle = chatMessageConstructor.newInstance("Repairing", new Object[]{}); + + Object packet; + + if (NMSUtil.getVersionNumber() > 13) { + packet = PacketPlayOutOpenWindowClass + .getConstructor(int.class, ContainersClass, IChatBaseComponentClass) + .newInstance(c, ContainersClass.getField("ANVIL").get(null), inventoryTitle); + } else { + packet = PacketPlayOutOpenWindowClass + .getConstructor(int.class, String.class, IChatBaseComponentClass, int.class) + .newInstance(c, "minecraft:anvil", inventoryTitle, 0); + } + + NMSUtil.sendPacket(player, packet); + + Field activeContainerField = NMSUtil.getField(EntityHumanClass, "activeContainer", true); + + if (activeContainerField != null) { + activeContainerField.set(entityPlayer, container); + NMSUtil.getField(ContainerClass, "windowId", true).set(activeContainerField.get(entityPlayer), c); + Method addSlotListenerMethod = activeContainerField.get(entityPlayer).getClass().getMethod("addSlotListener", ICraftingClass); + addSlotListenerMethod.invoke(activeContainerField.get(entityPlayer), entityPlayer); + + if (NMSUtil.getVersionNumber() > 13) { + ContainerClass.getMethod("setTitle", IChatBaseComponentClass).invoke(container, inventoryTitle); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void destroy() { + player = null; + items = null; + + HandlerList.unregisterAll(listener); + + listener = null; + } + + public enum AnvilSlot { + INPUT_LEFT(0), + INPUT_RIGHT(1), + OUTPUT(2); + + private int slot; + + AnvilSlot(int slot) { + this.slot = slot; + } + + public static AnvilSlot bySlot(int slot) { + for (AnvilSlot anvilSlot : values()) { + if (anvilSlot.getSlot() == slot) { + return anvilSlot; + } + } + + return null; + } + + public int getSlot() { + return slot; + } + } + + @FunctionalInterface + public interface AnvilClickEventHandler { + void onAnvilClick(AnvilClickEvent event); + } + + public class AnvilClickEvent { + private AnvilSlot slot; + + private String name; + + private boolean close = true; + private boolean destroy = true; + + public AnvilClickEvent(AnvilSlot slot, String name) { + this.slot = slot; + this.name = name; + } + + public AnvilSlot getSlot() { + return slot; + } + + public String getName() { + return name; + } + + public boolean getWillClose() { + return close; + } + + public void setWillClose(boolean close) { + this.close = close; + } + + public boolean getWillDestroy() { + return destroy; + } + + public void setWillDestroy(boolean destroy) { + this.destroy = destroy; + } + } + +} diff --git a/src/main/java/me/goodandevil/skyblock/utils/AnvilGUI.java b/src/main/java/me/goodandevil/skyblock/utils/AnvilGUI.java deleted file mode 100644 index d2c93a43..00000000 --- a/src/main/java/me/goodandevil/skyblock/utils/AnvilGUI.java +++ /dev/null @@ -1,276 +0,0 @@ -package me.goodandevil.skyblock.utils; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Map; - -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.HandlerList; -import org.bukkit.event.Listener; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; - -import me.goodandevil.skyblock.SkyBlock; -import me.goodandevil.skyblock.utils.version.NMSUtil; - -public class AnvilGUI { - - private Player player; - - private Class BlockPosition; - private Class PacketPlayOutOpenWindow; - private Class ContainerAnvil; - private Class ChatMessage; - private Class EntityHuman; - - private Map items = new HashMap<>(); - private Inventory inv; - private Listener listener; - - private void loadClasses() { - BlockPosition = NMSUtil.getNMSClass("BlockPosition"); - PacketPlayOutOpenWindow = NMSUtil.getNMSClass("PacketPlayOutOpenWindow"); - ContainerAnvil = NMSUtil.getNMSClass("ContainerAnvil"); - EntityHuman = NMSUtil.getNMSClass("EntityHuman"); - ChatMessage = NMSUtil.getNMSClass("ChatMessage"); - } - - public AnvilGUI(final Player player, final AnvilClickEventHandler handler) { - loadClasses(); - this.player = player; - - this.listener = new Listener() { - @EventHandler - public void onInventoryClick(InventoryClickEvent event) { - if (event.getWhoClicked() instanceof Player) { - - if (event.getInventory().equals(inv)) { - event.setCancelled(true); - - ItemStack item = event.getCurrentItem(); - int slot = event.getRawSlot(); - String name = ""; - - if (item != null) { - if (item.hasItemMeta()) { - ItemMeta meta = item.getItemMeta(); - - if (meta.hasDisplayName()) { - name = meta.getDisplayName(); - } - } - } - - AnvilClickEvent clickEvent = new AnvilClickEvent(AnvilSlot.bySlot(slot), name); - - handler.onAnvilClick(clickEvent); - - if (clickEvent.getWillClose()) { - event.getWhoClicked().closeInventory(); - } - - if (clickEvent.getWillDestroy()) { - destroy(); - } - } - } - } - - @EventHandler - public void onInventoryClose(InventoryCloseEvent event) { - if (event.getPlayer() instanceof Player) { - Inventory inv = event.getInventory(); - player.setLevel(player.getLevel() - 1); - if (inv.equals(AnvilGUI.this.inv)) { - inv.clear(); - destroy(); - } - } - } - - @EventHandler - public void onPlayerQuit(PlayerQuitEvent event) { - if (event.getPlayer().equals(getPlayer())) { - player.setLevel(player.getLevel() - 1); - destroy(); - } - } - }; - - Bukkit.getPluginManager().registerEvents(listener, SkyBlock.getInstance()); - } - - public Player getPlayer() { - return player; - } - - public void setSlot(AnvilSlot slot, ItemStack item) { - items.put(slot, item); - } - - public void open() { - player.setLevel(player.getLevel() + 1); - - try { - Object craftPlayer = NMSUtil.getCraftClass("entity.CraftPlayer").cast(player); - Method getHandleMethod = craftPlayer.getClass().getMethod("getHandle", new Class[0]); - Object entityPlayer = getHandleMethod.invoke(craftPlayer, new Object[0]); - - Object container; - - if (NMSUtil.getVersionNumber() == 7) { - container = ContainerAnvil - .getConstructor( - new Class[] { NMSUtil.getNMSClass("PlayerInventory"), NMSUtil.getNMSClass("World"), - Integer.TYPE, Integer.TYPE, Integer.TYPE, EntityHuman }) - .newInstance(new Object[] { - NMSUtil.getFieldObject(entityPlayer, - NMSUtil.getField(entityPlayer.getClass(), "inventory", false)), - NMSUtil.getFieldObject(entityPlayer, - NMSUtil.getField(entityPlayer.getClass(), "world", false)), - Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0), entityPlayer }); - } else { - container = ContainerAnvil - .getConstructor(NMSUtil.getNMSClass("PlayerInventory"), NMSUtil.getNMSClass("World"), - BlockPosition, EntityHuman) - .newInstance( - NMSUtil.getFieldObject(entityPlayer, - NMSUtil.getField(entityPlayer.getClass(), "inventory", false)), - NMSUtil.getFieldObject(entityPlayer, - NMSUtil.getField(entityPlayer.getClass(), "world", false)), - BlockPosition.getConstructor(int.class, int.class, int.class).newInstance(0, 0, 0), - entityPlayer); - } - - NMSUtil.getField(NMSUtil.getNMSClass("Container"), "checkReachable", true).set(container, false); - - Method getBukkitViewMethod = container.getClass().getMethod("getBukkitView", new Class[0]); - Object bukkitView = getBukkitViewMethod.invoke(container); - Method getTopInventoryMethod = bukkitView.getClass().getMethod("getTopInventory", new Class[0]); - inv = (Inventory) getTopInventoryMethod.invoke(bukkitView); - - for (AnvilSlot slot : items.keySet()) { - inv.setItem(slot.getSlot(), items.get(slot)); - } - - Method nextContainerCounterMethod = entityPlayer.getClass().getMethod("nextContainerCounter", - new Class[0]); - int c = (int) nextContainerCounterMethod.invoke(entityPlayer); - - Constructor chatMessageConstructor = ChatMessage.getConstructor(String.class, Object[].class); - Object packet; - - if (NMSUtil.getVersionNumber() == 7) { - packet = PacketPlayOutOpenWindow - .getConstructor(new Class[] { Integer.TYPE, Integer.TYPE, String.class, Integer.TYPE, - Boolean.TYPE, Integer.TYPE }) - .newInstance(new Object[] { Integer.valueOf(c), Integer.valueOf(8), "Repairing", - Integer.valueOf(0), Boolean.valueOf(true), Integer.valueOf(0) }); - } else { - packet = PacketPlayOutOpenWindow - .getConstructor(int.class, String.class, NMSUtil.getNMSClass("IChatBaseComponent"), int.class) - .newInstance(c, "minecraft:anvil", - chatMessageConstructor.newInstance("Repairing", new Object[] {}), 0); - } - - NMSUtil.sendPacket(player, packet); - - Field activeContainerField = NMSUtil.getField(EntityHuman, "activeContainer", true); - - if (activeContainerField != null) { - activeContainerField.set(entityPlayer, container); - NMSUtil.getField(NMSUtil.getNMSClass("Container"), "windowId", true) - .set(activeContainerField.get(entityPlayer), c); - - Method addSlotListenerMethod = activeContainerField.get(entityPlayer).getClass() - .getMethod("addSlotListener", NMSUtil.getNMSClass("ICrafting")); - addSlotListenerMethod.invoke(activeContainerField.get(entityPlayer), entityPlayer); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - public void destroy() { - player = null; - items = null; - - HandlerList.unregisterAll(listener); - - listener = null; - } - - public enum AnvilSlot { - INPUT_LEFT(0), INPUT_RIGHT(1), OUTPUT(2); - - private int slot; - - private AnvilSlot(int slot) { - this.slot = slot; - } - - public static AnvilSlot bySlot(int slot) { - for (AnvilSlot anvilSlot : values()) { - if (anvilSlot.getSlot() == slot) { - return anvilSlot; - } - } - - return null; - } - - public int getSlot() { - return slot; - } - } - - public interface AnvilClickEventHandler { - void onAnvilClick(AnvilClickEvent event); - } - - public class AnvilClickEvent { - private AnvilSlot slot; - - private String name; - - private boolean close = true; - private boolean destroy = true; - - public AnvilClickEvent(AnvilSlot slot, String name) { - this.slot = slot; - this.name = name; - } - - public AnvilSlot getSlot() { - return slot; - } - - public String getName() { - return name; - } - - public boolean getWillClose() { - return close; - } - - public void setWillClose(boolean close) { - this.close = close; - } - - public boolean getWillDestroy() { - return destroy; - } - - public void setWillDestroy(boolean destroy) { - this.destroy = destroy; - } - } -} diff --git a/src/main/java/me/goodandevil/skyblock/utils/item/nInventoryUtil.java b/src/main/java/me/goodandevil/skyblock/utils/item/nInventoryUtil.java index 52986a0e..792d8ccd 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/item/nInventoryUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/item/nInventoryUtil.java @@ -5,7 +5,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import me.goodandevil.skyblock.utils.version.NMSUtil; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; From c5e48021067b4439c2f85f712ebc0399305bbe30 Mon Sep 17 00:00:00 2001 From: Esophose Date: Thu, 25 Apr 2019 22:33:30 -0600 Subject: [PATCH 6/8] Fix leaderboard bank command, 1.14 fixes --- .../commands/island/LeaderboardCommand.java | 40 +- .../skyblock/generator/GeneratorManager.java | 47 +- .../goodandevil/skyblock/listeners/Block.java | 5 +- .../skyblock/menus/admin/Upgrade.java | 852 +++++++++--------- .../skyblock/utils/item/MaterialUtil.java | 14 + .../skyblock/utils/version/Materials.java | 11 +- 6 files changed, 477 insertions(+), 492 deletions(-) diff --git a/src/main/java/me/goodandevil/skyblock/command/commands/island/LeaderboardCommand.java b/src/main/java/me/goodandevil/skyblock/command/commands/island/LeaderboardCommand.java index 724d9acc..766fd0ad 100644 --- a/src/main/java/me/goodandevil/skyblock/command/commands/island/LeaderboardCommand.java +++ b/src/main/java/me/goodandevil/skyblock/command/commands/island/LeaderboardCommand.java @@ -37,27 +37,27 @@ public class LeaderboardCommand extends SubCommand { .setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Level)); } } else if (args.length == 1) { - if (args[0].equalsIgnoreCase("level")) { - playerDataManager.getPlayerData(player) - .setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Level)); - } else if (args[0].equalsIgnoreCase("votes")) { - if (fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")).getFileConfiguration() - .getBoolean("Island.Visitor.Vote")) { - playerDataManager.getPlayerData(player) - .setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Votes)); - } else { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Leaderboard.Disabled.Message")); + String type = args[0].toLowerCase(); + switch (type) { + case "level": + playerDataManager.getPlayerData(player).setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Level)); + break; + case "bank": + playerDataManager.getPlayerData(player).setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Bank)); + break; + case "votes": + if (fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")).getFileConfiguration().getBoolean("Island.Visitor.Vote")) { + playerDataManager.getPlayerData(player).setViewer(new Leaderboard.Viewer(Leaderboard.Viewer.Type.Votes)); + } else { + messageManager.sendMessage(player, configLoad.getString("Command.Island.Leaderboard.Disabled.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return; + } + break; + default: + messageManager.sendMessage(player, configLoad.getString("Command.Island.Leaderboard.Invalid.Message")); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } - } else { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Leaderboard.Invalid.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - return; } } else { messageManager.sendMessage(player, configLoad.getString("Command.Island.Leaderboard.Invalid.Message")); @@ -93,6 +93,6 @@ public class LeaderboardCommand extends SubCommand { @Override public String[] getArguments() { - return new String[] { "level", "votes" }; + return new String[] { "level", "bank", "votes" }; } } diff --git a/src/main/java/me/goodandevil/skyblock/generator/GeneratorManager.java b/src/main/java/me/goodandevil/skyblock/generator/GeneratorManager.java index 33e39279..5f5c74aa 100644 --- a/src/main/java/me/goodandevil/skyblock/generator/GeneratorManager.java +++ b/src/main/java/me/goodandevil/skyblock/generator/GeneratorManager.java @@ -5,6 +5,7 @@ import me.goodandevil.skyblock.config.FileManager.Config; import me.goodandevil.skyblock.utils.version.Materials; import me.goodandevil.skyblock.utils.version.NMSUtil; import me.goodandevil.skyblock.utils.version.Sounds; +import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; @@ -31,21 +32,22 @@ public class GeneratorManager { Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "generators.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - if (configLoad.getString("Generators") == null) return; + if (configLoad.getString("Generators") == null) + return; Materials[] oreMaterials = new Materials[]{Materials.COAL, Materials.CHARCOAL, Materials.DIAMOND, Materials.IRON_INGOT, Materials.GOLD_INGOT, Materials.EMERALD}; Random rnd = new Random(); for (String generatorList : configLoad.getConfigurationSection("Generators").getKeys(false)) { - if (configLoad.getString("Generators." + generatorList + ".Name") == null) continue; + if (configLoad.getString("Generators." + generatorList + ".Name") == null) + continue; + List generatorMaterials = new ArrayList<>(); - if (configLoad.getString("Generators." + generatorList + ".Materials") != null) { - for (String materialList : configLoad - .getConfigurationSection("Generators." + generatorList + ".Materials").getKeys(false)) { + for (String materialList : configLoad.getConfigurationSection("Generators." + generatorList + ".Materials").getKeys(false)) { + System.out.println(materialList); Materials materials = Materials.fromString(materialList); - if (materials != null) { generatorMaterials.add(new GeneratorMaterial(materials, configLoad.getDouble( "Generators." + generatorList + ".Materials." + materialList + ".Chance"))); @@ -231,13 +233,11 @@ public class GeneratorManager { @SuppressWarnings("deprecation") public BlockState generateBlock(Generator generator, Block block) { - block.setType(Material.AIR); - Materials materials = getRandomMaterials(generator); + if (materials == null) + return block.getState(); - if (materials == null) return block.getState(); - skyblock.getSoundManager().playSound(block.getLocation(), Sounds.FIZZ.bukkitSound(), - 1.0F, 10.0F); + skyblock.getSoundManager().playSound(block.getLocation(), Sounds.FIZZ.bukkitSound(), 1.0F, 10.0F); if (NMSUtil.getVersionNumber() > 12) { block.setType(materials.parseMaterial()); @@ -246,8 +246,7 @@ public class GeneratorManager { block.setType(is.getType()); try { - block.getClass().getMethod("setData", byte.class).invoke(block, - (byte) is.getDurability()); + block.getClass().getMethod("setData", byte.class).invoke(block, (byte) is.getDurability()); } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) { e.printStackTrace(); @@ -259,23 +258,13 @@ public class GeneratorManager { public Materials getRandomMaterials(Generator generator) { if (generator.getGeneratorMaterials() != null && generator.getGeneratorMaterials().size() != 0) { - Map chances = new HashMap<>(); + List weightedList = new ArrayList<>(); + for (GeneratorMaterial generatorMaterial : generator.getGeneratorMaterials()) + for (int i = 0; i < generatorMaterial.getChance() * 30; i++) + weightedList.add(generatorMaterial.getMaterials()); - for (int index = 0; index < generator.getGeneratorMaterials().size(); index++) { - GeneratorMaterial generatorMaterial = generator.getGeneratorMaterials().get(index); - - for (int i = 0; i < generatorMaterial.getChance(); i++) { - chances.put(chances.size() + 1, index); - } - } - - if (chances.size() != 0) { - int rndNum = new Random().nextInt(chances.size()); - - if (rndNum != 0) { - return generator.getGeneratorMaterials().get(chances.get(rndNum)).getMaterials(); - } - } + int choice = new Random().nextInt(weightedList.size()); + return weightedList.get(choice); } return Materials.COBBLESTONE; diff --git a/src/main/java/me/goodandevil/skyblock/listeners/Block.java b/src/main/java/me/goodandevil/skyblock/listeners/Block.java index 61827864..04a3d39d 100644 --- a/src/main/java/me/goodandevil/skyblock/listeners/Block.java +++ b/src/main/java/me/goodandevil/skyblock/listeners/Block.java @@ -472,7 +472,10 @@ public class Block implements Listener { org.bukkit.block.BlockState genState = generatorManager.generateBlock(generator, block); event.getNewState().setType(genState.getType()); - event.getNewState().setData(genState.getData()); + + if (NMSUtil.getVersionNumber() < 13) { + event.getNewState().setData(genState.getData()); + } return; } diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java index f4f309e5..62abbac2 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java @@ -63,171 +63,168 @@ public class Upgrade { Viewer viewer = (Upgrade.Viewer) playerDataManager.getPlayerData(player).getViewer(); if (viewer == null || viewer.getType() == Upgrade.Viewer.Type.Upgrades) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (!(player.hasPermission("fabledskyblock.admin.upgrade") || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { - messageManager.sendMessage(player, - configLoad.getString("Island.Admin.Upgrade.Permission.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (!(player.hasPermission("fabledskyblock.admin.upgrade") || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, + configLoad.getString("Island.Admin.Upgrade.Permission.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; + return; + } + + ItemStack is = event.getItem(); + me.goodandevil.skyblock.upgrade.Upgrade upgrade = null; + + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + + return; + } else if ((is.getType() == Material.POTION) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Speed.Displayname")))) { + upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed) + .get(0); + viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed); + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Jump.Displayname")))) { + upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump) + .get(0); + viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump); } + } else if ((is.getType() == Materials.WHEAT_SEEDS.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Crop.Displayname"))))) { + upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop) + .get(0); + viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop); + } else if ((is.getType() == Material.FEATHER) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Fly.Displayname"))))) { + upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly) + .get(0); + viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly); + } else if ((is.getType() == Material.SPIDER_EYE) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Drops.Displayname"))))) { + upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops) + .get(0); + viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops); + } else if ((is.getType() == Material.BEACON) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Size.Displayname"))))) { + viewer.setType(Viewer.Type.Size); + viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); - ItemStack is = event.getItem(); - me.goodandevil.skyblock.upgrade.Upgrade upgrade = null; + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else if ((is.getType() == Materials.SPAWNER.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Admin.Upgrade.Upgrades.Item.Spawner.Displayname"))))) { + upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner) + .get(0); + viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner); + } - return; - } else if ((is.getType() == Material.POTION) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Speed.Displayname")))) { - upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed) - .get(0); - viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed); - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Jump.Displayname")))) { - upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump) - .get(0); - viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump); + if (upgrade != null) { + if (event.getClick() == ClickType.LEFT) { + if (upgrade.isEnabled()) { + upgrade.setEnabled(false); + } else { + upgrade.setEnabled(true); } - } else if ((is.getType() == Materials.WHEAT_SEEDS.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Crop.Displayname"))))) { - upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop) - .get(0); - viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop); - } else if ((is.getType() == Material.FEATHER) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Fly.Displayname"))))) { - upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly) - .get(0); - viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly); - } else if ((is.getType() == Material.SPIDER_EYE) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Drops.Displayname"))))) { - upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops) - .get(0); - viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops); - } else if ((is.getType() == Material.BEACON) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Size.Displayname"))))) { - viewer.setType(Upgrade.Viewer.Type.Size); - viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if ((is.getType() == Materials.SPAWNER.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Admin.Upgrade.Upgrades.Item.Spawner.Displayname"))))) { - upgrade = upgradeManager.getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner) - .get(0); - viewer.setUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner); - } + } else if (event.getClick() == ClickType.RIGHT) { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - if (upgrade != null) { - if (event.getClick() == ClickType.LEFT) { - if (upgrade.isEnabled()) { - upgrade.setEnabled(false); - } else { - upgrade.setEnabled(true); - } + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (!(player.hasPermission("fabledskyblock.admin.upgrade") + || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, configLoad + .getString("Island.Admin.Upgrade.Permission.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), + 1.0F, 1.0F); - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + return; + } else if (!(event1.getName().matches("[0-9]+") + || event1.getName().matches("([0-9]*)\\.([0-9]{1,2}$)"))) { + messageManager.sendMessage(player, configLoad + .getString("Island.Admin.Upgrade.Numerical.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), + 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if (event.getClick() == ClickType.RIGHT) { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { - if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - if (!(player.hasPermission("fabledskyblock.admin.upgrade") - || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { - messageManager.sendMessage(player, configLoad - .getString("Island.Admin.Upgrade.Permission.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), - 1.0F, 1.0F); - - return; - } else if (!(event1.getName().matches("[0-9]+") - || event1.getName().matches("([0-9]*)\\.([0-9]{1,2}$)"))) { - messageManager.sendMessage(player, configLoad - .getString("Island.Admin.Upgrade.Numerical.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), - 1.0F, 1.0F); - - event1.setWillClose(false); - event1.setWillDestroy(false); - - return; - } - - if (playerDataManager.hasPlayerData(player)) { - double upgradeCost = Double.valueOf(event1.getName()); - me.goodandevil.skyblock.upgrade.Upgrade.Type upgradeType = ((Viewer) playerDataManager - .getPlayerData(player).getViewer()).getUpgrade(); - - me.goodandevil.skyblock.upgrade.Upgrade upgrade1 = upgradeManager - .getUpgrades(upgradeType).get(0); - upgrade1.setCost(upgradeCost); - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), - 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig(new File( - skyblock.getDataFolder(), "upgrades.yml")); - FileConfiguration configLoad1 = config - .getFileConfiguration(); - - configLoad1.set( - "Upgrades." + upgradeType.name() + ".Cost", - upgradeCost); - - try { - configLoad1.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - Bukkit.getServer().getScheduler() - .runTaskLater(skyblock, () -> open(player), 1L); - } - - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { event1.setWillClose(false); event1.setWillDestroy(false); + + return; } - }); - ItemStack is1 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is1.getItemMeta(); - im.setDisplayName( - configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Word.Enter")); - is1.setItemMeta(im); + if (playerDataManager.hasPlayerData(player)) { + double upgradeCost = Double.valueOf(event1.getName()); + me.goodandevil.skyblock.upgrade.Upgrade.Type upgradeType = ((Viewer) playerDataManager + .getPlayerData(player).getViewer()).getUpgrade(); - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); - gui.open(); - }, 1L); - } else { - event.setWillClose(false); - event.setWillDestroy(false); - } + me.goodandevil.skyblock.upgrade.Upgrade upgrade1 = upgradeManager + .getUpgrades(upgradeType).get(0); + upgrade1.setCost(upgradeCost); + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), + 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, + new Runnable() { + @Override + public void run() { + Config config = fileManager.getConfig(new File( + skyblock.getDataFolder(), "upgrades.yml")); + FileConfiguration configLoad1 = config + .getFileConfiguration(); + + configLoad1.set( + "Upgrades." + upgradeType.name() + ".Cost", + upgradeCost); + + try { + configLoad1.save(config.getFile()); + } catch (IOException e) { + e.printStackTrace(); + } + } + }); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, () -> open(player), 1L); + } + + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); + + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName( + configLoad.getString("Menu.Admin.Upgrade.Upgrades.Item.Word.Enter")); + is1.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); + }, 1L); + } else { + event.setWillClose(false); + event.setWillDestroy(false); } } }); @@ -336,57 +333,182 @@ public class Upgrade { configLoad.getString("Menu.Admin.Upgrade.Upgrades.Title"))); nInv.setRows(1); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } else if (viewer.getType() == Upgrade.Viewer.Type.Size) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (!(player.hasPermission("fabledskyblock.admin.upgrade") || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { - messageManager.sendMessage(player, - configLoad.getString("Island.Admin.Upgrade.Permission.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (!(player.hasPermission("fabledskyblock.admin.upgrade") || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, + configLoad.getString("Island.Admin.Upgrade.Permission.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); - ItemStack is = event.getItem(); + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData = playerDataManager.getPlayerData(player); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Admin.Upgrade.Size.Item.Return.Displayname"))))) { - playerData.setViewer(new Upgrade.Viewer(Upgrade.Viewer.Type.Upgrades, null)); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Admin.Upgrade.Size.Item.Return.Displayname"))))) { + playerData.setViewer(new Viewer(Viewer.Type.Upgrades, null)); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta() - .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Admin.Upgrade.Size.Item.Information.Displayname"))))) { - List upgrades = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta() + .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Admin.Upgrade.Size.Item.Information.Displayname"))))) { + List upgrades = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); - if (upgrades != null && upgrades.size() >= 5) { - messageManager.sendMessage(player, - configLoad.getString("Island.Admin.Upgrade.Tier.Limit.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (upgrades != null && upgrades.size() >= 5) { + messageManager.sendMessage(player, + configLoad.getString("Island.Admin.Upgrade.Tier.Limit.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else { + event.setWillClose(false); + event.setWillDestroy(false); + } else { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (playerDataManager.hasPlayerData(player) + && playerDataManager + .getPlayerData(player) != null) { + if (!event1.getName().matches("[0-9]+")) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Numerical.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event1.setWillClose(false); + event1.setWillDestroy(false); + + return; + } else { + List upgrades1 = upgradeManager + .getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); + + if (upgrades1 != null && upgrades1.size() >= 5) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Limit.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); + + return; + } + } + + int size = Integer.valueOf(event1.getName()); + + if (size > 1000) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Size.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } else if (upgradeManager.hasUpgrade( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, + size)) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Exist.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event1.setWillClose(false); + event1.setWillDestroy(false); + + return; + } + + soundManager.playSound(player, + Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); + upgradeManager.addUpgrade( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, + size); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); + } + + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); + + ItemStack is12 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is12.getItemMeta(); + im.setDisplayName(configLoad + .getString("Menu.Admin.Upgrade.Size.Item.Word.Size.Enter")); + is12.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); + gui.open(); + }, 1L); + } + } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) + && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Admin.Upgrade.Size.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Material.PAPER) && (is.hasItemMeta())) { + int slot = event.getSlot(); + int tier = slot - 3; + + me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size).get(tier); + + if (upgrade != null) { + if (event.getClick() == ClickType.LEFT) { soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (!(player.hasPermission("fabledskyblock.admin.upgrade") + || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Permission.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + return; + } + if (playerDataManager.hasPlayerData(player) && playerDataManager .getPlayerData(player) != null) { @@ -402,25 +524,21 @@ public class Upgrade { event1.setWillDestroy(false); return; - } else { - List upgrades1 = upgradeManager - .getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); + } else if (upgradeManager.getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) + .get(tier) == null) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Tier.Selected.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); - if (upgrades1 != null && upgrades1.size() >= 5) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Limit.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); - Bukkit.getServer().getScheduler() - .runTaskLater(skyblock, - () -> open(player), 1L); - - return; - } + return; } int size = Integer.valueOf(event1.getName()); @@ -447,17 +565,24 @@ public class Upgrade { Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - event1.setWillClose(false); - event1.setWillDestroy(false); + event.setWillClose(false); + event.setWillDestroy(false); return; } soundManager.playSound(player, Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); - upgradeManager.addUpgrade( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, - size); + upgradeManager.getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) + .get(tier).setValue(size); + fileManager + .getConfig( + new File(skyblock.getDataFolder(), + "upgrades.yml")) + .getFileConfiguration() + .set("Upgrades.Size." + tier + ".Value", + size); Bukkit.getServer().getScheduler() .runTaskLater(skyblock, @@ -472,259 +597,123 @@ public class Upgrade { } }); - ItemStack is12 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is12.getItemMeta(); - im.setDisplayName(configLoad - .getString("Menu.Admin.Upgrade.Size.Item.Word.Size.Enter")); - is12.setItemMeta(im); + ItemStack is13 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is13.getItemMeta(); + im.setDisplayName(configLoad.getString( + "Menu.Admin.Upgrade.Size.Item.Word.Size.Enter")); + is13.setItemMeta(im); - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is13); gui.open(); }, 1L); - } - } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) - && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Admin.Upgrade.Size.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Material.PAPER) && (is.hasItemMeta())) { - int slot = event.getSlot(); - int tier = slot - 3; + return; + } else if (event.getClick() == ClickType.MIDDLE) { + soundManager.playSound(player, Sounds.IRONGOLEM_HIT.bukkitSound(), 1.0F, 1.0F); + upgradeManager.removeUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, + upgrade.getCost(), upgrade.getValue()); + } else if (event.getClick() == ClickType.RIGHT) { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size).get(tier); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (!(player.hasPermission("fabledskyblock.admin.upgrade") + || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Admin.Upgrade.Permission.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); - if (upgrade != null) { - if (event.getClick() == ClickType.LEFT) { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + return; + } - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { - if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - if (!(player.hasPermission("fabledskyblock.admin.upgrade") - || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { + if (playerDataManager.hasPlayerData(player) + && playerDataManager + .getPlayerData(player) != null) { + if (!(event1.getName().matches("[0-9]+") + || event1.getName().matches( + "([0-9]*)\\.([0-9]{2}$)"))) { messageManager.sendMessage(player, configLoad.getString( - "Island.Admin.Upgrade.Permission.Message")); + "Island.Admin.Upgrade.Numerical.Message")); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + event1.setWillClose(false); + event1.setWillDestroy(false); + return; - } - - if (playerDataManager.hasPlayerData(player) - && playerDataManager - .getPlayerData(player) != null) { - if (!event1.getName().matches("[0-9]+")) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Numerical.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event1.setWillClose(false); - event1.setWillDestroy(false); - - return; - } else if (upgradeManager.getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) - .get(tier) == null) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Selected.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - Bukkit.getServer().getScheduler() - .runTaskLater(skyblock, - () -> open(player), 1L); - - return; - } - - int size = Integer.valueOf(event1.getName()); - - if (size > 1000) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Size.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } else if (upgradeManager.hasUpgrade( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, - size)) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Exist.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - soundManager.playSound(player, - Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); - upgradeManager.getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) - .get(tier).setValue(size); - fileManager - .getConfig( - new File(skyblock.getDataFolder(), - "upgrades.yml")) - .getFileConfiguration() - .set("Upgrades.Size." + tier + ".Value", - size); - - Bukkit.getServer().getScheduler() - .runTaskLater(skyblock, - () -> open(player), 1L); - } - - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); - } - }); - - ItemStack is13 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is13.getItemMeta(); - im.setDisplayName(configLoad.getString( - "Menu.Admin.Upgrade.Size.Item.Word.Size.Enter")); - is13.setItemMeta(im); - - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is13); - gui.open(); - }, 1L); - - return; - } else if (event.getClick() == ClickType.MIDDLE) { - soundManager.playSound(player, Sounds.IRONGOLEM_HIT.bukkitSound(), 1.0F, 1.0F); - upgradeManager.removeUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size, - upgrade.getCost(), upgrade.getValue()); - } else if (event.getClick() == ClickType.RIGHT) { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { - if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - if (!(player.hasPermission("fabledskyblock.admin.upgrade") - || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { + } else if (upgradeManager.getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) + .get(tier) == null) { messageManager.sendMessage(player, configLoad.getString( - "Island.Admin.Upgrade.Permission.Message")); + "Island.Admin.Upgrade.Tier.Selected.Message")); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } - - if (playerDataManager.hasPlayerData(player) - && playerDataManager - .getPlayerData(player) != null) { - if (!(event1.getName().matches("[0-9]+") - || event1.getName().matches( - "([0-9]*)\\.([0-9]{2}$)"))) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Numerical.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event1.setWillClose(false); - event1.setWillDestroy(false); - - return; - } else if (upgradeManager.getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) - .get(tier) == null) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Admin.Upgrade.Tier.Selected.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - Bukkit.getServer().getScheduler() - .runTaskLater(skyblock, - () -> open(player), 1L); - - return; - } - - double cost = Double.valueOf(event1.getName()); - - soundManager.playSound(player, - Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); - upgradeManager.getUpgrades( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) - .get(tier).setCost(cost); - fileManager - .getConfig( - new File(skyblock.getDataFolder(), - "upgrades.yml")) - .getFileConfiguration() - .set("Upgrades.Size." + tier + ".Cost", - cost); - Bukkit.getServer().getScheduler() .runTaskLater(skyblock, () -> open(player), 1L); + + return; } - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); + double cost = Double.valueOf(event1.getName()); + + soundManager.playSound(player, + Sounds.ANVIL_USE.bukkitSound(), 1.0F, 1.0F); + upgradeManager.getUpgrades( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size) + .get(tier).setCost(cost); + fileManager + .getConfig( + new File(skyblock.getDataFolder(), + "upgrades.yml")) + .getFileConfiguration() + .set("Upgrades.Size." + tier + ".Cost", + cost); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player), 1L); } - }); - ItemStack is14 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is14.getItemMeta(); - im.setDisplayName(configLoad.getString( - "Menu.Admin.Upgrade.Size.Item.Word.Cost.Enter")); - is14.setItemMeta(im); + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is14); - gui.open(); - }, 1L); + ItemStack is14 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is14.getItemMeta(); + im.setDisplayName(configLoad.getString( + "Menu.Admin.Upgrade.Size.Item.Word.Cost.Enter")); + is14.setItemMeta(im); - return; - } else { - event.setWillClose(false); - event.setWillDestroy(false); + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is14); + gui.open(); + }, 1L); - return; - } + return; + } else { + event.setWillClose(false); + event.setWillDestroy(false); + + return; } - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } }); @@ -771,12 +760,7 @@ public class Upgrade { configLoad.getString("Menu.Admin.Upgrade.Size.Title"))); nInv.setRows(1); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/utils/item/MaterialUtil.java b/src/main/java/me/goodandevil/skyblock/utils/item/MaterialUtil.java index b46678c3..bf09e0f1 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/item/MaterialUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/item/MaterialUtil.java @@ -17,6 +17,16 @@ public class MaterialUtil { material = Materials.LEGACY_NETHER_STALK.getPostMaterial(); } else if (material == Materials.LEGACY_SIGN_POST.getPostMaterial() || material == Materials.OAK_WALL_SIGN.parseMaterial()) { material = Materials.OAK_SIGN.parseMaterial(); + } else if (material == Materials.BIRCH_WALL_SIGN.parseMaterial()) { + material = Materials.BIRCH_SIGN.parseMaterial(); + } else if (material == Materials.SPRUCE_WALL_SIGN.parseMaterial()) { + material = Materials.SPRUCE_SIGN.parseMaterial(); + } else if (material == Materials.JUNGLE_WALL_SIGN.parseMaterial()) { + material = Materials.JUNGLE_SIGN.parseMaterial(); + } else if (material == Materials.ACACIA_WALL_SIGN.parseMaterial()) { + material = Materials.ACACIA_SIGN.parseMaterial(); + } else if (material == Materials.DARK_OAK_WALL_SIGN.parseMaterial()) { + material = Materials.DARK_OAK_SIGN.parseMaterial(); } else if (material == Materials.LEGACY_SUGAR_CANE_BLOCK.getPostMaterial()) { material = Material.SUGAR_CANE; } else if (material == Material.TRIPWIRE) { @@ -33,6 +43,10 @@ public class MaterialUtil { material = Materials.LEGACY_BREWING_STAND.getPostMaterial(); } else if (material.name().equals("BED_BLOCK")) { material = Materials.RED_BED.getPostMaterial(); + } else if (material == Materials.SWEET_BERRY_BUSH.parseMaterial()) { + material = Materials.SWEET_BERRIES.parseMaterial(); + } else if (material == Materials.BAMBOO_SAPLING.parseMaterial()) { + material = Materials.BAMBOO.parseMaterial(); } return material; diff --git a/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java b/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java index 9ea33aa5..4a96f315 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java +++ b/src/main/java/me/goodandevil/skyblock/utils/version/Materials.java @@ -1240,17 +1240,12 @@ public enum Materials { return Materials.SPAWNER.parseMaterial(); Material mat = Material.matchMaterial(this.toString()); - - if (mat != null) { - return mat; - } - - if (old13Mat != null) - mat = Material.matchMaterial(old13Mat); - if (mat != null) return mat; + if (old13Mat != null) + return Material.matchMaterial(old13Mat); + return Material.matchMaterial(old12Mat); } From 276888a1cccf7e9c509f01526eb0c4328f43a422 Mon Sep 17 00:00:00 2001 From: Esophose Date: Sat, 27 Apr 2019 14:05:41 -0600 Subject: [PATCH 7/8] Code cleanup & minor bug fixes, added metrics & Songoda Updater --- build.gradle | 5 +- .../me/goodandevil/skyblock/SkyBlock.java | 16 +- .../commands/island/TeleportCommand.java | 9 +- .../command/commands/island/VisitCommand.java | 7 +- .../skyblock/generator/GeneratorManager.java | 1 - .../goodandevil/skyblock/listeners/Death.java | 10 +- .../skyblock/listeners/Entity.java | 10 + .../me/goodandevil/skyblock/menus/Bans.java | 182 ++- .../me/goodandevil/skyblock/menus/Biome.java | 174 ++- .../me/goodandevil/skyblock/menus/Border.java | 166 ++- .../skyblock/menus/ControlPanel.java | 130 +- .../me/goodandevil/skyblock/menus/Coop.java | 184 ++- .../goodandevil/skyblock/menus/Creator.java | 191 ++- .../skyblock/menus/Information.java | 300 ++--- .../skyblock/menus/Leaderboard.java | 217 ++-- .../goodandevil/skyblock/menus/Levelling.java | 24 +- .../goodandevil/skyblock/menus/Members.java | 232 ++-- .../goodandevil/skyblock/menus/Ownership.java | 320 +++-- .../goodandevil/skyblock/menus/Settings.java | 1154 ++++++++--------- .../goodandevil/skyblock/menus/Upgrade.java | 679 +++++----- .../me/goodandevil/skyblock/menus/Visit.java | 340 +++-- .../goodandevil/skyblock/menus/Visitors.java | 154 ++- .../goodandevil/skyblock/menus/Weather.java | 210 ++- .../skyblock/menus/admin/Creator.java | 74 +- .../skyblock/menus/admin/Generator.java | 71 +- .../skyblock/menus/admin/Levelling.java | 68 +- .../skyblock/menus/admin/Settings.java | 206 ++- .../skyblock/menus/admin/Upgrade.java | 27 +- .../placeholder/PlaceholderManager.java | 11 +- .../skyblock/stackable/Stackable.java | 46 +- .../skyblock/usercache/UserCacheManager.java | 116 +- .../goodandevil/skyblock/utils/Metrics.java | 695 ++++++++++ .../utils/reflection/PackageClassLoader.java | 72 - .../utils/structure/StructureUtil.java | 57 +- .../skyblock/utils/world/block/BlockUtil.java | 8 +- src/main/resources/language.yml | 2 + 36 files changed, 3271 insertions(+), 2897 deletions(-) create mode 100644 src/main/java/me/goodandevil/skyblock/utils/Metrics.java delete mode 100644 src/main/java/me/goodandevil/skyblock/utils/reflection/PackageClassLoader.java diff --git a/build.gradle b/build.gradle index e5412082..d93a1620 100644 --- a/build.gradle +++ b/build.gradle @@ -41,8 +41,11 @@ dependencies { shade (group: 'org.apache.commons', name: 'commons-lang3', version: '3.0') shade (group: 'commons-io', name: 'commons-io', version: '2.5') + // Songoda Updater + shade (group: 'com.songoda', name: 'songodaupdater', version: '1') + // Spigot - implementation (group: 'org.spigotmc', name: 'spigot', version: '1.14-pre5-2') + implementation (group: 'org.spigotmc', name: 'spigot', version: '1.14') } processResources { diff --git a/src/main/java/me/goodandevil/skyblock/SkyBlock.java b/src/main/java/me/goodandevil/skyblock/SkyBlock.java index 077197b0..a17bab17 100644 --- a/src/main/java/me/goodandevil/skyblock/SkyBlock.java +++ b/src/main/java/me/goodandevil/skyblock/SkyBlock.java @@ -1,5 +1,7 @@ package me.goodandevil.skyblock; +import com.songoda.update.Plugin; +import com.songoda.update.SongodaUpdate; import me.goodandevil.skyblock.api.SkyBlockAPI; import me.goodandevil.skyblock.ban.BanManager; import me.goodandevil.skyblock.biome.BiomeManager; @@ -30,6 +32,7 @@ import me.goodandevil.skyblock.stackable.StackableManager; import me.goodandevil.skyblock.structure.StructureManager; import me.goodandevil.skyblock.upgrade.UpgradeManager; import me.goodandevil.skyblock.usercache.UserCacheManager; +import me.goodandevil.skyblock.utils.Metrics; import me.goodandevil.skyblock.visit.VisitManager; import me.goodandevil.skyblock.visit.VisitTask; import me.goodandevil.skyblock.world.WorldManager; @@ -114,11 +117,7 @@ public class SkyBlock extends JavaPlugin { if (fileManager.getConfig(new File(getDataFolder(), "config.yml")).getFileConfiguration() .getBoolean("Island.Stackable.Enable")) { stackableManager = new StackableManager(this); - new BukkitRunnable() { - public void run() { - stackableManager.loadSavedStackables(); - } - }.runTaskLater(this, 5L); + Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> stackableManager.loadSavedStackables(), 5L); } leaderboardManager = new LeaderboardManager(this); @@ -164,6 +163,13 @@ public class SkyBlock extends JavaPlugin { this.getCommand("skyblock").setExecutor(new SkyBlockCommand()); + // bStats Metrics + new Metrics(this); + + // Songoda Updater + Plugin plugin = new Plugin(this, 17); + SongodaUpdate.load(plugin); + SkyBlockAPI.setImplementation(instance); } diff --git a/src/main/java/me/goodandevil/skyblock/command/commands/island/TeleportCommand.java b/src/main/java/me/goodandevil/skyblock/command/commands/island/TeleportCommand.java index 7286ee61..38cb9ffc 100644 --- a/src/main/java/me/goodandevil/skyblock/command/commands/island/TeleportCommand.java +++ b/src/main/java/me/goodandevil/skyblock/command/commands/island/TeleportCommand.java @@ -113,12 +113,9 @@ public class TeleportCommand extends SubCommand { configLoad.getString("Command.Island.Teleport.Teleported.Yourself.Message")); soundManager.playSound(player, Sounds.ENDERMAN_TELEPORT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - player.teleport(island.getLocation(IslandWorld.Normal, IslandEnvironment.Main)); - player.setFallDistance(0.0F); - } + Bukkit.getServer().getScheduler().runTask(skyblock, () -> { + player.teleport(island.getLocation(IslandWorld.Normal, IslandEnvironment.Main)); + player.setFallDistance(0.0F); }); } } diff --git a/src/main/java/me/goodandevil/skyblock/command/commands/island/VisitCommand.java b/src/main/java/me/goodandevil/skyblock/command/commands/island/VisitCommand.java index 04fdda77..9ae324d3 100644 --- a/src/main/java/me/goodandevil/skyblock/command/commands/island/VisitCommand.java +++ b/src/main/java/me/goodandevil/skyblock/command/commands/island/VisitCommand.java @@ -27,12 +27,7 @@ public class VisitCommand extends SubCommand { Visit.getInstance().open(player, (Visit.Type) playerData.getType(), (Visit.Sort) playerData.getSort()); soundManager.playSound(player, Sounds.CHEST_OPEN.bukkitSound(), 1.0F, 1.0F); } else if (args.length == 1) { - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island teleport " + args[0]); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island teleport " + args[0])); } else { messageManager.sendMessage(player, skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml")) diff --git a/src/main/java/me/goodandevil/skyblock/generator/GeneratorManager.java b/src/main/java/me/goodandevil/skyblock/generator/GeneratorManager.java index 5f5c74aa..14525c02 100644 --- a/src/main/java/me/goodandevil/skyblock/generator/GeneratorManager.java +++ b/src/main/java/me/goodandevil/skyblock/generator/GeneratorManager.java @@ -46,7 +46,6 @@ public class GeneratorManager { List generatorMaterials = new ArrayList<>(); if (configLoad.getString("Generators." + generatorList + ".Materials") != null) { for (String materialList : configLoad.getConfigurationSection("Generators." + generatorList + ".Materials").getKeys(false)) { - System.out.println(materialList); Materials materials = Materials.fromString(materialList); if (materials != null) { generatorMaterials.add(new GeneratorMaterial(materials, configLoad.getDouble( diff --git a/src/main/java/me/goodandevil/skyblock/listeners/Death.java b/src/main/java/me/goodandevil/skyblock/listeners/Death.java index 2fad6918..1825204a 100644 --- a/src/main/java/me/goodandevil/skyblock/listeners/Death.java +++ b/src/main/java/me/goodandevil/skyblock/listeners/Death.java @@ -50,12 +50,10 @@ public class Death implements Listener { } if (configLoad.getBoolean("Island.Death.AutoRespawn")) { - Bukkit.getScheduler().scheduleSyncDelayedTask(skyblock, new Runnable() { - public void run() { - player.spigot().respawn(); - player.setFallDistance(0.0F); - player.setFireTicks(0); - } + Bukkit.getScheduler().scheduleSyncDelayedTask(skyblock, () -> { + player.spigot().respawn(); + player.setFallDistance(0.0F); + player.setFireTicks(0); }, 1L); } } diff --git a/src/main/java/me/goodandevil/skyblock/listeners/Entity.java b/src/main/java/me/goodandevil/skyblock/listeners/Entity.java index 9c41d746..e40a3127 100644 --- a/src/main/java/me/goodandevil/skyblock/listeners/Entity.java +++ b/src/main/java/me/goodandevil/skyblock/listeners/Entity.java @@ -244,6 +244,16 @@ public class Entity implements Listener { @EventHandler public void onStackableInteract(PlayerArmorStandManipulateEvent event) { + Player player = event.getPlayer(); + if (!skyblock.getIslandManager().hasPermission(player, event.getRightClicked().getLocation(), "ArmorStandUse")) { + event.setCancelled(true); + + skyblock.getMessageManager().sendMessage(player, + skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml")) + .getFileConfiguration().getString("Island.Settings.Permission.Message")); + skyblock.getSoundManager().playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + } + if (NMSUtil.getVersionNumber() != 8) return; diff --git a/src/main/java/me/goodandevil/skyblock/menus/Bans.java b/src/main/java/me/goodandevil/skyblock/menus/Bans.java index e1911857..b0266fff 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Bans.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Bans.java @@ -60,105 +60,102 @@ public class Bans { Config languageConfig = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")); FileConfiguration configLoad = languageConfig.getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData1 = playerDataManager.getPlayerData(player); + Island island1 = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Bans.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (island1 == null) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Bans.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Visitor.Banning")) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Bans.Disabled.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return; + } else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Visitor.Banning")) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Bans.Disabled.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - ItemStack is = event.getItem(); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Bans.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Bans.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Bans.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Bans.Item.Information.Displayname"))))) { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Bans.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Bans.Item.Information.Displayname"))))) { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { - if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - Bukkit.getServer().dispatchCommand(player, - "island ban " + event1.getName()); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + Bukkit.getServer().dispatchCommand(player, + "island ban " + event1.getName()); - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); - } - }); - - ItemStack is1 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is1.getItemMeta(); - im.setDisplayName(configLoad.getString("Menu.Bans.Item.Word.Enter")); - is1.setItemMeta(im); - - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); - gui.open(); - }, 1L); - } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Bans.Item.Nothing.Displayname"))))) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Bans.Item.Previous.Displayname")))) { - playerData.setPage(playerData.getPage() - 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', configLoad.getString("Menu.Bans.Item.Next.Displayname")))) { - playerData.setPage(playerData.getPage() + 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else { - if ((island.hasRole(IslandRole.Operator, player.getUniqueId()) - && island.getSetting(IslandRole.Operator, "Unban").getStatus()) - || island.hasRole(IslandRole.Owner, player.getUniqueId())) { - String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); - Bukkit.getServer().dispatchCommand(player, "island unban " + playerName); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 3L); + event1.setWillClose(true); + event1.setWillDestroy(true); } else { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Bans.Permission.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); + event1.setWillClose(false); + event1.setWillDestroy(false); } + }); + + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName(configLoad.getString("Menu.Bans.Item.Word.Enter")); + is1.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); + }, 1L); + } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Bans.Item.Nothing.Displayname"))))) { + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Bans.Item.Previous.Displayname")))) { + playerData1.setPage(playerData1.getPage() - 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', configLoad.getString("Menu.Bans.Item.Next.Displayname")))) { + playerData1.setPage(playerData1.getPage() + 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else { + if ((island1.hasRole(IslandRole.Operator, player.getUniqueId()) + && island1.getSetting(IslandRole.Operator, "Unban").getStatus()) + || island1.hasRole(IslandRole.Owner, player.getUniqueId())) { + String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); + Bukkit.getServer().dispatchCommand(player, "island unban " + playerName); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 3L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Bans.Permission.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); } } } @@ -236,12 +233,7 @@ public class Bans { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Bans.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Biome.java b/src/main/java/me/goodandevil/skyblock/menus/Biome.java index 9d60f71c..398ded4e 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Biome.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Biome.java @@ -54,102 +54,99 @@ public class Biome { if (playerDataManager.hasPlayerData(player)) { FileConfiguration langConfig = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml")).getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + Island island = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, - langConfig.getString("Command.Island.Biome.Owner.Message")); + if (island == null) { + messageManager.sendMessage(player, + langConfig.getString("Command.Island.Biome.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + player.closeInventory(); + + return; + } else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId()) + && island.getSetting(IslandRole.Operator, "Biome").getStatus()) + || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { + messageManager.sendMessage(player, + langConfig.getString("Command.Island.Biome.Permission.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + player.closeInventory(); + + return; + } + + ItemStack is = event.getItem(); + + if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + langConfig.getString("Menu.Biome.Item.Info.Displayname"))))) { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) + && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + langConfig.getString("Menu.Biome.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) +&& (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', +langConfig.getString("Menu.Biome.Item.Exit.Displayname"))))) { +soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else { + if (is.getItemMeta().hasEnchant(Enchantment.THORNS)) { soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - player.closeInventory(); - - return; - } else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId()) - && island.getSetting(IslandRole.Operator, "Biome").getStatus()) - || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { - messageManager.sendMessage(player, - langConfig.getString("Command.Island.Biome.Permission.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - player.closeInventory(); - - return; - } - - ItemStack is = event.getItem(); - - if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - langConfig.getString("Menu.Biome.Item.Info.Displayname"))))) { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); event.setWillClose(false); event.setWillDestroy(false); - } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) - && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - langConfig.getString("Menu.Biome.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - langConfig.getString("Menu.Biome.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); } else { - if (is.getItemMeta().hasEnchant(Enchantment.THORNS)) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (cooldownManager.hasPlayer(CooldownType.Biome, player) && !player.hasPermission("fabledskyblock.bypass.cooldown")) { + CooldownPlayer cooldownPlayer = cooldownManager.getCooldownPlayer(CooldownType.Biome, player); + Cooldown cooldown = cooldownPlayer.getCooldown(); + + if (cooldown.getTime() < 60) { + messageManager.sendMessage(player, + langConfig.getString("Island.Biome.Cooldown.Message") + .replace("%time", + cooldown.getTime() + " " + langConfig + .getString("Island.Biome.Cooldown.Word.Second"))); + } else { + long[] durationTime = NumberUtil.getDuration(cooldown.getTime()); + messageManager.sendMessage(player, + langConfig.getString("Island.Biome.Cooldown.Message") + .replace("%time", durationTime[2] + " " + + langConfig.getString("Island.Biome.Cooldown.Word.Minute") + + " " + durationTime[3] + " " + + langConfig.getString("Island.Biome.Cooldown.Word.Second"))); + } + + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); event.setWillClose(false); event.setWillDestroy(false); - } else { - if (cooldownManager.hasPlayer(CooldownType.Biome, player) && !player.hasPermission("fabledskyblock.bypass.cooldown")) { - CooldownPlayer cooldownPlayer = cooldownManager.getCooldownPlayer(CooldownType.Biome, player); - Cooldown cooldown = cooldownPlayer.getCooldown(); - if (cooldown.getTime() < 60) { - messageManager.sendMessage(player, - langConfig.getString("Island.Biome.Cooldown.Message") - .replace("%time", - cooldown.getTime() + " " + langConfig - .getString("Island.Biome.Cooldown.Word.Second"))); - } else { - long[] durationTime = NumberUtil.getDuration(cooldown.getTime()); - messageManager.sendMessage(player, - langConfig.getString("Island.Biome.Cooldown.Message") - .replace("%time", durationTime[2] + " " - + langConfig.getString("Island.Biome.Cooldown.Word.Minute") - + " " + durationTime[3] + " " - + langConfig.getString("Island.Biome.Cooldown.Word.Second"))); - } - - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - @SuppressWarnings("deprecation") - SBiome selectedBiomeType = SBiome.getFromGuiIcon(is.getType(), is.getData().getData()); - - cooldownManager.createPlayer(CooldownType.Biome, player); - biomeManager.setBiome(island, selectedBiomeType.getBiome()); - island.setBiome(selectedBiomeType.getBiome()); - island.save(); - - soundManager.playSound(island.getLocation(IslandWorld.Normal, IslandEnvironment.Island), - Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F); - - if (!islandManager.isPlayerAtIsland(island, player, IslandWorld.Normal)) { - soundManager.playSound(player, Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F); - } - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + return; } + + @SuppressWarnings("deprecation") + SBiome selectedBiomeType = SBiome.getFromGuiIcon(is.getType(), is.getData().getData()); + + cooldownManager.createPlayer(CooldownType.Biome, player); + biomeManager.setBiome(island, selectedBiomeType.getBiome()); + island.setBiome(selectedBiomeType.getBiome()); + island.save(); + + soundManager.playSound(island.getLocation(IslandWorld.Normal, IslandEnvironment.Island), + Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F); + + if (!islandManager.isPlayerAtIsland(island, player, IslandWorld.Normal)) { + soundManager.playSound(player, Sounds.SPLASH.bukkitSound(), 1.0F, 1.0F); + } + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } }); @@ -216,12 +213,7 @@ public class Biome { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', langConfig.getString("Menu.Biome.Title"))); nInv.setRows(4); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Border.java b/src/main/java/me/goodandevil/skyblock/menus/Border.java index 8426cb24..4473a874 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Border.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Border.java @@ -48,105 +48,102 @@ public class Border { FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")) .getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + Island island = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, configLoad.getString("Command.Island.Border.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (island == null) { + messageManager.sendMessage(player, configLoad.getString("Command.Island.Border.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId()) - && island.getSetting(IslandRole.Operator, "Border").getStatus()) - || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Border.Permission.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + return; + } else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId()) + && island.getSetting(IslandRole.Operator, "Border").getStatus()) + || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Border.Permission.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - return; - } else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.WorldBorder.Enable")) { - messageManager.sendMessage(player, configLoad.getString("Command.Island.Border.Disabled.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return; + } else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.WorldBorder.Enable")) { + messageManager.sendMessage(player, configLoad.getString("Command.Island.Border.Disabled.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; + return; + } + + ItemStack is = event.getItem(); + + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Border.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Border.Item.Toggle.Displayname"))))) { + if (island.isBorder()) { + island.setBorder(false); + } else { + island.setBorder(true); } - ItemStack is = event.getItem(); + islandManager.updateBorder(island); + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Border.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Border.Item.Toggle.Displayname"))))) { - if (island.isBorder()) { - island.setBorder(false); - } else { - island.setBorder(true); - } + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else if ((is.getType() == Materials.LIGHT_BLUE_DYE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", + configLoad.getString("Menu.Border.Item.Word.Blue")))))) { + if (island.getBorderColor() == WorldBorder.Color.Blue) { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else { + island.setBorderColor(WorldBorder.Color.Blue); islandManager.updateBorder(island); + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if ((is.getType() == Materials.LIGHT_BLUE_DYE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", - configLoad.getString("Menu.Border.Item.Word.Blue")))))) { - if (island.getBorderColor() == WorldBorder.Color.Blue) { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + } + } else if ((is.getType() == Materials.LIME_DYE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", + configLoad.getString("Menu.Border.Item.Word.Green")))))) { + if (island.getBorderColor() == WorldBorder.Color.Green) { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else { - island.setBorderColor(WorldBorder.Color.Blue); - islandManager.updateBorder(island); + event.setWillClose(false); + event.setWillDestroy(false); + } else { + island.setBorderColor(WorldBorder.Color.Green); + islandManager.updateBorder(island); - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } - } else if ((is.getType() == Materials.LIME_DYE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", - configLoad.getString("Menu.Border.Item.Word.Green")))))) { - if (island.getBorderColor() == WorldBorder.Color.Green) { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } + } else if ((is.getType() == Materials.RED_DYE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", + configLoad.getString("Menu.Border.Item.Word.Red")))))) { + if (island.getBorderColor() == WorldBorder.Color.Red) { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else { - island.setBorderColor(WorldBorder.Color.Green); - islandManager.updateBorder(island); + event.setWillClose(false); + event.setWillDestroy(false); + } else { + island.setBorderColor(WorldBorder.Color.Red); + islandManager.updateBorder(island); - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } - } else if ((is.getType() == Materials.RED_DYE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Border.Item.Color.Displayname").replace("%color", - configLoad.getString("Menu.Border.Item.Word.Red")))))) { - if (island.getBorderColor() == WorldBorder.Color.Red) { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } else { - island.setBorderColor(WorldBorder.Color.Red); - islandManager.updateBorder(island); - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } }); @@ -223,11 +220,6 @@ public class Border { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Border.Title"))); nInv.setType(InventoryType.HOPPER); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/ControlPanel.java b/src/main/java/me/goodandevil/skyblock/menus/ControlPanel.java index acbb3acc..6a2ca753 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/ControlPanel.java +++ b/src/main/java/me/goodandevil/skyblock/menus/ControlPanel.java @@ -36,91 +36,48 @@ public class ControlPanel { Config config = skyblock.getFileManager().getConfig(new File(skyblock.getDataFolder(), "language.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - ItemStack is = event.getItem(); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_DOOR.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Teleport.Displayname"))))) { - Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island teleport"); - } - }, 1L); - } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Barrier.Displayname"))))) { - skyblock.getSoundManager().playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.OAK_DOOR.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Teleport.Displayname"))))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island teleport"), 1L); + } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Barrier.Displayname"))))) { + skyblock.getSoundManager().playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.EXPERIENCE_BOTTLE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Level.Displayname"))))) { - Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island level"); - } - }, 1L); - } else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Settings.Displayname"))))) { - Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island settings"); - } - }, 1L); - } else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Members.Displayname"))))) { - Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island members"); - } - }, 1L); - } else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Biome.Displayname"))))) { - Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island biome"); - } - }, 1L); - } else if ((is.getType() == Materials.CLOCK.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Weather.Displayname"))))) { - Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island weather"); - } - }, 1L); - } else if ((is.getType() == Material.IRON_AXE) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Bans.Displayname"))))) { - Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island bans"); - } - }, 1L); - } else if ((is.getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.ControlPanel.Item.Visitors.Displayname"))))) { - Bukkit.getServer().getScheduler().runTaskLater(skyblock, new Runnable() { - @Override - public void run() { - Bukkit.getServer().dispatchCommand(player, "island visitors"); - } - }, 1L); - } + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.EXPERIENCE_BOTTLE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Level.Displayname"))))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island level"), 1L); + } else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Settings.Displayname"))))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island settings"), 1L); + } else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Members.Displayname"))))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island members"), 1L); + } else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Biome.Displayname"))))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island biome"), 1L); + } else if ((is.getType() == Materials.CLOCK.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Weather.Displayname"))))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island weather"), 1L); + } else if ((is.getType() == Material.IRON_AXE) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Bans.Displayname"))))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island bans"), 1L); + } else if ((is.getType() == Materials.OAK_SIGN.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.ControlPanel.Item.Visitors.Displayname"))))) { + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> Bukkit.getServer().dispatchCommand(player, "island visitors"), 1L); } }); @@ -155,11 +112,6 @@ public class ControlPanel { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.ControlPanel.Title"))); nInv.setRows(1); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Coop.java b/src/main/java/me/goodandevil/skyblock/menus/Coop.java index 867db209..8f58c0aa 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Coop.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Coop.java @@ -57,106 +57,103 @@ public class Coop { Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")); FileConfiguration configLoad = config.getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData = playerDataManager.getPlayerData(player); + Island island = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Coop.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (island == null) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Coop.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Coop.Enable")) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Coop.Disabled.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return; + } else if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Coop.Enable")) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Coop.Disabled.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - ItemStack is = event.getItem(); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Coop.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Coop.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Coop.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - player.closeInventory(); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Coop.Item.Information.Displayname"))))) { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Coop.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + player.closeInventory(); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Coop.Item.Information.Displayname"))))) { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { - if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - Bukkit.getServer().dispatchCommand(player, - "island coop " + event1.getName()); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + Bukkit.getServer().dispatchCommand(player, + "island coop " + event1.getName()); - event1.setWillClose(true); - event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); - } - }); - - ItemStack is1 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is1.getItemMeta(); - im.setDisplayName(configLoad.getString("Menu.Coop.Item.Word.Enter")); - is1.setItemMeta(im); - - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); - gui.open(); - }, 1L); - } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Coop.Item.Nothing.Displayname"))))) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Coop.Item.Previous.Displayname")))) { - playerData.setPage(playerData.getPage() - 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', configLoad.getString("Menu.Coop.Item.Next.Displayname")))) { - playerData.setPage(playerData.getPage() + 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else { - if ((island.hasRole(IslandRole.Operator, player.getUniqueId()) - && island.getSetting(IslandRole.Operator, "CoopPlayers").getStatus()) - || island.hasRole(IslandRole.Owner, player.getUniqueId())) { - String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); - Bukkit.getServer().dispatchCommand(player, "island coop " + playerName); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 3L); + event1.setWillClose(true); + event1.setWillDestroy(true); } else { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Coop.Permission.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); + event1.setWillClose(false); + event1.setWillDestroy(false); } + }); + + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName(configLoad.getString("Menu.Coop.Item.Word.Enter")); + is1.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); + }, 1L); + } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Coop.Item.Nothing.Displayname"))))) { + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Coop.Item.Previous.Displayname")))) { + playerData.setPage(playerData.getPage() - 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', configLoad.getString("Menu.Coop.Item.Next.Displayname")))) { + playerData.setPage(playerData.getPage() + 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else { + if ((island.hasRole(IslandRole.Operator, player.getUniqueId()) + && island.getSetting(IslandRole.Operator, "CoopPlayers").getStatus()) + || island.hasRole(IslandRole.Owner, player.getUniqueId())) { + String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); + Bukkit.getServer().dispatchCommand(player, "island coop " + playerName); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 3L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Coop.Permission.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); } } } @@ -238,12 +235,7 @@ public class Coop { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Coop.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Creator.java b/src/main/java/me/goodandevil/skyblock/menus/Creator.java index c96b486f..98a2b621 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Creator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Creator.java @@ -93,110 +93,104 @@ public class Creator { inventoryRows = 6; } - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (islandManager.getIsland(player) != null) { - messageManager.sendMessage(player, configLoad.getString("Command.Island.Create.Owner.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (islandManager.getIsland(player) != null) { + messageManager.sendMessage(player, configLoad.getString("Command.Island.Create.Owner.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - ItemStack is = event.getItem(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + ItemStack is = event.getItem(); - for (Structure structureList : skyblock.getStructureManager().getStructures()) { - if ((is.getType() == structureList.getMaterials().parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Creator.Selector.Item.Island.Displayname") - .replace("%displayname", structureList.getDisplayname()))))) { - if (structureList.isPermission() && structureList.getPermission() != null - && !structureList.getPermission().isEmpty()) { - if (!player.hasPermission(structureList.getPermission()) - && !player.hasPermission("fabledskyblock.island.*") - && !player.hasPermission("fabledskyblock.*")) { - messageManager.sendMessage(player, - configLoad.getString("Island.Creator.Selector.Permission.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + for (Structure structureList : skyblock.getStructureManager().getStructures()) { + if ((is.getType() == structureList.getMaterials().parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Creator.Selector.Item.Island.Displayname") + .replace("%displayname", structureList.getDisplayname()))))) { + if (structureList.isPermission() && structureList.getPermission() != null + && !structureList.getPermission().isEmpty()) { + if (!player.hasPermission(structureList.getPermission()) + && !player.hasPermission("fabledskyblock.island.*") + && !player.hasPermission("fabledskyblock.*")) { + messageManager.sendMessage(player, + configLoad.getString("Island.Creator.Selector.Permission.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - - return; - } - } - - if (!fileManager.isFileExist( - new File(new File(skyblock.getDataFolder().toString() + "/structures"), - structureList.getOverworldFile()))) { - messageManager.sendMessage(player, - configLoad.getString("Island.Creator.Selector.File.Overworld.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } else if (!fileManager.isFileExist( - new File(new File(skyblock.getDataFolder().toString() + "/structures"), - structureList.getNetherFile()))) { - messageManager.sendMessage(player, - configLoad.getString("Island.Creator.Selector.File.Nether.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } else if (fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Creation.Cooldown.Creation.Enable") - && cooldownManager.hasPlayer(CooldownType.Creation, player)) { - CooldownPlayer cooldownPlayer = cooldownManager - .getCooldownPlayer(CooldownType.Creation, player); - Cooldown cooldown = cooldownPlayer.getCooldown(); - - if (cooldown.getTime() < 60) { - messageManager.sendMessage(player, config.getFileConfiguration() - .getString("Island.Creator.Selector.Cooldown.Message") - .replace("%time", cooldown.getTime() + " " - + config.getFileConfiguration().getString( - "Island.Creator.Selector.Cooldown.Word.Second"))); - } else { - long[] durationTime = NumberUtil.getDuration(cooldown.getTime()); - messageManager.sendMessage(player, config.getFileConfiguration() - .getString("Island.Creator.Selector.Cooldown.Message") - .replace("%time", durationTime[2] + " " - + config.getFileConfiguration().getString( - "Island.Creator.Selector.Cooldown.Word.Minute") - + " " + durationTime[3] + " " - + config.getFileConfiguration().getString( - "Island.Creator.Selector.Cooldown.Word.Second"))); - } - - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - if (islandManager.createIsland(player, structureList)) { - messageManager.sendMessage(player, - configLoad.getString("Island.Creator.Selector.Created.Message")); - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - } + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); return; } } + + if (!fileManager.isFileExist( + new File(new File(skyblock.getDataFolder().toString() + "/structures"), + structureList.getOverworldFile()))) { + messageManager.sendMessage(player, + configLoad.getString("Island.Creator.Selector.File.Overworld.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } else if (!fileManager.isFileExist( + new File(new File(skyblock.getDataFolder().toString() + "/structures"), + structureList.getNetherFile()))) { + messageManager.sendMessage(player, + configLoad.getString("Island.Creator.Selector.File.Nether.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } else if (fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Creation.Cooldown.Creation.Enable") + && cooldownManager.hasPlayer(CooldownType.Creation, player)) { + CooldownPlayer cooldownPlayer = cooldownManager + .getCooldownPlayer(CooldownType.Creation, player); + Cooldown cooldown = cooldownPlayer.getCooldown(); + + if (cooldown.getTime() < 60) { + messageManager.sendMessage(player, config.getFileConfiguration() + .getString("Island.Creator.Selector.Cooldown.Message") + .replace("%time", cooldown.getTime() + " " + + config.getFileConfiguration().getString( + "Island.Creator.Selector.Cooldown.Word.Second"))); + } else { + long[] durationTime = NumberUtil.getDuration(cooldown.getTime()); + messageManager.sendMessage(player, config.getFileConfiguration() + .getString("Island.Creator.Selector.Cooldown.Message") + .replace("%time", durationTime[2] + " " + + config.getFileConfiguration().getString( + "Island.Creator.Selector.Cooldown.Word.Minute") + + " " + durationTime[3] + " " + + config.getFileConfiguration().getString( + "Island.Creator.Selector.Cooldown.Word.Second"))); + } + + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } + + if (islandManager.createIsland(player, structureList)) { + messageManager.sendMessage(player, + configLoad.getString("Island.Creator.Selector.Created.Message")); + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + } + + return; } - }); - } + } + }); }); for (int i = 0; i < availableStructures.size(); i++) { @@ -227,11 +221,6 @@ public class Creator { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Creator.Selector.Title"))); nInv.setRows(inventoryRows); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Information.java b/src/main/java/me/goodandevil/skyblock/menus/Information.java index 89931958..4ed065ff 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Information.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Information.java @@ -113,50 +113,47 @@ public class Information { } if (viewer.getType() == Information.Viewer.Type.Categories) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); - ItemStack is = event.getItem(); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData13 = playerDataManager.getPlayerData(player); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Categories.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.getType() == Materials.ITEM_FRAME.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Categories.Item.Members.Displayname"))))) { - playerData.setViewer(new Information.Viewer( - ((Information.Viewer) playerData.getViewer()).getOwner(), - Information.Viewer.Type.Members)); - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Categories.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.getType() == Materials.ITEM_FRAME.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Categories.Item.Members.Displayname"))))) { + playerData13.setViewer(new Viewer( + ((Viewer) playerData13.getViewer()).getOwner(), + Viewer.Type.Members)); + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial()) - && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Categories.Item.Information.Displayname"))))) { - soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial()) + && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Categories.Item.Information.Displayname"))))) { + soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Categories.Item.Visitors.Displayname"))))) { - playerData.setViewer(new Information.Viewer( - ((Information.Viewer) playerData.getViewer()).getOwner(), - Information.Viewer.Type.Visitors)); - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Categories.Item.Visitors.Displayname"))))) { + playerData13.setViewer(new Viewer( + ((Viewer) playerData13.getViewer()).getOwner(), + Viewer.Type.Visitors)); + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } } }); @@ -267,73 +264,65 @@ public class Information { configLoad.getString("Menu.Information.Categories.Title"))); nInv.setType(InventoryType.HOPPER); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } else if (viewer.getType() == Information.Viewer.Type.Members) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); - ItemStack is = event.getItem(); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData1 = playerDataManager.getPlayerData(player); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Members.Item.Return.Displayname"))))) { - playerData.setViewer(new Information.Viewer( - ((Information.Viewer) playerData.getViewer()).getOwner(), - Information.Viewer.Type.Categories)); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Members.Item.Return.Displayname"))))) { + playerData1.setViewer(new Viewer( + ((Viewer) playerData1.getViewer()).getOwner(), + Viewer.Type.Categories)); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Members.Item.Statistics.Displayname"))))) { + soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) + && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Members.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == SkullUtil.createItemStack().getType()) + && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Members.Item.Previous.Displayname")))) { + playerData1.setPage(playerData1.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Members.Item.Statistics.Displayname"))))) { - soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + } else if (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Information.Members.Item.Next.Displayname")))) { + playerData1.setPage(playerData1.getPage() + 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, + 1.0F); event.setWillClose(false); event.setWillDestroy(false); - } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) - && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Members.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == SkullUtil.createItemStack().getType()) - && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Members.Item.Previous.Displayname")))) { - playerData.setPage(playerData.getPage() - 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else if (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Information.Members.Item.Next.Displayname")))) { - playerData.setPage(playerData.getPage() + 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } } } } @@ -436,73 +425,65 @@ public class Information { configLoad.getString("Menu.Information.Members.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } else if (viewer.getType() == Information.Viewer.Type.Visitors) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); - ItemStack is = event.getItem(); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData12 = playerDataManager.getPlayerData(player); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Visitors.Item.Return.Displayname"))))) { - playerData.setViewer(new Information.Viewer( - ((Information.Viewer) playerData.getViewer()).getOwner(), - Information.Viewer.Type.Categories)); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Visitors.Item.Return.Displayname"))))) { + playerData12.setViewer(new Viewer( + ((Viewer) playerData12.getViewer()).getOwner(), + Viewer.Type.Categories)); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Visitors.Item.Statistics.Displayname"))))) { + soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) + && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Visitors.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == SkullUtil.createItemStack().getType()) + && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Information.Visitors.Item.Previous.Displayname")))) { + playerData12.setPage(playerData12.getPage() - 1); soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if ((is.getType() == Materials.PAINTING.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Visitors.Item.Statistics.Displayname"))))) { - soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + } else if (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Information.Visitors.Item.Next.Displayname")))) { + playerData12.setPage(playerData12.getPage() + 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, + 1.0F); event.setWillClose(false); event.setWillDestroy(false); - } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) - && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Visitors.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == SkullUtil.createItemStack().getType()) - && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Information.Visitors.Item.Previous.Displayname")))) { - playerData.setPage(playerData.getPage() - 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else if (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Information.Visitors.Item.Next.Displayname")))) { - playerData.setPage(playerData.getPage() + 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } } } } @@ -580,12 +561,7 @@ public class Information { configLoad.getString("Menu.Information.Visitors.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } islandManager.unloadIsland(island, null); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Leaderboard.java b/src/main/java/me/goodandevil/skyblock/menus/Leaderboard.java index 872185ac..f797bd36 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Leaderboard.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Leaderboard.java @@ -53,50 +53,47 @@ public class Leaderboard { Viewer viewer = (Viewer) playerDataManager.getPlayerData(player).getViewer(); if (viewer.getType() == Viewer.Type.Browse) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - ItemStack is = event.getItem(); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Leaderboard." + Viewer.Type.Browse.name() - + ".Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Leaderboard." + Viewer.Type.Browse.name() + + ".Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - return; - } else if ((is.getType() == Material.DIAMOND) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad - .getString("Menu.Leaderboard." + Viewer.Type.Browse.name() - + ".Item.Leaderboard.Displayname") - .replace("%leaderboard", Viewer.Type.Level.name()))))) { - playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Level)); - } else if ((is.getType() == Material.GOLD_INGOT) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad - .getString("Menu.Leaderboard." + Viewer.Type.Browse.name() - + ".Item.Leaderboard.Displayname") - .replace("%leaderboard", Viewer.Type.Bank.name()))))) { - playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Bank)); - } else if ((is.getType() == Material.EMERALD) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad - .getString("Menu.Leaderboard." + Viewer.Type.Browse.name() - + ".Item.Leaderboard.Displayname") - .replace("%leaderboard", Viewer.Type.Votes.name()))))) { - playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Votes)); - } - - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + return; + } else if ((is.getType() == Material.DIAMOND) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad + .getString("Menu.Leaderboard." + Viewer.Type.Browse.name() + + ".Item.Leaderboard.Displayname") + .replace("%leaderboard", Viewer.Type.Level.name()))))) { + playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Level)); + } else if ((is.getType() == Material.GOLD_INGOT) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad + .getString("Menu.Leaderboard." + Viewer.Type.Browse.name() + + ".Item.Leaderboard.Displayname") + .replace("%leaderboard", Viewer.Type.Bank.name()))))) { + playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Bank)); + } else if ((is.getType() == Material.EMERALD) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad + .getString("Menu.Leaderboard." + Viewer.Type.Browse.name() + + ".Item.Leaderboard.Displayname") + .replace("%leaderboard", Viewer.Type.Votes.name()))))) { + playerDataManager.getPlayerData(player).setViewer(new Viewer(Viewer.Type.Votes)); } + + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } }); @@ -138,91 +135,83 @@ public class Leaderboard { configLoad.getString("Menu.Leaderboard." + viewer.getType().name() + ".Title"))); nInv.setType(InventoryType.HOPPER); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } else { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - ItemStack is = event.getItem(); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Leaderboard.Leaderboard.Item.Exit.Displayname")))) { + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Leaderboard.Leaderboard.Item.Exit.Displayname")))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Leaderboard.Leaderboard.Item.Return.Displayname")))) { + if (skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Visitor.Vote")) { + playerDataManager.getPlayerData(player) + .setViewer(new Viewer(Viewer.Type.Browse)); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else { soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Leaderboard.Leaderboard.Item.Return.Displayname")))) { - if (skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Visitor.Vote")) { - playerDataManager.getPlayerData(player) - .setViewer(new Viewer(Viewer.Type.Browse)); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } - - return; } - } - - int clickedSlot = event.getSlot(); - int leaderboardPosition = -1; - - if (clickedSlot == 13) { - leaderboardPosition = 0; - } else if (clickedSlot == 21) { - leaderboardPosition = 1; - } else if (clickedSlot == 22) { - leaderboardPosition = 2; - } else if (clickedSlot == 23) { - leaderboardPosition = 3; - } else if (clickedSlot == 29) { - leaderboardPosition = 4; - } else if (clickedSlot == 31) { - leaderboardPosition = 5; - } else if (clickedSlot == 33) { - leaderboardPosition = 6; - } else if (clickedSlot == 37) { - leaderboardPosition = 7; - } else if (clickedSlot == 40) { - leaderboardPosition = 8; - } else if (clickedSlot == 43) { - leaderboardPosition = 9; - } - - if (leaderboardPosition != -1) { - List leaderboardIslands = skyblock - .getLeaderboardManager().getLeaderboard( - me.goodandevil.skyblock.leaderboard.Leaderboard.Type.valueOf(viewer.getType().name())); - - if (leaderboardIslands.size() > leaderboardPosition) { - me.goodandevil.skyblock.leaderboard.Leaderboard leaderboard = leaderboardIslands.get(leaderboardPosition); - me.goodandevil.skyblock.visit.Visit visit = leaderboard.getVisit(); - - OfflinePlayer offlinePlayer = new OfflinePlayer(visit.getOwnerUUID()); - Bukkit.getScheduler().scheduleSyncDelayedTask(skyblock, () -> Bukkit.dispatchCommand(player, "island teleport " + offlinePlayer.getName())); - } - - event.setWillClose(false); - event.setWillDestroy(false); return; } + } - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + int clickedSlot = event.getSlot(); + int leaderboardPosition = -1; + + if (clickedSlot == 13) { + leaderboardPosition = 0; + } else if (clickedSlot == 21) { + leaderboardPosition = 1; + } else if (clickedSlot == 22) { + leaderboardPosition = 2; + } else if (clickedSlot == 23) { + leaderboardPosition = 3; + } else if (clickedSlot == 29) { + leaderboardPosition = 4; + } else if (clickedSlot == 31) { + leaderboardPosition = 5; + } else if (clickedSlot == 33) { + leaderboardPosition = 6; + } else if (clickedSlot == 37) { + leaderboardPosition = 7; + } else if (clickedSlot == 40) { + leaderboardPosition = 8; + } else if (clickedSlot == 43) { + leaderboardPosition = 9; + } + + if (leaderboardPosition != -1) { + List leaderboardIslands = skyblock + .getLeaderboardManager().getLeaderboard( + me.goodandevil.skyblock.leaderboard.Leaderboard.Type.valueOf(viewer.getType().name())); + + if (leaderboardIslands.size() > leaderboardPosition) { + me.goodandevil.skyblock.leaderboard.Leaderboard leaderboard = leaderboardIslands.get(leaderboardPosition); + me.goodandevil.skyblock.visit.Visit visit = leaderboard.getVisit(); + + OfflinePlayer offlinePlayer = new OfflinePlayer(visit.getOwnerUUID()); + Bukkit.getScheduler().scheduleSyncDelayedTask(skyblock, () -> Bukkit.dispatchCommand(player, "island teleport " + offlinePlayer.getName())); + } event.setWillClose(false); event.setWillDestroy(false); + + return; } + + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); } }); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Levelling.java b/src/main/java/me/goodandevil/skyblock/menus/Levelling.java index 26f0d3ca..55b5178f 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Levelling.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Levelling.java @@ -150,17 +150,14 @@ public class Levelling { return; } - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Level.Processing.Message")); - soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Level.Processing.Message")); + soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); - cooldownManager.createPlayer(CooldownType.Levelling, - Bukkit.getServer().getOfflinePlayer(island.getOwnerUUID())); - levellingManager.calculatePoints(player, island); - } + cooldownManager.createPlayer(CooldownType.Levelling, + Bukkit.getServer().getOfflinePlayer(island.getOwnerUUID())); + levellingManager.calculatePoints(player, island); }); } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { PlayerData playerData1 = skyblock.getPlayerDataManager().getPlayerData(player); @@ -319,12 +316,7 @@ public class Levelling { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Levelling.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Members.java b/src/main/java/me/goodandevil/skyblock/menus/Members.java index 80739638..a1d1be71 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Members.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Members.java @@ -63,133 +63,121 @@ public class Members { FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")) .getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData = playerDataManager.getPlayerData(player); - if (playerData.getType() == null || playerData.getSort() == null) { - playerData.setType(Members.Type.Default); - playerData.setSort(Members.Sort.Default); - } + if (playerData.getType() == null || playerData.getSort() == null) { + playerData.setType(Type.Default); + playerData.setSort(Sort.Default); + } - ItemStack is = event.getItem(); - Island island = islandManager.getIsland(player); + ItemStack is = event.getItem(); + Island island = islandManager.getIsland(player); - if (island == null) { - skyblock.getMessageManager().sendMessage(player, - configLoad.getString("Command.Island.Members.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (island == null) { + skyblock.getMessageManager().sendMessage(player, + configLoad.getString("Command.Island.Members.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Members.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Members.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Members.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.getType() == Material.HOPPER) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Members.Item.Type.Displayname")))) { - Members.Type type = (Members.Type) playerData.getType(); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Members.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.getType() == Material.HOPPER) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Members.Item.Type.Displayname")))) { + Type type1 = (Type) playerData.getType(); - if (type.ordinal() + 1 == Members.Type.values().length) { - playerData.setType(Members.Type.Default); - } else { - playerData.setType(Members.Type.values()[type.ordinal() + 1]); - } - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', configLoad.getString("Menu.Members.Item.Sort.Displayname")))) { - Members.Sort sort = (Members.Sort) playerData.getSort(); - - if (sort.ordinal() + 1 == Members.Sort.values().length) { - playerData.setSort(Members.Sort.Default); - } else { - playerData.setSort(Members.Sort.values()[sort.ordinal() + 1]); - } + if (type1.ordinal() + 1 == Type.values().length) { + playerData.setType(Type.Default); + } else { + playerData.setType(Type.values()[type1.ordinal() + 1]); } + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', configLoad.getString("Menu.Members.Item.Sort.Displayname")))) { + Sort sort1 = (Sort) playerData.getSort(); - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + if (sort1.ordinal() + 1 == Sort.values().length) { + playerData.setSort(Sort.Default); + } else { + playerData.setSort(Sort.values()[sort1.ordinal() + 1]); + } + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Members.Item.Statistics.Displayname"))))) { + soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Members.Item.Nothing.Displayname"))))) { + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Members.Item.Previous.Displayname")))) { + playerData.setPage(playerData.getPage() - 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Members.Item.Statistics.Displayname"))))) { - soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', configLoad.getString("Menu.Members.Item.Next.Displayname")))) { + playerData.setPage(playerData.getPage() + 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Members.Item.Nothing.Displayname"))))) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); + } else { + String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); + UUID playerUUID; - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Members.Item.Previous.Displayname")))) { - playerData.setPage(playerData.getPage() - 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + Player targetPlayer = Bukkit.getServer().getPlayer(playerName); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), - (Sort) playerData.getSort()), 1L); - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', configLoad.getString("Menu.Members.Item.Next.Displayname")))) { - playerData.setPage(playerData.getPage() + 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), - (Sort) playerData.getSort()), 1L); + if (targetPlayer == null) { + playerUUID = new OfflinePlayer(playerName).getUUID(); } else { - String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); - UUID playerUUID; + playerUUID = targetPlayer.getUniqueId(); + } - Player targetPlayer = Bukkit.getServer().getPlayer(playerName); - - if (targetPlayer == null) { - playerUUID = new OfflinePlayer(playerName).getUUID(); - } else { - playerUUID = targetPlayer.getUniqueId(); - } - - if (!(playerUUID.equals(player.getUniqueId()) - || island.hasRole(IslandRole.Owner, playerUUID))) { - if (island.hasRole(IslandRole.Owner, player.getUniqueId())) { - if (event.getClick() == ClickType.LEFT) { - if (island.hasRole(IslandRole.Member, playerUUID)) { - Bukkit.getServer().dispatchCommand(player, - "island promote " + playerName); - } else { - Bukkit.getServer().dispatchCommand(player, - "island demote " + playerName); - } - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, (Type) playerData.getType(), - (Sort) playerData.getSort()), 3L); - - return; - } else if (event.getClick() == ClickType.RIGHT) { - Bukkit.getServer().dispatchCommand(player, "island kick " + playerName); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, (Type) playerData.getType(), - (Sort) playerData.getSort()), 3L); - - return; + if (!(playerUUID.equals(player.getUniqueId()) + || island.hasRole(IslandRole.Owner, playerUUID))) { + if (island.hasRole(IslandRole.Owner, player.getUniqueId())) { + if (event.getClick() == ClickType.LEFT) { + if (island.hasRole(IslandRole.Member, playerUUID)) { + Bukkit.getServer().dispatchCommand(player, + "island promote " + playerName); + } else { + Bukkit.getServer().dispatchCommand(player, + "island demote " + playerName); } - } else if (island.hasRole(IslandRole.Operator, player.getUniqueId()) - && island.getSetting(IslandRole.Operator, "Kick").getStatus()) { + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 3L); + + return; + } else if (event.getClick() == ClickType.RIGHT) { Bukkit.getServer().dispatchCommand(player, "island kick " + playerName); Bukkit.getServer().getScheduler().runTaskLater(skyblock, @@ -198,13 +186,22 @@ public class Members { return; } + } else if (island.hasRole(IslandRole.Operator, player.getUniqueId()) + && island.getSetting(IslandRole.Operator, "Kick").getStatus()) { + Bukkit.getServer().dispatchCommand(player, "island kick " + playerName); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 3L); + + return; } - - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); } + + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); } } } @@ -588,12 +585,7 @@ public class Members { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Members.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Ownership.java b/src/main/java/me/goodandevil/skyblock/menus/Ownership.java index b7056ddd..3dcbebbf 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Ownership.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Ownership.java @@ -57,181 +57,178 @@ public class Ownership { FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")) .getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player); - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player); + Island island = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Ownership.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (island == null) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Ownership.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } else if (!island.hasRole(IslandRole.Owner, player.getUniqueId())) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Ownership.Role.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + return; + } else if (!island.hasRole(IslandRole.Owner, player.getUniqueId())) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Ownership.Role.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - if (playerData.getType() == null) { - playerData.setType(Ownership.Visibility.Hidden); - } + if (playerData.getType() == null) { + playerData.setType(Visibility.Hidden); + } - ItemStack is = event.getItem(); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Ownership.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Ownership.Item.Original.Displayname"))))) { - soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Ownership.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Ownership.Item.Original.Displayname"))))) { + soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) - && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Ownership.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) + && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Ownership.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.WRITABLE_BOOK.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Ownership.Item.Assign.Displayname"))))) { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.WRITABLE_BOOK.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Ownership.Item.Assign.Displayname"))))) { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { - if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - if (playerDataManager.hasPlayerData(player)) { - Island island1 = islandManager.getIsland(player); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (playerDataManager.hasPlayerData(player)) { + Island island1 = islandManager.getIsland(player); - if (island1 == null) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Ownership.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), - 1.0F, 1.0F); + if (island1 == null) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Ownership.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), + 1.0F, 1.0F); - return; - } else if (!island1.hasRole(IslandRole.Owner, - player.getUniqueId())) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Ownership.Role.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), - 1.0F, 1.0F); + return; + } else if (!island1.hasRole(IslandRole.Owner, + player.getUniqueId())) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Ownership.Role.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), + 1.0F, 1.0F); - return; - } - - Bukkit.getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(player, - "island ownership " + event1.getName())); + return; } - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); + + Bukkit.getScheduler().runTask(skyblock, () -> Bukkit.getServer().dispatchCommand(player, + "island ownership " + event1.getName())); } - }); - - ItemStack is1 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is1.getItemMeta(); - im.setDisplayName(configLoad.getString("Menu.Ownership.Item.Assign.Word.Enter")); - is1.setItemMeta(im); - - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); - gui.open(); - }, 1L); - } else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Ownership.Item.Password.Displayname"))))) { - if (island.hasPassword()) { - if (event.getClick() == ClickType.MIDDLE) { - Ownership.Visibility visibility = (Ownership.Visibility) playerData.getType(); - - if (visibility == Ownership.Visibility.Hidden) { - playerData.setType(Ownership.Visibility.Visible); - } else { - playerData.setType(Ownership.Visibility.Hidden); - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - - return; - } else if (event.getClick() == ClickType.RIGHT) { - island.setPassword(null); - soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - - return; - } else if (event.getClick() != ClickType.LEFT) { - event.setWillClose(false); - event.setWillDestroy(false); - - return; + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); } + }); + + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName(configLoad.getString("Menu.Ownership.Item.Assign.Word.Enter")); + is1.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); + }, 1L); + } else if ((is.getType() == Materials.LEGACY_EMPTY_MAP.getPostMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Ownership.Item.Password.Displayname"))))) { + if (island.hasPassword()) { + if (event.getClick() == ClickType.MIDDLE) { + Visibility visibility = (Visibility) playerData.getType(); + + if (visibility == Visibility.Hidden) { + playerData.setType(Visibility.Visible); + } else { + playerData.setType(Visibility.Hidden); + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + + return; + } else if (event.getClick() == ClickType.RIGHT) { + island.setPassword(null); + soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + + return; + } else if (event.getClick() != ClickType.LEFT) { + event.setWillClose(false); + event.setWillDestroy(false); + + return; } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event12 -> { - if (event12.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - if (playerDataManager.hasPlayerData(player)) { - Island island12 = islandManager.getIsland(player); - - if (island12 == null) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Ownership.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), - 1.0F, 1.0F); - - return; - } else if (!island12.hasRole(IslandRole.Owner, - player.getUniqueId())) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Ownership.Role.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), - 1.0F, 1.0F); - - return; - } - - island12.setPassword( - event12.getName().replace("&", "").replace(" ", "")); - soundManager.playSound(player, Sounds.ANVIL_USE.bukkitSound(), 1.0F, - 1.0F); - - Bukkit.getServer().getScheduler() - .runTaskLater(skyblock, () -> open(player), 1L); - } - } else { - event12.setWillClose(false); - event12.setWillDestroy(false); - } - }); - - ItemStack is12 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is12.getItemMeta(); - im.setDisplayName( - configLoad.getString("Menu.Ownership.Item.Password.Hidden.Word.Enter")); - is12.setItemMeta(im); - - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); - gui.open(); - }, 1L); } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event12 -> { + if (event12.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (playerDataManager.hasPlayerData(player)) { + Island island12 = islandManager.getIsland(player); + + if (island12 == null) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Ownership.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), + 1.0F, 1.0F); + + return; + } else if (!island12.hasRole(IslandRole.Owner, + player.getUniqueId())) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Ownership.Role.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), + 1.0F, 1.0F); + + return; + } + + island12.setPassword( + event12.getName().replace("&", "").replace(" ", "")); + soundManager.playSound(player, Sounds.ANVIL_USE.bukkitSound(), 1.0F, + 1.0F); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, () -> open(player), 1L); + } + } else { + event12.setWillClose(false); + event12.setWillDestroy(false); + } + }); + + ItemStack is12 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is12.getItemMeta(); + im.setDisplayName( + configLoad.getString("Menu.Ownership.Item.Password.Hidden.Word.Enter")); + is12.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); + gui.open(); + }, 1L); } } }); @@ -292,12 +289,7 @@ public class Ownership { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Ownership.Title"))); nInv.setType(InventoryType.HOPPER); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Settings.java b/src/main/java/me/goodandevil/skyblock/menus/Settings.java index 45302b92..f54451c5 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Settings.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Settings.java @@ -63,135 +63,132 @@ public class Settings { .getConfig(new File(skyblock.getDataFolder(), "language.yml")).getFileConfiguration(); if (menuType == Settings.Type.Categories) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + Island island13 = islandManager.getIsland(player); - if (island == null) { + if (island13 == null) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return; + } else if (!(island13.hasRole(IslandRole.Operator, player.getUniqueId()) + || island13.hasRole(IslandRole.Owner, player.getUniqueId()))) { + messageManager.sendMessage(player, configLoad.getString("Command.Island.Role.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return; + } + + ItemStack is = event.getItem(); + + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', + configLoad.getString("Menu.Settings.Categories.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', + configLoad.getString("Menu.Settings.Categories.Item.Coop.Displayname"))))) { + if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Coop.Enable")) { messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - return; - } else if (!(island.hasRole(IslandRole.Operator, player.getUniqueId()) - || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { - messageManager.sendMessage(player, configLoad.getString("Command.Island.Role.Message")); + configLoad.getString("Command.Island.Coop.Disabled.Message")); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); return; } - ItemStack is = event.getItem(); + if (island13.hasRole(IslandRole.Operator, player.getUniqueId()) + && !island13.getSetting(IslandRole.Operator, "Coop").getStatus()) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Permission.Access.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', - configLoad.getString("Menu.Settings.Categories.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', - configLoad.getString("Menu.Settings.Categories.Item.Coop.Displayname"))))) { - if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Coop.Enable")) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Coop.Disabled.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); - return; - } - - if (island.hasRole(IslandRole.Operator, player.getUniqueId()) - && !island.getSetting(IslandRole.Operator, "Coop").getStatus()) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Permission.Access.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Coop, null), 1L); - } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Settings.Categories.Item.Visitor.Displayname"))))) { - if (island.hasRole(IslandRole.Operator, player.getUniqueId()) - && !island.getSetting(IslandRole.Operator, "Visitor").getStatus()) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Permission.Access.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Settings.Categories.Item.Member.Displayname"))))) { - if (island.hasRole(IslandRole.Operator, player.getUniqueId()) - && !island.getSetting(IslandRole.Operator, "Member").getStatus()) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Permission.Access.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Member, null), 1L); - } else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta()) && (is.getItemMeta() - .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Settings.Categories.Item.Operator.Displayname"))))) { - if (island.hasRole(IslandRole.Operator, player.getUniqueId())) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Permission.Access.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Operator, null), 1L); - } else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Settings.Categories.Item.Owner.Displayname"))))) { - if (island.hasRole(IslandRole.Operator, player.getUniqueId()) - && !island.getSetting(IslandRole.Operator, "Island").getStatus()) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Permission.Access.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Owner, null), 1L); + return; } + + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Coop, null), 1L); + } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Settings.Categories.Item.Visitor.Displayname"))))) { + if (island13.hasRole(IslandRole.Operator, player.getUniqueId()) + && !island13.getSetting(IslandRole.Operator, "Visitor").getStatus()) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Permission.Access.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } + + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Settings.Categories.Item.Member.Displayname"))))) { + if (island13.hasRole(IslandRole.Operator, player.getUniqueId()) + && !island13.getSetting(IslandRole.Operator, "Member").getStatus()) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Permission.Access.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } + + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Member, null), 1L); + } else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta()) && (is.getItemMeta() + .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Settings.Categories.Item.Operator.Displayname"))))) { + if (island13.hasRole(IslandRole.Operator, player.getUniqueId())) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Permission.Access.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } + + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Operator, null), 1L); + } else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Settings.Categories.Item.Owner.Displayname"))))) { + if (island13.hasRole(IslandRole.Operator, player.getUniqueId()) + && !island13.getSetting(IslandRole.Operator, "Island").getStatus()) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Permission.Access.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } + + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Owner, null), 1L); } } }); @@ -230,123 +227,115 @@ public class Settings { configLoad.getString("Menu.Settings.Categories.Title"))); nInv.setRows(1); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } else if (menuType == Settings.Type.Role && role != null) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + Island island14 = islandManager.getIsland(player); - if (island == null) { + if (island14 == null) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return; + } else if (!(island14.hasRole(IslandRole.Operator, player.getUniqueId()) + || island14.hasRole(IslandRole.Owner, player.getUniqueId()))) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Role.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return; + } else if (island14.hasRole(IslandRole.Operator, player.getUniqueId()) + && !island14.getSetting(IslandRole.Operator, role.name()).getStatus()) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Permission.Access.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return; + } else if (role == IslandRole.Coop) { + if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Coop.Enable")) { messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Owner.Message")); + configLoad.getString("Command.Island.Coop.Disabled.Message")); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); return; - } else if (!(island.hasRole(IslandRole.Operator, player.getUniqueId()) - || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Role.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + } + } - return; - } else if (island.hasRole(IslandRole.Operator, player.getUniqueId()) - && !island.getSetting(IslandRole.Operator, role.name()).getStatus()) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Permission.Access.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + ItemStack is = event.getItem(); - return; - } else if (role == IslandRole.Coop) { - if (!fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Coop.Enable")) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Coop.Disabled.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings." + role.name() + ".Item.Return.Displayname"))))) { + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - return; - } + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Categories, null, null), 1L); + } else if ((is.getType() == Material.PAPER) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Settings.Visitor.Item.Signature.Displayname"))))) { + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Panel, null, Panel.Signature), 1L); + } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Settings.Visitor.Item.Welcome.Displayname"))))) { + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Panel, null, Panel.Welcome), 1L); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta() + .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Settings.Visitor.Item.Statistics.Displayname"))))) { + if (island14.isOpen()) { + islandManager.closeIsland(island14); + soundManager.playSound(player, Sounds.DOOR_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else { + island14.setOpen(true); + soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); } - ItemStack is = event.getItem(); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); + } else if (is.hasItemMeta()) { + String roleName = getRoleName(role); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings." + role.name() + ".Item.Return.Displayname"))))) { - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + for (IslandSetting settingList : island14.getSettings(role)) { + if (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Settings." + roleName + ".Item.Setting." + + settingList.getName() + ".Displayname")))) { + if (!hasPermission(island14, player, role)) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Settings.Permission.Change.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Categories, null, null), 1L); - } else if ((is.getType() == Material.PAPER) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Settings.Visitor.Item.Signature.Displayname"))))) { - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Panel, null, Panel.Signature), 1L); - } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Settings.Visitor.Item.Welcome.Displayname"))))) { - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Panel, null, Panel.Welcome), 1L); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) && (is.getItemMeta() - .getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Settings.Visitor.Item.Statistics.Displayname"))))) { - if (island.isOpen()) { - islandManager.closeIsland(island); - soundManager.playSound(player, Sounds.DOOR_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else { - island.setOpen(true); - soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); - } - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); - } else if (is.hasItemMeta()) { - String roleName = getRoleName(role); - - for (IslandSetting settingList : island.getSettings(role)) { - if (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Settings." + roleName + ".Item.Setting." - + settingList.getName() + ".Displayname")))) { - if (!hasPermission(island, player, role)) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Settings.Permission.Change.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - return; - } - - if (settingList != null) { - if (settingList.getStatus()) { - settingList.setStatus(false); - } else { - settingList.setStatus(true); - } - - if (settingList.getName().equals("KeepItemsOnDeath") - || settingList.getName().equals("PvP") - || settingList.getName().equals("Damage")) { - island.getVisit() - .setSafeLevel(islandManager.getIslandSafeLevel(island)); - } - } - - break; + return; } + + if (settingList != null) { + if (settingList.getStatus()) { + settingList.setStatus(false); + } else { + settingList.setStatus(true); + } + + if (settingList.getName().equals("KeepItemsOnDeath") + || settingList.getName().equals("PvP") + || settingList.getName().equals("Damage")) { + island14.getVisit() + .setSafeLevel(islandManager.getIslandSafeLevel(island14)); + } + } + + break; } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, role, null), 1L); } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, role, null), 1L); } } }); @@ -1018,212 +1007,204 @@ public class Settings { configLoad.getString("Menu.Settings." + role.name() + ".Item.Return.Displayname"), null, null, null, null), 0, 8); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } else if (menuType == Settings.Type.Panel) { if (panel == Settings.Panel.Welcome) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + Island island15 = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (island15 == null) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } else if (!(island.hasRole(IslandRole.Operator, player.getUniqueId()) - || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Role.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return; + } else if (!(island15.hasRole(IslandRole.Operator, player.getUniqueId()) + || island15.hasRole(IslandRole.Owner, player.getUniqueId()))) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Role.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; + return; + } + + if (!skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Visitor.Welcome.Enable")) { + messageManager.sendMessage(player, + configLoad.getString("Island.Settings.Visitor.Welcome.Disabled.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return; + } + + ItemStack is = event.getItem(); + + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Panel.Welcome.Item.Return.Displayname"))))) { + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Item.Statistics.Displayname"))))) { + if (island15.isOpen()) { + islandManager.closeIsland(island15); + soundManager.playSound(player, Sounds.DOOR_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else { + island15.setOpen(true); + soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); } - if (!skyblock.getFileManager() + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); + } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Panel.Welcome.Item.Message.Displayname"))))) { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() + .getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Add.Displayname"))))) { + if (island15.getMessage(IslandMessage.Welcome).size() >= skyblock.getFileManager() .getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Visitor.Welcome.Enable")) { - messageManager.sendMessage(player, - configLoad.getString("Island.Settings.Visitor.Welcome.Disabled.Message")); + .getFileConfiguration().getInt("Island.Visitor.Welcome.Lines")) { soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } - - ItemStack is = event.getItem(); - - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Panel.Welcome.Item.Return.Displayname"))))) { - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Item.Statistics.Displayname"))))) { - if (island.isOpen()) { - islandManager.closeIsland(island); - soundManager.playSound(player, Sounds.DOOR_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else { - island.setOpen(true); - soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); - } - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); - } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Panel.Welcome.Item.Message.Displayname"))))) { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); event.setWillDestroy(false); - } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() - .getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Add.Displayname"))))) { - if (island.getMessage(IslandMessage.Welcome).size() >= skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getInt("Island.Visitor.Welcome.Lines")) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + } else { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + Island island1 = islandManager.getIsland(player); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { - if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - Island island1 = islandManager.getIsland(player); - - if (island1 == null) { - messageManager.sendMessage(player, - configLoad.getString( - "Command.Island.Settings.Owner.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - player.closeInventory(); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } else if (!(island1.hasRole(IslandRole.Operator, - player.getUniqueId()) - || island1.hasRole(IslandRole.Owner, - player.getUniqueId()))) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Role.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - player.closeInventory(); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } else if (!skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), - "config.yml")) - .getFileConfiguration() - .getBoolean("Island.Visitor.Welcome.Enable")) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Settings.Visitor.Welcome.Disabled.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } - - Config config1 = skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), - "config.yml")); - FileConfiguration configLoad1 = config1 - .getFileConfiguration(); - - if (island1.getMessage(IslandMessage.Welcome) - .size() > configLoad1 - .getInt("Island.Visitor.Welcome.Lines") - || event1.getName().length() > configLoad1 - .getInt("Island.Visitor.Welcome.Length")) { - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - } else { - List welcomeMessage = island1 - .getMessage(IslandMessage.Welcome); - welcomeMessage.add(event1.getName()); - island1.setMessage(IslandMessage.Welcome, - player.getName(), welcomeMessage); - soundManager.playSound(player, - Sounds.NOTE_PLING.bukkitSound(), 1.0F, - 1.0F); - } - - Bukkit.getServer().getScheduler() - .runTaskLater(skyblock, - () -> open(player, - Type.Panel, - null, - Panel.Welcome), 1L); + if (island1 == null) { + messageManager.sendMessage(player, + configLoad.getString( + "Command.Island.Settings.Owner.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + player.closeInventory(); event1.setWillClose(true); event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); + + return; + } else if (!(island1.hasRole(IslandRole.Operator, + player.getUniqueId()) + || island1.hasRole(IslandRole.Owner, + player.getUniqueId()))) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Role.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + player.closeInventory(); + + event1.setWillClose(true); + event1.setWillDestroy(true); + + return; + } else if (!skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), + "config.yml")) + .getFileConfiguration() + .getBoolean("Island.Visitor.Welcome.Enable")) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Settings.Visitor.Welcome.Disabled.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event1.setWillClose(true); + event1.setWillDestroy(true); + + return; } - }); - ItemStack is1 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is1.getItemMeta(); - im.setDisplayName(configLoad.getString( - "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Add.Word.Enter")); - is1.setItemMeta(im); + Config config1 = skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), + "config.yml")); + FileConfiguration configLoad1 = config1 + .getFileConfiguration(); - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); - gui.open(); - }, 1L); - } - } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() - .getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Remove.Displayname"))))) { - List welcomeMessage = island.getMessage(IslandMessage.Welcome); + if (island1.getMessage(IslandMessage.Welcome) + .size() > configLoad1 + .getInt("Island.Visitor.Welcome.Lines") + || event1.getName().length() > configLoad1 + .getInt("Island.Visitor.Welcome.Length")) { + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + } else { + List welcomeMessage = island1 + .getMessage(IslandMessage.Welcome); + welcomeMessage.add(event1.getName()); + island1.setMessage(IslandMessage.Welcome, + player.getName(), welcomeMessage); + soundManager.playSound(player, + Sounds.NOTE_PLING.bukkitSound(), 1.0F, + 1.0F); + } - if (welcomeMessage.size() == 0) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player, + Type.Panel, + null, + Panel.Welcome), 1L); - event.setWillClose(false); - event.setWillDestroy(false); - } else { - welcomeMessage.remove(welcomeMessage.size() - 1); - island.setMessage(IslandMessage.Welcome, - island.getMessageAuthor(IslandMessage.Welcome), welcomeMessage); - soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, Type.Panel, null, Panel.Welcome), 1L); - } + ItemStack is1 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is1.getItemMeta(); + im.setDisplayName(configLoad.getString( + "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Add.Word.Enter")); + is1.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is1); + gui.open(); + }, 1L); + } + } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() + .getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Panel.Welcome.Item.Line.Remove.Displayname"))))) { + List welcomeMessage = island15.getMessage(IslandMessage.Welcome); + + if (welcomeMessage.size() == 0) { + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else { + welcomeMessage.remove(welcomeMessage.size() - 1); + island15.setMessage(IslandMessage.Welcome, + island15.getMessageAuthor(IslandMessage.Welcome), welcomeMessage); + soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Panel, null, Panel.Welcome), 1L); } } } @@ -1278,212 +1259,204 @@ public class Settings { configLoad.getString("Menu.Settings.Visitor.Panel.Welcome.Title"))); nInv.setType(InventoryType.HOPPER); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } else if (panel == Settings.Panel.Signature) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + Island island12 = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Settings.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (island12 == null) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Settings.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } else if (!(island.hasRole(IslandRole.Operator, player.getUniqueId()) - || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Role.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + return; + } else if (!(island12.hasRole(IslandRole.Operator, player.getUniqueId()) + || island12.hasRole(IslandRole.Owner, player.getUniqueId()))) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Role.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; + return; + } + + if (!skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Visitor.Signature.Enable")) { + messageManager.sendMessage(player, + configLoad.getString("Island.Settings.Visitor.Signature.Disabled.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return; + } + + ItemStack is = event.getItem(); + + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Panel.Signature.Item.Return.Displayname"))))) { + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals( + ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Item.Statistics.Displayname"))))) { + if (island12.isOpen()) { + islandManager.closeIsland(island12); + soundManager.playSound(player, Sounds.DOOR_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else { + island12.setOpen(true); + soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); } - if (!skyblock.getFileManager() + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); + } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Panel.Signature.Item.Message.Displayname"))))) { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() + .getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Panel.Signature.Item.Line.Add.Displayname"))))) { + if (island12.getMessage(IslandMessage.Signature).size() >= skyblock.getFileManager() .getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Visitor.Signature.Enable")) { - messageManager.sendMessage(player, - configLoad.getString("Island.Settings.Visitor.Signature.Disabled.Message")); + .getFileConfiguration().getInt("Island.Visitor.Signature.Lines")) { soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } - - ItemStack is = event.getItem(); - - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Panel.Signature.Item.Return.Displayname"))))) { - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals( - ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Item.Statistics.Displayname"))))) { - if (island.isOpen()) { - islandManager.closeIsland(island); - soundManager.playSound(player, Sounds.DOOR_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else { - island.setOpen(true); - soundManager.playSound(player, Sounds.DOOR_OPEN.bukkitSound(), 1.0F, 1.0F); - } - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, Type.Role, IslandRole.Visitor, null), 1L); - } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Panel.Signature.Item.Message.Displayname"))))) { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); event.setWillDestroy(false); - } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() - .getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Panel.Signature.Item.Line.Add.Displayname"))))) { - if (island.getMessage(IslandMessage.Signature).size() >= skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getInt("Island.Visitor.Signature.Lines")) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + } else { + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else { - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + Island island1 = islandManager.getIsland(player); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> { - AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { - if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { - Island island1 = islandManager.getIsland(player); - - if (island1 == null) { - messageManager.sendMessage(player, - configLoad.getString( - "Command.Island.Settings.Owner.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - player.closeInventory(); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } else if (!(island1.hasRole(IslandRole.Operator, - player.getUniqueId()) - || island1.hasRole(IslandRole.Owner, - player.getUniqueId()))) { - messageManager.sendMessage(player, configLoad - .getString("Command.Island.Role.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - player.closeInventory(); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } else if (!skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), - "config.yml")) - .getFileConfiguration().getBoolean( - "Island.Visitor.Signature.Enable")) { - messageManager.sendMessage(player, - configLoad.getString( - "Island.Settings.Visitor.Signature.Disabled.Message")); - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event1.setWillClose(true); - event1.setWillDestroy(true); - - return; - } - - Config config1 = skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), - "config.yml")); - FileConfiguration configLoad1 = config1 - .getFileConfiguration(); - - if (island1.getMessage(IslandMessage.Signature) - .size() > configLoad1.getInt( - "Island.Visitor.Signature.Lines") - || event1.getName().length() > configLoad1 - .getInt("Island.Visitor.Signature.Length")) { - soundManager.playSound(player, - Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - } else { - List signatureMessage = island1 - .getMessage(IslandMessage.Signature); - signatureMessage.add(event1.getName()); - island1.setMessage(IslandMessage.Signature, - player.getName(), signatureMessage); - soundManager.playSound(player, - Sounds.NOTE_PLING.bukkitSound(), 1.0F, - 1.0F); - } - - Bukkit.getServer().getScheduler() - .runTaskLater(skyblock, - () -> open(player, - Type.Panel, - null, - Panel.Signature), 1L); + if (island1 == null) { + messageManager.sendMessage(player, + configLoad.getString( + "Command.Island.Settings.Owner.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + player.closeInventory(); event1.setWillClose(true); event1.setWillDestroy(true); - } else { - event1.setWillClose(false); - event1.setWillDestroy(false); + + return; + } else if (!(island1.hasRole(IslandRole.Operator, + player.getUniqueId()) + || island1.hasRole(IslandRole.Owner, + player.getUniqueId()))) { + messageManager.sendMessage(player, configLoad + .getString("Command.Island.Role.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + player.closeInventory(); + + event1.setWillClose(true); + event1.setWillDestroy(true); + + return; + } else if (!skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), + "config.yml")) + .getFileConfiguration().getBoolean( + "Island.Visitor.Signature.Enable")) { + messageManager.sendMessage(player, + configLoad.getString( + "Island.Settings.Visitor.Signature.Disabled.Message")); + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event1.setWillClose(true); + event1.setWillDestroy(true); + + return; } - }); - ItemStack is12 = new ItemStack(Material.NAME_TAG); - ItemMeta im = is12.getItemMeta(); - im.setDisplayName(configLoad.getString( - "Menu.Settings.Visitor.Panel.Signature.Item.Line.Add.Word.Enter")); - is12.setItemMeta(im); + Config config1 = skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), + "config.yml")); + FileConfiguration configLoad1 = config1 + .getFileConfiguration(); - gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); - gui.open(); - }, 1L); - } - } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() - .getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( - "Menu.Settings.Visitor.Panel.Signature.Item.Line.Remove.Displayname"))))) { - List signatureMessage = island.getMessage(IslandMessage.Signature); + if (island1.getMessage(IslandMessage.Signature) + .size() > configLoad1.getInt( + "Island.Visitor.Signature.Lines") + || event1.getName().length() > configLoad1 + .getInt("Island.Visitor.Signature.Length")) { + soundManager.playSound(player, + Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + } else { + List signatureMessage = island1 + .getMessage(IslandMessage.Signature); + signatureMessage.add(event1.getName()); + island1.setMessage(IslandMessage.Signature, + player.getName(), signatureMessage); + soundManager.playSound(player, + Sounds.NOTE_PLING.bukkitSound(), 1.0F, + 1.0F); + } - if (signatureMessage.size() == 0) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, + () -> open(player, + Type.Panel, + null, + Panel.Signature), 1L); - event.setWillClose(false); - event.setWillDestroy(false); - } else { - signatureMessage.remove(signatureMessage.size() - 1); - island.setMessage(IslandMessage.Signature, - island.getMessageAuthor(IslandMessage.Signature), signatureMessage); - soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, Type.Panel, null, - Panel.Signature), 1L); - } + ItemStack is12 = new ItemStack(Material.NAME_TAG); + ItemMeta im = is12.getItemMeta(); + im.setDisplayName(configLoad.getString( + "Menu.Settings.Visitor.Panel.Signature.Item.Line.Add.Word.Enter")); + is12.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is12); + gui.open(); + }, 1L); + } + } else if ((is.getType() == Material.ARROW) && (is.hasItemMeta()) && (is.getItemMeta() + .getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad.getString( + "Menu.Settings.Visitor.Panel.Signature.Item.Line.Remove.Displayname"))))) { + List signatureMessage = island12.getMessage(IslandMessage.Signature); + + if (signatureMessage.size() == 0) { + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else { + signatureMessage.remove(signatureMessage.size() - 1); + island12.setMessage(IslandMessage.Signature, + island12.getMessageAuthor(IslandMessage.Signature), signatureMessage); + soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, Type.Panel, null, + Panel.Signature), 1L); } } } @@ -1539,12 +1512,7 @@ public class Settings { configLoad.getString("Menu.Settings.Visitor.Panel.Signature.Title"))); nInv.setType(InventoryType.HOPPER); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Upgrade.java b/src/main/java/me/goodandevil/skyblock/menus/Upgrade.java index 38ed9162..82f9ff73 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Upgrade.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Upgrade.java @@ -73,363 +73,49 @@ public class Upgrade { if (playerDataManager.hasPlayerData(player) && playerDataManager.getPlayerData(player).getOwner() != null) { Island island = islandManager.getIsland(player); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (!economyManager.isEconomy()) { - messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Disabled.Message")); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (!economyManager.isEconomy()) { + messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Disabled.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + return; + } + + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData = playerDataManager.getPlayerData(player); + + if (playerData.getOwner() == null) { + messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Owner.Message")); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); return; } - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); + ItemStack is = event.getItem(); - if (playerData.getOwner() == null) { - messageManager.sendMessage(player, configLoad.getString("Island.Upgrade.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - return; - } - - ItemStack is = event.getItem(); - - if ((is.getType() == Material.POTION) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Upgrade.Item.Speed.Displayname")))) { - if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed)) { - if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed)) { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, - false); - - for (Player all : islandManager.getPlayersAtIsland(island)) { - all.removePotionEffect(PotionEffectType.SPEED); - } - } else { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, - true); - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - List upgrades = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed); - - if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); - - if (economyManager.hasBalance(player, upgrade.getCost())) { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Bought.Message") - .replace("%upgrade", is.getItemMeta().getDisplayName())); - soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); - - economyManager.withdraw(player, upgrade.getCost()); - island.setUpgrade(player, - me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, true); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Money.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Exist.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', configLoad.getString("Menu.Upgrade.Item.Jump.Displayname")))) { - if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump)) { - if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump)) { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump, - false); - - for (Player all : islandManager.getPlayersAtIsland(island)) { - all.removePotionEffect(PotionEffectType.JUMP); - } - } else { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump, - true); - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - List upgrades = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump); - - if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); - - if (economyManager.hasBalance(player, upgrade.getCost())) { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Bought.Message") - .replace("%upgrade", is.getItemMeta().getDisplayName())); - soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); - - economyManager.withdraw(player, upgrade.getCost()); - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump, - true); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Money.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Exist.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } - } - } else if ((is.getType() == Materials.WHEAT_SEEDS.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Upgrade.Item.Crop.Displayname"))))) { - if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop)) { - if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop)) { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, false); - } else { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, true); - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else { - List upgrades = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop); - - if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); - - if (economyManager.hasBalance(player, upgrade.getCost())) { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Bought.Message") - .replace("%upgrade", is.getItemMeta().getDisplayName())); - soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); - - economyManager.withdraw(player, upgrade.getCost()); - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, - true); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Money.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Exist.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } - } else if ((is.getType() == Material.FEATHER) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Upgrade.Item.Fly.Displayname"))))) { - if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly)) { - if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly)) { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, false); - islandManager.updateFlightAtIsland(island); - } else { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, true); - islandManager.updateFlightAtIsland(island); - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else { - List upgrades = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly); - - if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); - - if (economyManager.hasBalance(player, upgrade.getCost())) { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Bought.Message") - .replace("%upgrade", is.getItemMeta().getDisplayName())); - soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); - - economyManager.withdraw(player, upgrade.getCost()); - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, - true); - - islandManager.updateFlightAtIsland(island); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Money.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Exist.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } - } else if ((is.getType() == Material.SPIDER_EYE) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Upgrade.Item.Drops.Displayname"))))) { - if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops)) { - if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops)) { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, + if ((is.getType() == Material.POTION) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Upgrade.Item.Speed.Displayname")))) { + if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed)) { + if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed)) { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, false); - } else { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, true); - } - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else { - List upgrades = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops); - - if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); - - if (economyManager.hasBalance(player, upgrade.getCost())) { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Bought.Message") - .replace("%upgrade", is.getItemMeta().getDisplayName())); - soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); - - economyManager.withdraw(player, upgrade.getCost()); - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, - true); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Money.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); + for (Player all : islandManager.getPlayersAtIsland(island)) { + all.removePotionEffect(PotionEffectType.SPEED); } } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Exist.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } - } else if ((is.getType() == Material.BEACON) && (is.hasItemMeta())) { - List upgrades = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); - - if (upgrades != null && upgrades.size() > 0) { - for (int i = 0; i < upgrades.size(); i++) { - me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(i); - int tier = i + 1; - - if (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Upgrade.Item.Size.Displayname") - .replace("%tier", "" + tier)))) { - if (upgrade.getValue() > island.getSize() - && upgrade.getValue() != island.getSize()) { - if (economyManager.hasBalance(player, upgrade.getCost())) { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Bought.Message").replace( - "%upgrade", is.getItemMeta().getDisplayName())); - soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, - 1.0F); - - economyManager.withdraw(player, upgrade.getCost()); - island.setSize(upgrade.getValue()); - - Bukkit.getServer().getPluginManager().callEvent(new IslandUpgradeEvent( - island.getAPIWrapper(), player, APIUtil.fromImplementation( - me.goodandevil.skyblock.upgrade.Upgrade.Type.Size))); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player), 1L); - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Money.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - - return; - } - } - } - - messageManager.sendMessage(player, - configLoad.getString("Island.Upgrade.Claimed.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - } else if ((is.getType() == Materials.SPAWNER.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Upgrade.Item.Spawner.Displayname"))))) { - if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner)) { - if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner)) { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner, - false); - } else { - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner, + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, true); } soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); } else { List upgrades = upgradeManager - .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner); + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed); if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); @@ -441,7 +127,62 @@ public class Upgrade { soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); economyManager.withdraw(player, upgrade.getCost()); - island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner, + island.setUpgrade(player, + me.goodandevil.skyblock.upgrade.Upgrade.Type.Speed, true); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Money.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Exist.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', configLoad.getString("Menu.Upgrade.Item.Jump.Displayname")))) { + if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump)) { + if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump)) { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump, + false); + + for (Player all : islandManager.getPlayersAtIsland(island)) { + all.removePotionEffect(PotionEffectType.JUMP); + } + } else { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump, + true); + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + List upgrades = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump); + + if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { + me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); + + if (economyManager.hasBalance(player, upgrade.getCost())) { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Bought.Message") + .replace("%upgrade", is.getItemMeta().getDisplayName())); + soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); + + economyManager.withdraw(player, upgrade.getCost()); + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Jump, true); Bukkit.getServer().getScheduler().runTaskLater(skyblock, @@ -464,6 +205,262 @@ public class Upgrade { } } } + } else if ((is.getType() == Materials.WHEAT_SEEDS.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Upgrade.Item.Crop.Displayname"))))) { + if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop)) { + if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop)) { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, false); + } else { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, true); + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else { + List upgrades = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop); + + if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { + me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); + + if (economyManager.hasBalance(player, upgrade.getCost())) { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Bought.Message") + .replace("%upgrade", is.getItemMeta().getDisplayName())); + soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); + + economyManager.withdraw(player, upgrade.getCost()); + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Crop, + true); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Money.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Exist.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } + } else if ((is.getType() == Material.FEATHER) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Upgrade.Item.Fly.Displayname"))))) { + if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly)) { + if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly)) { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, false); + islandManager.updateFlightAtIsland(island); + } else { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, true); + islandManager.updateFlightAtIsland(island); + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else { + List upgrades = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly); + + if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { + me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); + + if (economyManager.hasBalance(player, upgrade.getCost())) { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Bought.Message") + .replace("%upgrade", is.getItemMeta().getDisplayName())); + soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); + + economyManager.withdraw(player, upgrade.getCost()); + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Fly, + true); + + islandManager.updateFlightAtIsland(island); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Money.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Exist.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } + } else if ((is.getType() == Material.SPIDER_EYE) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Upgrade.Item.Drops.Displayname"))))) { + if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops)) { + if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops)) { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, + false); + } else { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, true); + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else { + List upgrades = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops); + + if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { + me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); + + if (economyManager.hasBalance(player, upgrade.getCost())) { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Bought.Message") + .replace("%upgrade", is.getItemMeta().getDisplayName())); + soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); + + economyManager.withdraw(player, upgrade.getCost()); + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Drops, + true); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Money.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Exist.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } + } else if ((is.getType() == Material.BEACON) && (is.hasItemMeta())) { + List upgrades = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Size); + + if (upgrades != null && upgrades.size() > 0) { + for (int i = 0; i < upgrades.size(); i++) { + me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(i); + int tier = i + 1; + + if (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Upgrade.Item.Size.Displayname") + .replace("%tier", "" + tier)))) { + if (upgrade.getValue() > island.getSize() + && upgrade.getValue() != island.getSize()) { + if (economyManager.hasBalance(player, upgrade.getCost())) { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Bought.Message").replace( + "%upgrade", is.getItemMeta().getDisplayName())); + soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, + 1.0F); + + economyManager.withdraw(player, upgrade.getCost()); + island.setSize(upgrade.getValue()); + + Bukkit.getServer().getPluginManager().callEvent(new IslandUpgradeEvent( + island.getAPIWrapper(), player, APIUtil.fromImplementation( + me.goodandevil.skyblock.upgrade.Upgrade.Type.Size))); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Money.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + + return; + } + } + } + + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Claimed.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } else if ((is.getType() == Materials.SPAWNER.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Upgrade.Item.Spawner.Displayname"))))) { + if (island.hasUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner)) { + if (island.isUpgrade(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner)) { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner, + false); + } else { + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner, + true); + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else { + List upgrades = upgradeManager + .getUpgrades(me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner); + + if (upgrades != null && upgrades.size() > 0 && upgrades.get(0).isEnabled()) { + me.goodandevil.skyblock.upgrade.Upgrade upgrade = upgrades.get(0); + + if (economyManager.hasBalance(player, upgrade.getCost())) { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Bought.Message") + .replace("%upgrade", is.getItemMeta().getDisplayName())); + soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); + + economyManager.withdraw(player, upgrade.getCost()); + island.setUpgrade(player, me.goodandevil.skyblock.upgrade.Upgrade.Type.Spawner, + true); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player), 1L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Money.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Upgrade.Exist.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + } } } }); diff --git a/src/main/java/me/goodandevil/skyblock/menus/Visit.java b/src/main/java/me/goodandevil/skyblock/menus/Visit.java index 96948bdc..bb1ea16b 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Visit.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Visit.java @@ -62,202 +62,199 @@ public class Visit { FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")) .getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = playerDataManager.getPlayerData(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData = playerDataManager.getPlayerData(player); - if (playerData.getType() == null || playerData.getSort() == null) { - playerData.setType(Visit.Type.Default); - playerData.setSort(Visit.Sort.Default); + if (playerData.getType() == null || playerData.getSort() == null) { + playerData.setType(Type.Default); + playerData.setSort(Sort.Default); + } + + ItemStack is = event.getItem(); + + if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visit.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visit.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visit.Item.Statistics.Displayname"))))) { + soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Material.HOPPER) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visit.Item.Type.Displayname")))) { + Type type1 = (Type) playerData.getType(); + + if (type1.ordinal() + 1 == Type.values().length) { + playerData.setType(Type.Default); + } else { + playerData.setType(Type.values()[type1.ordinal() + 1]); + } + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visit.Item.Sort.Displayname")))) { + Sort sort1 = (Sort) playerData.getSort(); + + if (sort1.ordinal() + 1 == Sort.values().length) { + playerData.setSort(Sort.Default); + } else { + playerData.setSort(Sort.values()[sort1.ordinal() + 1]); + } } - ItemStack is = event.getItem(); + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visit.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); + } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visit.Item.Nothing.Displayname"))))) { + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visit.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visit.Item.Statistics.Displayname"))))) { - soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Material.HOPPER) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visit.Item.Type.Displayname")))) { - Visit.Type type = (Visit.Type) playerData.getType(); - - if (type.ordinal() + 1 == Visit.Type.values().length) { - playerData.setType(Visit.Type.Default); - } else { - playerData.setType(Visit.Type.values()[type.ordinal() + 1]); - } - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visit.Item.Sort.Displayname")))) { - Visit.Sort sort = (Visit.Sort) playerData.getSort(); - - if (sort.ordinal() + 1 == Visit.Sort.values().length) { - playerData.setSort(Visit.Sort.Default); - } else { - playerData.setSort(Visit.Sort.values()[sort.ordinal() + 1]); - } - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visit.Item.Previous.Displayname")))) { + playerData.setPage(playerData.getPage() - 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); - } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visit.Item.Nothing.Displayname"))))) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visit.Item.Next.Displayname")))) { + playerData.setPage(playerData.getPage() + 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visit.Item.Previous.Displayname")))) { - playerData.setPage(playerData.getPage() - 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); + } else { + String targetPlayerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); + UUID targetPlayerUUID; - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visit.Item.Next.Displayname")))) { - playerData.setPage(playerData.getPage() + 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + Player targetPlayer = Bukkit.getServer().getPlayer(targetPlayerName); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); + if (targetPlayer == null) { + targetPlayerUUID = new OfflinePlayer(targetPlayerName).getUniqueId(); } else { - String targetPlayerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); - UUID targetPlayerUUID; + targetPlayerUUID = targetPlayer.getUniqueId(); + } - Player targetPlayer = Bukkit.getServer().getPlayer(targetPlayerName); + if (visitManager.hasIsland(targetPlayerUUID)) { + me.goodandevil.skyblock.visit.Visit visit = visitManager.getIsland(targetPlayerUUID); + boolean isCoopPlayer = false; + org.bukkit.OfflinePlayer offlinePlayer = Bukkit.getServer() + .getOfflinePlayer(targetPlayerUUID); - if (targetPlayer == null) { - targetPlayerUUID = new OfflinePlayer(targetPlayerName).getUniqueId(); - } else { - targetPlayerUUID = targetPlayer.getUniqueId(); + if (islandManager.containsIsland(targetPlayerUUID)) { + if (islandManager.getIsland(offlinePlayer).isCoopPlayer(player.getUniqueId())) { + isCoopPlayer = true; + } } - if (visitManager.hasIsland(targetPlayerUUID)) { - me.goodandevil.skyblock.visit.Visit visit = visitManager.getIsland(targetPlayerUUID); - boolean isCoopPlayer = false; - org.bukkit.OfflinePlayer offlinePlayer = Bukkit.getServer() - .getOfflinePlayer(targetPlayerUUID); + if (isCoopPlayer || player.hasPermission("fabledskyblock.bypass") + || player.hasPermission("fabledskyblock.bypass.*") + || player.hasPermission("fabledskyblock.*") || visit.isOpen()) { + if (!islandManager.containsIsland(targetPlayerUUID)) { + islandManager.loadIsland(Bukkit.getServer().getOfflinePlayer(targetPlayerUUID)); + } - if (islandManager.containsIsland(targetPlayerUUID)) { - if (islandManager.getIsland(offlinePlayer).isCoopPlayer(player.getUniqueId())) { - isCoopPlayer = true; + Island island = islandManager.getIsland(offlinePlayer); + + if ((!island.hasRole(IslandRole.Member, player.getUniqueId()) + && !island.hasRole(IslandRole.Operator, player.getUniqueId()) + && !island.hasRole(IslandRole.Owner, player.getUniqueId())) + && fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Visitor.Vote")) { + if (event.getClick() == ClickType.RIGHT) { + if (playerData.getIsland() != null + && playerData.getIsland().equals(island.getOwnerUUID())) { + if (visit.getVoters().contains(player.getUniqueId())) { + visit.removeVoter(player.getUniqueId()); + + messageManager.sendMessage(player, + configLoad.getString("Island.Visit.Vote.Removed.Message") + .replace("%player", targetPlayerName)); + soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, + 1.0F); + } else { + visit.addVoter(player.getUniqueId()); + + messageManager.sendMessage(player, + configLoad.getString("Island.Visit.Vote.Added.Message") + .replace("%player", targetPlayerName)); + soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, + 1.0F); + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, + 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Visit.Vote.Island.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, + 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } + + islandManager.unloadIsland(island, null); + + return; + } else if (event.getClick() != ClickType.LEFT) { + return; } } - if (isCoopPlayer || player.hasPermission("fabledskyblock.bypass") - || player.hasPermission("fabledskyblock.bypass.*") - || player.hasPermission("fabledskyblock.*") || visit.isOpen()) { - if (!islandManager.containsIsland(targetPlayerUUID)) { - islandManager.loadIsland(Bukkit.getServer().getOfflinePlayer(targetPlayerUUID)); - } - - Island island = islandManager.getIsland(offlinePlayer); - - if ((!island.hasRole(IslandRole.Member, player.getUniqueId()) - && !island.hasRole(IslandRole.Operator, player.getUniqueId()) - && !island.hasRole(IslandRole.Owner, player.getUniqueId())) - && fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Visitor.Vote")) { - if (event.getClick() == ClickType.RIGHT) { - if (playerData.getIsland() != null - && playerData.getIsland().equals(island.getOwnerUUID())) { - if (visit.getVoters().contains(player.getUniqueId())) { - visit.removeVoter(player.getUniqueId()); - - messageManager.sendMessage(player, - configLoad.getString("Island.Visit.Vote.Removed.Message") - .replace("%player", targetPlayerName)); - soundManager.playSound(player, Sounds.EXPLODE.bukkitSound(), 1.0F, - 1.0F); - } else { - visit.addVoter(player.getUniqueId()); - - messageManager.sendMessage(player, - configLoad.getString("Island.Visit.Vote.Added.Message") - .replace("%player", targetPlayerName)); - soundManager.playSound(player, Sounds.LEVEL_UP.bukkitSound(), 1.0F, - 1.0F); - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, - 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, (Type) playerData.getType(), - (Sort) playerData.getSort()), 1L); - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Visit.Vote.Island.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - } - - islandManager.unloadIsland(island, null); - - return; - } else if (event.getClick() != ClickType.LEFT) { - return; - } - } - - if (islandManager.isPlayerAtIsland(island, player)) { - messageManager.sendMessage(player, - configLoad.getString("Island.Visit.Already.Message").replace("%player", - targetPlayerName)); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - - islandManager.visitIsland(player, island); - + if (islandManager.isPlayerAtIsland(island, player)) { messageManager.sendMessage(player, - configLoad.getString("Island.Visit.Teleported.Message").replace("%player", - targetPlayerName)); - soundManager.playSound(player, Sounds.ENDERMAN_TELEPORT.bukkitSound(), 1.0F, 1.0F); - } else { - messageManager.sendMessage(player, - configLoad.getString("Island.Visit.Closed.Menu.Message").replace("%player", + configLoad.getString("Island.Visit.Already.Message").replace("%player", targetPlayerName)); soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, - () -> open(player, (Type) playerData.getType(), - (Sort) playerData.getSort()), 1L); + event.setWillClose(false); + event.setWillDestroy(false); + + return; } - return; + islandManager.visitIsland(player, island); + + messageManager.sendMessage(player, + configLoad.getString("Island.Visit.Teleported.Message").replace("%player", + targetPlayerName)); + soundManager.playSound(player, Sounds.ENDERMAN_TELEPORT.bukkitSound(), 1.0F, 1.0F); + } else { + messageManager.sendMessage(player, + configLoad.getString("Island.Visit.Closed.Menu.Message").replace("%player", + targetPlayerName)); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, + () -> open(player, (Type) playerData.getType(), + (Sort) playerData.getSort()), 1L); } - messageManager.sendMessage(player, configLoad.getString("Island.Visit.Exist.Message") - .replace("%player", targetPlayerName)); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); + return; } + + messageManager.sendMessage(player, configLoad.getString("Island.Visit.Exist.Message") + .replace("%player", targetPlayerName)); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, (Type) playerData.getType(), (Sort) playerData.getSort()), 1L); } } } @@ -531,12 +528,7 @@ public class Visit { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Visit.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } public enum Type { diff --git a/src/main/java/me/goodandevil/skyblock/menus/Visitors.java b/src/main/java/me/goodandevil/skyblock/menus/Visitors.java index b2a440f6..f7fa59d1 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Visitors.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Visitors.java @@ -57,91 +57,74 @@ public class Visitors { FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")) .getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player); - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + PlayerData playerData = skyblock.getPlayerDataManager().getPlayerData(player); + Island island = islandManager.getIsland(player); - if (island == null) { - skyblock.getMessageManager().sendMessage(player, - configLoad.getString("Command.Island.Visitors.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + if (island == null) { + skyblock.getMessageManager().sendMessage(player, + configLoad.getString("Command.Island.Visitors.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - ItemStack is = event.getItem(); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visitors.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visitors.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visitors.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visitors.Item.Statistics.Displayname"))))) { - soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visitors.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visitors.Item.Statistics.Displayname"))))) { + soundManager.playSound(player, Sounds.VILLAGER_YES.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visitors.Item.Nothing.Displayname"))))) { - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Material.BARRIER) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visitors.Item.Nothing.Displayname"))))) { + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { - if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Visitors.Item.Previous.Displayname")))) { - playerData.setPage(playerData.getPage() - 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == SkullUtil.createItemStack().getType()) && (is.hasItemMeta())) { + if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Visitors.Item.Previous.Displayname")))) { + playerData.setPage(playerData.getPage() - 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( - '&', configLoad.getString("Menu.Visitors.Item.Next.Displayname")))) { - playerData.setPage(playerData.getPage() + 1); - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else if (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes( + '&', configLoad.getString("Menu.Visitors.Item.Next.Displayname")))) { + playerData.setPage(playerData.getPage() + 1); + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else { - boolean isOperator = island.hasRole(IslandRole.Operator, player.getUniqueId()), - isOwner = island.hasRole(IslandRole.Owner, player.getUniqueId()), - canKick = island.getSetting(IslandRole.Operator, "Kick").getStatus(), - canBan = island.getSetting(IslandRole.Operator, "Ban").getStatus(), - banningEnabled = fileManager - .getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Visitor.Banning"); - String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else { + boolean isOperator = island.hasRole(IslandRole.Operator, player.getUniqueId()), + isOwner = island.hasRole(IslandRole.Owner, player.getUniqueId()), + canKick = island.getSetting(IslandRole.Operator, "Kick").getStatus(), + canBan = island.getSetting(IslandRole.Operator, "Ban").getStatus(), + banningEnabled = fileManager + .getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Visitor.Banning"); + String playerName = ChatColor.stripColor(is.getItemMeta().getDisplayName()); - if ((isOperator && canKick) || isOwner) { - if (banningEnabled && ((isOperator && canBan) || isOwner)) { - if (event.getClick() == ClickType.LEFT) { - Bukkit.getServer().dispatchCommand(player, "island kick " + playerName); - } else if (event.getClick() == ClickType.RIGHT) { - Bukkit.getServer().dispatchCommand(player, "island ban " + playerName); - } else { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, - 1.0F); - - event.setWillClose(false); - event.setWillDestroy(false); - - return; - } - } else { + if ((isOperator && canKick) || isOwner) { + if (banningEnabled && ((isOperator && canBan) || isOwner)) { + if (event.getClick() == ClickType.LEFT) { Bukkit.getServer().dispatchCommand(player, "island kick " + playerName); - } - } else { - if (banningEnabled && ((isOperator && canBan) || isOwner)) { + } else if (event.getClick() == ClickType.RIGHT) { Bukkit.getServer().dispatchCommand(player, "island ban " + playerName); } else { soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, @@ -152,10 +135,24 @@ public class Visitors { return; } + } else { + Bukkit.getServer().dispatchCommand(player, "island kick " + playerName); } + } else { + if (banningEnabled && ((isOperator && canBan) || isOwner)) { + Bukkit.getServer().dispatchCommand(player, "island ban " + playerName); + } else { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, + 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + event.setWillClose(false); + event.setWillDestroy(false); + + return; + } } + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } } @@ -298,12 +295,7 @@ public class Visitors { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Visitors.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/Weather.java b/src/main/java/me/goodandevil/skyblock/menus/Weather.java index 85cd3969..195cb124 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/Weather.java +++ b/src/main/java/me/goodandevil/skyblock/menus/Weather.java @@ -52,123 +52,120 @@ public class Weather { FileConfiguration configLoad = fileManager.getConfig(new File(skyblock.getDataFolder(), "language.yml")) .getFileConfiguration(); - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (playerDataManager.hasPlayerData(player)) { - Island island = islandManager.getIsland(player); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (playerDataManager.hasPlayerData(player)) { + Island island = islandManager.getIsland(player); - if (island == null) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Weather.Owner.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - player.closeInventory(); + if (island == null) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Weather.Owner.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + player.closeInventory(); - return; - } else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId()) - && island.getSetting(IslandRole.Operator, "Biome").getStatus()) - || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { - messageManager.sendMessage(player, - configLoad.getString("Command.Island.Weather.Permission.Message")); - soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); - player.closeInventory(); + return; + } else if (!((island.hasRole(IslandRole.Operator, player.getUniqueId()) + && island.getSetting(IslandRole.Operator, "Biome").getStatus()) + || island.hasRole(IslandRole.Owner, player.getUniqueId()))) { + messageManager.sendMessage(player, + configLoad.getString("Command.Island.Weather.Permission.Message")); + soundManager.playSound(player, Sounds.VILLAGER_NO.bukkitSound(), 1.0F, 1.0F); + player.closeInventory(); - return; + return; + } + + ItemStack is = event.getItem(); + + if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Weather.Item.Info.Displayname"))))) { + soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) + && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Weather.Item.Barrier.Displayname"))))) { + soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + + event.setWillClose(false); + event.setWillDestroy(false); + } else if ((is.getType() == Materials.SUNFLOWER.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Weather.Item.Time.Displayname"))))) { + int islandTime = island.getTime(); + + if (islandTime == 0) { + island.setTime(1000); + } else if (islandTime == 1000) { + island.setTime(6000); + } else if (islandTime == 6000) { + island.setTime(12000); + } else if (islandTime == 12000) { + island.setTime(13000); + } else if (islandTime == 13000) { + island.setTime(18000); + } else if (islandTime == 18000) { + island.setTime(0); } - ItemStack is = event.getItem(); + if (!island.isWeatherSynchronized()) { + for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) { + all.setPlayerTime(island.getTime(), + fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Weather.Time.Cycle")); + } + } - if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Weather.Item.Info.Displayname"))))) { - soundManager.playSound(player, Sounds.CHICKEN_EGG_POP.bukkitSound(), 1.0F, 1.0F); + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.BLACK_STAINED_GLASS_PANE.parseMaterial()) - && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Weather.Item.Barrier.Displayname"))))) { - soundManager.playSound(player, Sounds.GLASS.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else if ((is.getType() == Material.GHAST_TEAR) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Weather.Item.Weather.Displayname"))))) { + if (island.getWeather() == WeatherType.DOWNFALL) { + island.setWeather(WeatherType.CLEAR); + } else { + island.setWeather(WeatherType.DOWNFALL); + } + + if (!island.isWeatherSynchronized()) { + for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) { + all.setPlayerWeather(island.getWeather()); + } + } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); + } else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Weather.Item.Synchronised.Displayname"))))) { + if (island.isWeatherSynchronized()) { + island.setWeatherSynchronized(false); - event.setWillClose(false); - event.setWillDestroy(false); - } else if ((is.getType() == Materials.SUNFLOWER.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Weather.Item.Time.Displayname"))))) { int islandTime = island.getTime(); + WeatherType islandWeather = island.getWeather(); - if (islandTime == 0) { - island.setTime(1000); - } else if (islandTime == 1000) { - island.setTime(6000); - } else if (islandTime == 6000) { - island.setTime(12000); - } else if (islandTime == 12000) { - island.setTime(13000); - } else if (islandTime == 13000) { - island.setTime(18000); - } else if (islandTime == 18000) { - island.setTime(0); + for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) { + all.setPlayerTime(islandTime, + fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) + .getFileConfiguration().getBoolean("Island.Weather.Time.Cycle")); + all.setPlayerWeather(islandWeather); } + } else { + island.setWeatherSynchronized(true); - if (!island.isWeatherSynchronized()) { - for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) { - all.setPlayerTime(island.getTime(), - fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Weather.Time.Cycle")); - } + for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) { + all.resetPlayerTime(); + all.resetPlayerWeather(); } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if ((is.getType() == Material.GHAST_TEAR) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Weather.Item.Weather.Displayname"))))) { - if (island.getWeather() == WeatherType.DOWNFALL) { - island.setWeather(WeatherType.CLEAR); - } else { - island.setWeather(WeatherType.DOWNFALL); - } - - if (!island.isWeatherSynchronized()) { - for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) { - all.setPlayerWeather(island.getWeather()); - } - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); - } else if ((is.getType() == Material.TRIPWIRE_HOOK) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Weather.Item.Synchronised.Displayname"))))) { - if (island.isWeatherSynchronized()) { - island.setWeatherSynchronized(false); - - int islandTime = island.getTime(); - WeatherType islandWeather = island.getWeather(); - - for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) { - all.setPlayerTime(islandTime, - fileManager.getConfig(new File(skyblock.getDataFolder(), "config.yml")) - .getFileConfiguration().getBoolean("Island.Weather.Time.Cycle")); - all.setPlayerWeather(islandWeather); - } - } else { - island.setWeatherSynchronized(true); - - for (Player all : islandManager.getPlayersAtIsland(island, IslandWorld.Normal)) { - all.resetPlayerTime(); - all.resetPlayerWeather(); - } - } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player), 1L); } } }); @@ -241,12 +238,7 @@ public class Weather { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Weather.Title"))); nInv.setType(InventoryType.HOPPER); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java index 7b510994..309fdd6e 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Creator.java @@ -249,12 +249,7 @@ public class Creator implements Listener { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Creator.Title"))); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } @SuppressWarnings("deprecation") @@ -354,20 +349,17 @@ public class Creator implements Listener { .replace("%structure", event1.getName())); soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config111 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad111 = config111.getFileConfiguration(); - configLoad.set("Structures." + event1.getName() + ".Name", event1.getName()); + configLoad111.set("Structures." + event1.getName() + ".Name", event1.getName()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad111.save(config111.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); @@ -1104,21 +1096,18 @@ public class Creator implements Listener { soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config112 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad112 = config112.getFileConfiguration(); - configLoad.set("Structures." + structure.getName() + ".Deletion.Cost", - deletionCost); + configLoad112.set("Structures." + structure.getName() + ".Deletion.Cost", + deletionCost); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad112.save(config112.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); @@ -1172,21 +1161,18 @@ public class Creator implements Listener { if (materials != null) { structure.setMaterials(materials); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config113 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "structures.yml")); + FileConfiguration configLoad113 = config113.getFileConfiguration(); - configLoad.set("Structures." + structure.getName() + ".Item.Material", - structure.getMaterials().name()); + configLoad113.set("Structures." + structure.getName() + ".Item.Material", + structure.getMaterials().name()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad113.save(config113.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); } diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java index 083c8e6c..0ca76c44 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Generator.java @@ -284,20 +284,17 @@ public class Generator implements Listener { .replace("%generator", event1.getName())); soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "generators.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config14 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "generators.yml")); + FileConfiguration configLoad14 = config14.getFileConfiguration(); - configLoad.set("Generators." + event1.getName() + ".Name", event1.getName()); + configLoad14.set("Generators." + event1.getName() + ".Name", event1.getName()); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad14.save(config14.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); @@ -539,23 +536,20 @@ public class Generator implements Listener { generator.getGeneratorMaterials().remove(generatorMaterialList); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig( - new File(skyblock.getDataFolder(), "generators.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + () -> { + Config config15 = fileManager.getConfig( + new File(skyblock.getDataFolder(), "generators.yml")); + FileConfiguration configLoad15 = config15.getFileConfiguration(); - configLoad.set( - "Generators." + generator.getName() + ".Materials." - + generatorMaterialList.getMaterials().name(), - null); + configLoad15.set( + "Generators." + generator.getName() + ".Materials." + + generatorMaterialList.getMaterials().name(), + null); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad15.save(config15.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); @@ -604,21 +598,18 @@ public class Generator implements Listener { .replace("%generator", generator.getName())); soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "generators.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config16 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "generators.yml")); + FileConfiguration configLoad16 = config16.getFileConfiguration(); - configLoad.set("Generators." + generator.getName() + ".Materials." - + materials.name() + ".Chance", 0); + configLoad16.set("Generators." + generator.getName() + ".Materials." + + materials.name() + ".Chance", 0); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad16.save(config16.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java index acd5c458..031e6e83 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Levelling.java @@ -142,12 +142,7 @@ public class Levelling implements Listener { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Levelling.Title"))); nInv.setRows(6); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } @SuppressWarnings("deprecation") @@ -229,20 +224,17 @@ public class Levelling implements Listener { .replace("%division", NumberUtil.formatNumberByDecimal(pointDivision))); soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "config.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config12 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "config.yml")); + FileConfiguration configLoad12 = config12.getFileConfiguration(); - configLoad.set("Island.Levelling.Division", pointDivision); + configLoad12.set("Island.Levelling.Division", pointDivision); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad12.save(config12.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); @@ -395,20 +387,17 @@ public class Levelling implements Listener { .replace("%material", materials.name())); soundManager.playSound(player, Sounds.IRONGOLEM_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager - .getConfig(new File(skyblock.getDataFolder(), "levelling.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config13 = fileManager + .getConfig(new File(skyblock.getDataFolder(), "levelling.yml")); + FileConfiguration configLoad13 = config13.getFileConfiguration(); - configLoad.set("Materials." + materials.name(), null); + configLoad13.set("Materials." + materials.name(), null); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad13.save(config13.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); } @@ -443,19 +432,16 @@ public class Levelling implements Listener { .replace("%material", materials.name())); soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig(new File(skyblock.getDataFolder(), "levelling.yml")); - FileConfiguration configLoad = config.getFileConfiguration(); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + Config config14 = fileManager.getConfig(new File(skyblock.getDataFolder(), "levelling.yml")); + FileConfiguration configLoad14 = config14.getFileConfiguration(); - configLoad.set("Materials." + materials.name() + ".Points", 0); + configLoad14.set("Materials." + materials.name() + ".Points", 0); - try { - configLoad.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad14.save(config14.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); } diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java index c7478723..0dbd51ad 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Settings.java @@ -49,56 +49,53 @@ public class Settings { FileConfiguration configLoad = languageConfig.getFileConfiguration(); if (menuType == Settings.Type.Categories) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (!(player.hasPermission("fabledskyblock.admin.settings") || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { - messageManager.sendMessage(player, - configLoad.getString("Island.Admin.Settings.Permission.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (!(player.hasPermission("fabledskyblock.admin.settings") || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, + configLoad.getString("Island.Admin.Settings.Permission.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - ItemStack is = event.getItem(); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Settings.Categories.Item.Exit.Displayname"))))) { - soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); - } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Admin.Settings.Categories.Item.Visitor.Displayname"))))) { - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Settings.Categories.Item.Exit.Displayname"))))) { + soundManager.playSound(player, Sounds.CHEST_CLOSE.bukkitSound(), 1.0F, 1.0F); + } else if ((is.hasItemMeta()) && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Admin.Settings.Categories.Item.Visitor.Displayname"))))) { + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Visitor), 1L); - } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Settings.Categories.Item.Member.Displayname"))))) { - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Visitor), 1L); + } else if ((is.getType() == Material.PAINTING) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Settings.Categories.Item.Member.Displayname"))))) { + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Member), 1L); - } else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', configLoad - .getString("Menu.Admin.Settings.Categories.Item.Operator.Displayname"))))) { - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Member), 1L); + } else if ((is.getType() == Material.ITEM_FRAME) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', configLoad + .getString("Menu.Admin.Settings.Categories.Item.Operator.Displayname"))))) { + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Operator), 1L); - } else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Settings.Categories.Item.Coop.Displayname"))))) { - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Operator), 1L); + } else if ((is.getType() == Material.NAME_TAG) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Settings.Categories.Item.Coop.Displayname"))))) { + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Coop), 1L); - } else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta()) - && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Settings.Categories.Item.Owner.Displayname"))))) { - soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Coop), 1L); + } else if ((is.getType() == Materials.OAK_SAPLING.parseMaterial()) && (is.hasItemMeta()) + && (is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Settings.Categories.Item.Owner.Displayname"))))) { + soundManager.playSound(player, Sounds.NOTE_PLING.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Owner), 1L); - } + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, me.goodandevil.skyblock.island.IslandRole.Owner), 1L); } }); @@ -140,79 +137,71 @@ public class Settings { configLoad.getString("Menu.Admin.Settings.Categories.Title"))); nInv.setRows(1); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } else if (menuType == Settings.Type.Role) { - nInventoryUtil nInv = new nInventoryUtil(player, new ClickEventHandler() { - @Override - public void onClick(ClickEvent event) { - if (!(player.hasPermission("fabledskyblock.admin.settings") || player.hasPermission("fabledskyblock.admin.*") - || player.hasPermission("fabledskyblock.*"))) { - messageManager.sendMessage(player, - configLoad.getString("Island.Admin.Settings.Permission.Message")); - soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); + nInventoryUtil nInv = new nInventoryUtil(player, event -> { + if (!(player.hasPermission("fabledskyblock.admin.settings") || player.hasPermission("fabledskyblock.admin.*") + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, + configLoad.getString("Island.Admin.Settings.Permission.Message")); + soundManager.playSound(player, Sounds.ANVIL_LAND.bukkitSound(), 1.0F, 1.0F); - return; - } + return; + } - ItemStack is = event.getItem(); + ItemStack is = event.getItem(); - if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) && (is - .getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Settings.Visitor.Item.Return.Displayname"))) - || is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Settings.Member.Item.Return.Displayname"))) - || is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad - .getString("Menu.Admin.Settings.Operator.Item.Return.Displayname"))) - || is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Settings.Owner.Item.Return.Displayname"))))) { - soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + if ((is.getType() == Materials.OAK_FENCE_GATE.parseMaterial()) && (is.hasItemMeta()) && (is + .getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Settings.Visitor.Item.Return.Displayname"))) + || is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Settings.Member.Item.Return.Displayname"))) + || is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad + .getString("Menu.Admin.Settings.Operator.Item.Return.Displayname"))) + || is.getItemMeta().getDisplayName().equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Settings.Owner.Item.Return.Displayname"))))) { + soundManager.playSound(player, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Categories, null), 1L); - } else if (is.hasItemMeta()) { - String roleName = getRoleName(role); + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Categories, null), 1L); + } else if (is.hasItemMeta()) { + String roleName = getRoleName(role); - FileConfiguration settingsConfigLoad = skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), "settings.yml")).getFileConfiguration(); + FileConfiguration settingsConfigLoad = skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), "settings.yml")).getFileConfiguration(); - for (String settingList : settingsConfigLoad.getConfigurationSection("Settings." + role.name()) - .getKeys(false)) { - if (is.getItemMeta().getDisplayName() - .equals(ChatColor.translateAlternateColorCodes('&', - configLoad.getString("Menu.Admin.Settings." + roleName + ".Item.Setting." - + settingList + ".Displayname")))) { - if (settingsConfigLoad.getBoolean("Settings." + role.name() + "." + settingList)) { - settingsConfigLoad.set("Settings." + role.name() + "." + settingList, false); - } else { - settingsConfigLoad.set("Settings." + role.name() + "." + settingList, true); - } - - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { - try { - Config config = skyblock.getFileManager() - .getConfig(new File(skyblock.getDataFolder(), "settings.yml")); - config.getFileConfiguration().save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } - }); - - break; + for (String settingList : settingsConfigLoad.getConfigurationSection("Settings." + role.name()) + .getKeys(false)) { + if (is.getItemMeta().getDisplayName() + .equals(ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Menu.Admin.Settings." + roleName + ".Item.Setting." + + settingList + ".Displayname")))) { + if (settingsConfigLoad.getBoolean("Settings." + role.name() + "." + settingList)) { + settingsConfigLoad.set("Settings." + role.name() + "." + settingList, false); + } else { + settingsConfigLoad.set("Settings." + role.name() + "." + settingList, true); } + + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + try { + Config config = skyblock.getFileManager() + .getConfig(new File(skyblock.getDataFolder(), "settings.yml")); + config.getFileConfiguration().save(config.getFile()); + } catch (IOException e) { + e.printStackTrace(); + } + }); + + break; } - - soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); - - Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, role), 1L); } + + soundManager.playSound(player, Sounds.WOOD_CLICK.bukkitSound(), 1.0F, 1.0F); + + Bukkit.getServer().getScheduler().runTaskLater(skyblock, () -> open(player, Type.Role, role), 1L); } }); @@ -632,12 +621,7 @@ public class Settings { nInv.setTitle(ChatColor.translateAlternateColorCodes('&', configLoad.getString("Menu.Admin.Settings." + role.name() + ".Title"))); - Bukkit.getServer().getScheduler().runTask(skyblock, new Runnable() { - @Override - public void run() { - nInv.open(); - } - }); + Bukkit.getServer().getScheduler().runTask(skyblock, () -> nInv.open()); } } diff --git a/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java b/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java index 62abbac2..f9bc3f1a 100644 --- a/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java +++ b/src/main/java/me/goodandevil/skyblock/menus/admin/Upgrade.java @@ -181,23 +181,20 @@ public class Upgrade { 1.0F, 1.0F); Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, - new Runnable() { - @Override - public void run() { - Config config = fileManager.getConfig(new File( - skyblock.getDataFolder(), "upgrades.yml")); - FileConfiguration configLoad1 = config - .getFileConfiguration(); + () -> { + Config config = fileManager.getConfig(new File( + skyblock.getDataFolder(), "upgrades.yml")); + FileConfiguration configLoad1 = config + .getFileConfiguration(); - configLoad1.set( - "Upgrades." + upgradeType.name() + ".Cost", - upgradeCost); + configLoad1.set( + "Upgrades." + upgradeType.name() + ".Cost", + upgradeCost); - try { - configLoad1.save(config.getFile()); - } catch (IOException e) { - e.printStackTrace(); - } + try { + configLoad1.save(config.getFile()); + } catch (IOException e) { + e.printStackTrace(); } }); diff --git a/src/main/java/me/goodandevil/skyblock/placeholder/PlaceholderManager.java b/src/main/java/me/goodandevil/skyblock/placeholder/PlaceholderManager.java index 677ecf4a..d00106e7 100644 --- a/src/main/java/me/goodandevil/skyblock/placeholder/PlaceholderManager.java +++ b/src/main/java/me/goodandevil/skyblock/placeholder/PlaceholderManager.java @@ -305,8 +305,17 @@ public class PlaceholderManager { } else { return ChatColor.translateAlternateColorCodes('&', configLoad.getString("Placeholder.fabledskyblock_island_bank_balance.Non-empty.Message")) - .replace("%placeholder", "" + island.getBankBalance()); + .replace("%placeholder", "" + NumberUtil.formatNumberByDecimal(island.getBankBalance())); } + } else if (placeholder.equalsIgnoreCase("fabledskyblock_island_bank_balance_formatted")) { + if (island == null) { + return ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Placeholder.fabledskyblock_island_bank_balance_formatted.Empty.Message")); + } else { + return ChatColor.translateAlternateColorCodes('&', + configLoad.getString("Placeholder.fabledskyblock_island_bank_balance_formatted.Non-empty.Message")) + .replace("%placeholder", "" + NumberUtil.formatNumberBySuffix((long) island.getBankBalance())); + } } else if (placeholder.toLowerCase().startsWith("fabledskyblock_island_leaderboard_level_rank")) { if (island == null) { return ChatColor.translateAlternateColorCodes('&', diff --git a/src/main/java/me/goodandevil/skyblock/stackable/Stackable.java b/src/main/java/me/goodandevil/skyblock/stackable/Stackable.java index 0eb20f4d..1e1bcaac 100644 --- a/src/main/java/me/goodandevil/skyblock/stackable/Stackable.java +++ b/src/main/java/me/goodandevil/skyblock/stackable/Stackable.java @@ -3,7 +3,9 @@ package me.goodandevil.skyblock.stackable; import java.io.File; import java.util.UUID; +import me.goodandevil.skyblock.utils.NumberUtil; import org.apache.commons.lang3.text.WordUtils; +import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; @@ -45,11 +47,11 @@ public class Stackable { } public UUID getUuid() { - return uuid; + return this.uuid; } public Location getLocation() { - return location.clone(); + return this.location.clone(); } public void setLocation(Location location) { @@ -57,7 +59,7 @@ public class Stackable { } public Material getMaterial() { - return material; + return this.material; } public void setMaterial(Material material) { @@ -66,7 +68,7 @@ public class Stackable { } public Integer getSize() { - return size; + return this.size; } public void setSize(Integer size) { @@ -78,14 +80,14 @@ public class Stackable { public void addOne() { this.size ++; this.updateDisplay(); - SkyBlock.getInstance().getSoundManager().playSound(location, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); + SkyBlock.getInstance().getSoundManager().playSound(this.location, Sounds.LEVEL_UP.bukkitSound(), 1.0F, 1.0F); this.save(); } public void takeOne() { this.size --; this.updateDisplay(); - SkyBlock.getInstance().getSoundManager().playSound(location, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); + SkyBlock.getInstance().getSoundManager().playSound(this.location, Sounds.ARROW_HIT.bukkitSound(), 1.0F, 1.0F); this.save(); } @@ -93,7 +95,7 @@ public class Stackable { if (this.size > 1) { this.removeDisplay(); this.createDisplay(); - this.display.setCustomName(WordUtils.capitalize(material.name().toLowerCase()).replace("_", " ") + "s: " + size); + this.display.setCustomName(this.getCustomName()); this.display.setCustomNameVisible(true); } else { this.removeDisplay(); @@ -103,8 +105,8 @@ public class Stackable { private void createDisplay() { this.removeDisplay(); - Location dropLocation = location.clone().add(0.5, 1, 0.5); - ArmorStand as = (ArmorStand) location.getWorld().spawnEntity(dropLocation, EntityType.ARMOR_STAND); + Location dropLocation = this.location.clone().add(0.5, 1, 0.5); + ArmorStand as = (ArmorStand) this.location.getWorld().spawnEntity(dropLocation, EntityType.ARMOR_STAND); as.setVisible(false); as.setGravity(false); as.setSmall(true); @@ -112,8 +114,8 @@ public class Stackable { as.setMarker(true); } as.setBasePlate(true); - as.setHelmet(new ItemStack(material)); - as.setCustomName(WordUtils.capitalize(material.name().toLowerCase()).replace("_", " ") + "s: " + size); + as.setHelmet(new ItemStack(this.material)); + as.setCustomName(this.getCustomName()); as.setCustomNameVisible(true); this.display = as; } @@ -134,16 +136,24 @@ public class Stackable { private void save() { File configFile = new File(SkyBlock.getInstance().getDataFolder().toString() + "/island-data"); FileManager.Config config = SkyBlock.getInstance().getFileManager().getConfig(new File(configFile, - SkyBlock.getInstance().getIslandManager().getIslandAtLocation(location).getOwnerUUID() + ".yml")); + SkyBlock.getInstance().getIslandManager().getIslandAtLocation(this.location).getOwnerUUID() + ".yml")); FileConfiguration configLoad = config.getFileConfiguration(); - if (getSize() == 0) { - configLoad.set("Stackables." + getUuid().toString(), null); + if (this.getSize() == 0) { + configLoad.set("Stackables." + this.getUuid().toString(), null); } else { - ConfigurationSection section = configLoad.createSection("Stackables." + getUuid().toString()); - section.set("Location", getLocation()); - section.set("Material", getMaterial().name()); - section.set("Size", getSize()); + ConfigurationSection section = configLoad.createSection("Stackables." + this.getUuid().toString()); + section.set("Location", this.getLocation()); + section.set("Material", this.getMaterial().name()); + section.set("Size", this.getSize()); } } + + private String getCustomName() { + return ChatColor.translateAlternateColorCodes('&', SkyBlock.getInstance().getFileManager() + .getConfig(new File(SkyBlock.getInstance().getDataFolder(), "language.yml")) + .getFileConfiguration().getString("Hologram.Stackable.Message")) + .replace("%block", WordUtils.capitalize(this.material.name().toLowerCase()).replace("_", " ")) + .replace("%amount", NumberUtil.formatNumber(this.size)); + } } diff --git a/src/main/java/me/goodandevil/skyblock/usercache/UserCacheManager.java b/src/main/java/me/goodandevil/skyblock/usercache/UserCacheManager.java index 43049cbe..7c9b75ae 100644 --- a/src/main/java/me/goodandevil/skyblock/usercache/UserCacheManager.java +++ b/src/main/java/me/goodandevil/skyblock/usercache/UserCacheManager.java @@ -28,74 +28,71 @@ public class UserCacheManager { FileManager fileManager = skyblock.getFileManager(); File configFile = new File(skyblock.getDataFolder().toString() + "/island-data"); - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - if (configFile.exists()) { - int usersIgnored = 0; + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> { + if (configFile.exists()) { + int usersIgnored = 0; - Bukkit.getServer().getLogger().log(Level.INFO, - "SkyBlock | Info: Fetching user information from island data. This may take a while..."); + Bukkit.getServer().getLogger().log(Level.INFO, + "SkyBlock | Info: Fetching user information from island data. This may take a while..."); - for (File fileList : configFile.listFiles()) { - if (fileList != null && fileList.getName().contains(".yml") - && fileList.getName().length() > 35) { - UUID islandOwnerUUID = null; + for (File fileList : configFile.listFiles()) { + if (fileList != null && fileList.getName().contains(".yml") + && fileList.getName().length() > 35) { + UUID islandOwnerUUID = null; - try { - Config config = new FileManager.Config(fileManager, fileList); - FileConfiguration configLoad = config.getFileConfiguration(); + try { + Config config = new Config(fileManager, fileList); + FileConfiguration configLoad = config.getFileConfiguration(); - islandOwnerUUID = UUID.fromString(fileList.getName().replace(".yml", "")); + islandOwnerUUID = UUID.fromString(fileList.getName().replace(".yml", "")); + + if (islandOwnerUUID == null) { + islandOwnerUUID = UUID.fromString(fileList.getName().replaceFirst("[.][^.]+$", "")); if (islandOwnerUUID == null) { - islandOwnerUUID = UUID.fromString(fileList.getName().replaceFirst("[.][^.]+$", "")); - - if (islandOwnerUUID == null) { - continue; - } + continue; } - - Set islandMembers = new HashSet(); - islandMembers.add(islandOwnerUUID); - - if (configLoad.getString("Members") != null) { - for (String memberList : configLoad.getStringList("Members")) { - islandMembers.add(UUID.fromString(memberList)); - } - } - - if (configLoad.getString("Operators") != null) { - for (String operatorList : configLoad.getStringList("Operators")) { - islandMembers.add(UUID.fromString(operatorList)); - } - } - - for (UUID islandMemberList : islandMembers) { - if (!hasUser(islandMemberList)) { - Names[] names = NameFetcher.getNames(islandMemberList); - - if (names.length >= 1) { - addUser(islandMemberList, names[0].getName()); - } - } - } - } catch (Exception e) { - usersIgnored++; } + + Set islandMembers = new HashSet<>(); + islandMembers.add(islandOwnerUUID); + + if (configLoad.getString("Members") != null) { + for (String memberList : configLoad.getStringList("Members")) { + islandMembers.add(UUID.fromString(memberList)); + } + } + + if (configLoad.getString("Operators") != null) { + for (String operatorList : configLoad.getStringList("Operators")) { + islandMembers.add(UUID.fromString(operatorList)); + } + } + + for (UUID islandMemberList : islandMembers) { + if (!hasUser(islandMemberList)) { + Names[] names = NameFetcher.getNames(islandMemberList); + + if (names.length >= 1) { + addUser(islandMemberList, names[0].getName()); + } + } + } + } catch (Exception e) { + usersIgnored++; } } + } - save(); + save(); - if (usersIgnored != 0) { - Bukkit.getServer().getLogger().log(Level.INFO, - "SkyBlock | Info: Finished fetching user information from island data. There were " - + usersIgnored + " users that were skipped."); - } else { - Bukkit.getServer().getLogger().log(Level.INFO, - "SkyBlock | Info: Finished fetching user information from island data."); - } + if (usersIgnored != 0) { + Bukkit.getServer().getLogger().log(Level.INFO, + "SkyBlock | Info: Finished fetching user information from island data. There were " + + usersIgnored + " users that were skipped."); + } else { + Bukkit.getServer().getLogger().log(Level.INFO, + "SkyBlock | Info: Finished fetching user information from island data."); } } }); @@ -152,12 +149,7 @@ public class UserCacheManager { } public void saveAsync() { - Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, new Runnable() { - @Override - public void run() { - save(); - } - }); + Bukkit.getServer().getScheduler().runTaskAsynchronously(skyblock, () -> save()); } public void save() { diff --git a/src/main/java/me/goodandevil/skyblock/utils/Metrics.java b/src/main/java/me/goodandevil/skyblock/utils/Metrics.java new file mode 100644 index 00000000..bfbdaa94 --- /dev/null +++ b/src/main/java/me/goodandevil/skyblock/utils/Metrics.java @@ -0,0 +1,695 @@ +package me.goodandevil.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 { + + 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 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"; + + // Is bStats enabled on this server? + private boolean enabled; + + // 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; + + // The plugin + private final Plugin 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(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(); + } + } + } + + /** + * 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(); + } + + /** + * 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(); + } + + /** + * 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/src/main/java/me/goodandevil/skyblock/utils/reflection/PackageClassLoader.java b/src/main/java/me/goodandevil/skyblock/utils/reflection/PackageClassLoader.java deleted file mode 100644 index 50599d43..00000000 --- a/src/main/java/me/goodandevil/skyblock/utils/reflection/PackageClassLoader.java +++ /dev/null @@ -1,72 +0,0 @@ -package me.goodandevil.skyblock.utils.reflection; - -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.net.URLDecoder; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; - -public class PackageClassLoader { - - public static List> getClassesOfTypeFromPackage(String packageName, Class classType) { - try { - List> classes = new ArrayList<>(); - for (String className : getClassNamesFromPackage(packageName)) { - Class clazz = Class.forName(className); - if (clazz.isAssignableFrom(classType)) { - classes.add((Class) clazz); - } - } - return classes; - } catch (Exception ignored) { - return new ArrayList<>(); - } - } - - public static List getClassNamesFromPackage(String packageName) throws IOException, URISyntaxException { - ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); - URL packageURL; - List names = new ArrayList<>(); - - packageName = packageName.replace(".", "/"); - packageURL = classLoader.getResource(packageName); - - if (packageURL.getProtocol().equals("jar")) { - String jarFileName; - JarFile jf; - Enumeration jarEntries; - String entryName; - - jarFileName = URLDecoder.decode(packageURL.getFile(), "UTF-8"); - jarFileName = jarFileName.substring(5, jarFileName.indexOf("!")); - - jf = new JarFile(jarFileName); - jarEntries = jf.entries(); - while (jarEntries.hasMoreElements()) { - entryName = jarEntries.nextElement().getName(); - if (entryName.startsWith(packageName) && entryName.length() > packageName.length() + 5) { - entryName = entryName.substring(packageName.length(), entryName.lastIndexOf('.')); - names.add(entryName); - } - } - } else { - URI uri = new URI(packageURL.toString()); - File folder = new File(uri.getPath()); - File[] contenuti = folder.listFiles(); - String entryName; - for (File actual : contenuti) { - entryName = actual.getName(); - entryName = entryName.substring(0, entryName.lastIndexOf('.')); - names.add(entryName); - } - } - return names; - } - -} diff --git a/src/main/java/me/goodandevil/skyblock/utils/structure/StructureUtil.java b/src/main/java/me/goodandevil/skyblock/utils/structure/StructureUtil.java index 51079f84..d6626872 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/structure/StructureUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/structure/StructureUtil.java @@ -112,8 +112,7 @@ public final class StructureUtil { } @SuppressWarnings("unchecked") - public static Float[] pasteStructure(Structure structure, org.bukkit.Location location, BlockDegreesType type) - throws Exception { + public static Float[] pasteStructure(Structure structure, org.bukkit.Location location, BlockDegreesType type) { Storage storage = structure.getStructureStorage(); String[] originLocationPositions = null; @@ -129,38 +128,34 @@ public final class StructureUtil { pitch = Float.valueOf(originLocationPositions[5]); } - List blockData = (List) new Gson().fromJson(storage.getBlocks(), + List blockData = new Gson().fromJson(storage.getBlocks(), new TypeToken>() { }.getType()); for (BlockData blockDataList : blockData) { - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), new Runnable() { - @Override - public void run() { - try { - org.bukkit.Location blockRotationLocation = LocationUtil - .rotateLocation(new org.bukkit.Location(location.getWorld(), blockDataList.getX(), - blockDataList.getY(), blockDataList.getZ()), type); - org.bukkit.Location blockLocation = new org.bukkit.Location(location.getWorld(), - location.getX() - Math.abs(Integer.valueOf(storage.getOriginLocation().split(":")[0])), - location.getY() - Integer.valueOf(storage.getOriginLocation().split(":")[1]), - location.getZ() + Math.abs(Integer.valueOf(storage.getOriginLocation().split(":")[2]))); - blockLocation.add(blockRotationLocation); - BlockUtil.convertBlockDataToBlock(blockLocation.getBlock(), blockDataList); - } catch (Exception e) { - SkyBlock.getInstance().getLogger().warning("Unable to convert BlockData to Block for type {" + blockDataList.getMaterial() + - ":" + blockDataList.getData() + "} in structure {" + structure.getStructureFile() + "}"); - } + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), () -> { + try { + org.bukkit.Location blockRotationLocation = LocationUtil + .rotateLocation(new org.bukkit.Location(location.getWorld(), blockDataList.getX(), + blockDataList.getY(), blockDataList.getZ()), type); + org.bukkit.Location blockLocation = new org.bukkit.Location(location.getWorld(), + location.getX() - Math.abs(Integer.valueOf(storage.getOriginLocation().split(":")[0])), + location.getY() - Integer.valueOf(storage.getOriginLocation().split(":")[1]), + location.getZ() + Math.abs(Integer.valueOf(storage.getOriginLocation().split(":")[2]))); + blockLocation.add(blockRotationLocation); + BlockUtil.convertBlockDataToBlock(blockLocation.getBlock(), blockDataList); + } catch (Exception e) { + SkyBlock.getInstance().getLogger().warning("Unable to convert BlockData to Block for type {" + blockDataList.getMaterial() + + ":" + blockDataList.getData() + "} in structure {" + structure.getStructureFile() + "}"); } }); } - for (EntityData entityDataList : (List) new Gson().fromJson(storage.getEntities(), - new TypeToken>() { - }.getType())) { - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), new Runnable() { - @Override - public void run() { + Bukkit.getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), () -> { + for (EntityData entityDataList : (List) new Gson().fromJson(storage.getEntities(), + new TypeToken>() { + }.getType())) { + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(SkyBlock.getInstance(), () -> { try { org.bukkit.Location blockRotationLocation = LocationUtil .rotateLocation(new org.bukkit.Location(location.getWorld(), entityDataList.getX(), @@ -172,12 +167,12 @@ public final class StructureUtil { blockLocation.add(blockRotationLocation); EntityUtil.convertEntityDataToEntity(entityDataList, blockLocation, type); } catch (Exception e) { - SkyBlock.getInstance().getLogger().warning("Unable to convert EntityData to Entity for type {" + entityDataList.getEntityType() + - "} in structure {" + structure.getStructureFile() + "}"); + SkyBlock.getInstance().getLogger().warning("Unable to convert EntityData to Entity for type {" + entityDataList.getEntityType() + + "} in structure {" + structure.getStructureFile() + "}"); } - } - }); - } + }); + } + }, 60L); return new Float[] { yaw, pitch }; } diff --git a/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockUtil.java b/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockUtil.java index 6fc3ac87..ebc4bbd8 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/world/block/BlockUtil.java @@ -380,14 +380,14 @@ public final class BlockUtil { } else if (blockTypeState == BlockStateType.SKULL) { Skull skull = (Skull) block.getState(); + skull.setRotation(BlockFace.valueOf(blockData.getRotateFace().toUpperCase())); + skull.setSkullType(SkullType.valueOf(blockData.getSkullType().toUpperCase())); + if (NMSVersion > 9) { skull.setOwningPlayer(Bukkit.getServer().getOfflinePlayer(blockData.getSkullOwner())); } else { - skull.setOwner(skull.getOwner()); + skull.setOwner(blockData.getSkullOwner()); } - - skull.setRotation(BlockFace.valueOf(blockData.getRotateFace().toUpperCase())); - skull.setSkullType(SkullType.valueOf(blockData.getSkullType().toUpperCase())); } else { if (NMSVersion > 8) { if (blockTypeState == BlockStateType.ENDGATEWAY) { diff --git a/src/main/resources/language.yml b/src/main/resources/language.yml index f980ffa8..6af0b51b 100644 --- a/src/main/resources/language.yml +++ b/src/main/resources/language.yml @@ -1285,6 +1285,8 @@ Hologram: Claimed: "&8* &f&o[%position] &a%player &7- &6%votes" Unclaimed: "&8* &f&o[%position] &7&oUnclaimed Position" Footer: "&ewww.example.net" + Stackable: + Message: "%blocks: %amount" Scoreboard: Tutorial: Displayname: "&b&lSkyBlock" From 4c777dee3a58c4d8c601b4f76c80539e994732ad Mon Sep 17 00:00:00 2001 From: Esophose Date: Sat, 27 Apr 2019 14:41:44 -0600 Subject: [PATCH 8/8] Language for placeholder missing fix --- .../java/me/goodandevil/skyblock/economy/EconomyManager.java | 5 +++-- .../goodandevil/skyblock/leaderboard/LeaderboardManager.java | 3 +-- src/main/resources/language.yml | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/me/goodandevil/skyblock/economy/EconomyManager.java b/src/main/java/me/goodandevil/skyblock/economy/EconomyManager.java index a75b3eb5..8838fc50 100644 --- a/src/main/java/me/goodandevil/skyblock/economy/EconomyManager.java +++ b/src/main/java/me/goodandevil/skyblock/economy/EconomyManager.java @@ -5,6 +5,7 @@ import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.permission.Permission; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; +import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.plugin.RegisteredServiceProvider; @@ -53,9 +54,9 @@ public class EconomyManager { Bukkit.getServer().getPluginManager().callEvent(new PlayerWithdrawMoneyEvent(player, money)); } - public boolean hasPermission(String world, OfflinePlayer player, String perm) { + public boolean hasPermission(String world, OfflinePlayer offlinePlayer, String perm) { if (permission != null) - return permission.playerHas(world, player, perm); + return permission.playerHas(world, offlinePlayer, perm); return false; } diff --git a/src/main/java/me/goodandevil/skyblock/leaderboard/LeaderboardManager.java b/src/main/java/me/goodandevil/skyblock/leaderboard/LeaderboardManager.java index 6d216270..139e62c1 100644 --- a/src/main/java/me/goodandevil/skyblock/leaderboard/LeaderboardManager.java +++ b/src/main/java/me/goodandevil/skyblock/leaderboard/LeaderboardManager.java @@ -52,8 +52,7 @@ public class LeaderboardManager { for (int i = 0; i < visitManager.getIslands().size(); i++) { UUID ownerUUID = (UUID) visitManager.getIslands().keySet().toArray()[i]; - if (enableExemptions && economyManager.hasPermission( - worldManager.getWorld(IslandWorld.Normal).getName(), + if (enableExemptions && economyManager.hasPermission(worldManager.getWorld(IslandWorld.Normal).getName(), Bukkit.getOfflinePlayer(ownerUUID), "fabledskyblock.island.top.exempt")) continue; diff --git a/src/main/resources/language.yml b/src/main/resources/language.yml index 6af0b51b..c13f6dcd 100644 --- a/src/main/resources/language.yml +++ b/src/main/resources/language.yml @@ -1234,6 +1234,11 @@ Placeholder: Message: "&c0" Non-empty: Message: "&f%placeholder" + fabledskyblock_island_bank_balance_formatted: + Empty: + Message: "&c0" + Non-empty: + Message: "&f%placeholder" fabledskyblock_island_leaderboard_level_rank: Empty: Message: "&c0"