diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/BlockLogger.java b/src/main/java/org/redcastlemedia/multitallented/civs/BlockLogger.java index fd52d0705..f9ab7cf6b 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/BlockLogger.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/BlockLogger.java @@ -4,8 +4,8 @@ import org.bukkit.Material; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; -import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.items.CVItem; +import org.redcastlemedia.multitallented.civs.regions.Region; import java.io.File; import java.io.IOException; @@ -14,7 +14,7 @@ @CivsSingleton(priority = CivsSingleton.SingletonLoadPriority.HIGH) public class BlockLogger { private static BlockLogger blockLogger = null; - private HashMap blocks = new HashMap<>(); + private final HashMap blocks = new HashMap<>(); // private long lastSave = 0; // private int intervalId = -1; @@ -65,24 +65,20 @@ private void saveBlocks() { } final File blockData = new File(Civs.dataLocation, "block-data.yml"); final HashMap finalBlocks = blocks; - Runnable runMe = new Runnable() { - @Override - public void run() { - FileConfiguration config = new YamlConfiguration(); - try { - //Don't load the file. Overwrite it - for (String location : finalBlocks.keySet()) { - CVItem cvItem = finalBlocks.get(location); - String locationString = location.replaceAll("\\.", "^"); - config.set(locationString + ".mat", cvItem.getMat().toString()); - config.set(locationString + ".name", cvItem.getDisplayName()); - config.set(locationString + ".lore", cvItem.getLore()); - } - config.save(blockData); - } catch (Exception e) { - Civs.logger.severe("Unable to save to block-data.yml"); - return; + Runnable runMe = () -> { + FileConfiguration config = new YamlConfiguration(); + try { + //Don't load the file. Overwrite it + for (String location : finalBlocks.keySet()) { + CVItem cvItem = finalBlocks.get(location); + String locationString = location.replaceAll("\\.", "^"); + config.set(locationString + ".mat", cvItem.getMat().toString()); + config.set(locationString + ".name", cvItem.getDisplayName()); + config.set(locationString + ".lore", cvItem.getLore()); } + config.save(blockData); + } catch (Exception e) { + Civs.logger.severe("Unable to save to block-data.yml"); } }; runMe.run(); @@ -117,13 +113,11 @@ private void loadBlocks() { } catch (Exception e) { Civs.logger.severe("Unable to read line from block-data.yml"); e.printStackTrace(); - continue; } } } catch (Exception e) { Civs.logger.severe("Unable to read from block-data.yml"); - return; } } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/Civs.java b/src/main/java/org/redcastlemedia/multitallented/civs/Civs.java index cdf16d525..913e79345 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/Civs.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/Civs.java @@ -23,11 +23,14 @@ import org.redcastlemedia.multitallented.civs.civilians.allowedactions.AllowedActionsListener; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.redcastlemedia.multitallented.civs.civilians.allowedactions.AllowedActionsListener; import org.redcastlemedia.multitallented.civs.commands.CivCommand; import org.redcastlemedia.multitallented.civs.commands.CivsCommand; import org.redcastlemedia.multitallented.civs.commands.TabComplete; import org.redcastlemedia.multitallented.civs.dynmaphook.DynmapHook; +import org.redcastlemedia.multitallented.civs.placeholderexpansion.PlaceHook; import org.redcastlemedia.multitallented.civs.regions.RegionManager; +import org.redcastlemedia.multitallented.civs.regions.StructureUtil; import org.redcastlemedia.multitallented.civs.regions.effects.ConveyorEffect; import org.redcastlemedia.multitallented.civs.scheduler.CommonScheduler; import org.redcastlemedia.multitallented.civs.scheduler.DailyScheduler; @@ -52,7 +55,7 @@ public class Civs extends JavaPlugin { public static File dataLocation; - private HashMap commandList = new HashMap<>(); + private final HashMap commandList = new HashMap<>(); public static final String NAME = "Civs"; public static Economy econ; public static Permission perm; @@ -159,13 +162,9 @@ private void initScheduler() { CommonScheduler commonScheduler = new CommonScheduler(); getServer().getScheduler().scheduleSyncRepeatingTask(this, commonScheduler, 4L, 4L); - getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { - - @Override - public void run() { - RegionManager.getInstance().saveNextRegion(); - TownManager.getInstance().saveNextTown(); - } + getServer().getScheduler().scheduleSyncRepeatingTask(this, () -> { + RegionManager.getInstance().saveNextRegion(); + TownManager.getInstance().saveNextTown(); }, 20L, 20L); } @@ -241,19 +240,11 @@ private void instantiateSingletons() { Reflections reflections = new Reflections(configurationBuilder); Set> classes = reflections.getTypesAnnotatedWith(CivsSingleton.class); List> classList = new ArrayList<>(classes); - classList.sort(new Comparator>() { - @Override - public int compare(Class o1, Class o2) { - return o1.getAnnotation(CivsSingleton.class).priority().compareTo(o2.getAnnotation(CivsSingleton.class).priority()); - } - }); + classList.sort(Comparator.comparing(o -> o.getAnnotation(CivsSingleton.class).priority())); for (Class currentSingleton : classList) { try { - Method method = currentSingleton.getMethod("getInstance"); - if (method != null) { - method.invoke(currentSingleton); - } - } catch (Exception e) { + currentSingleton.getMethod("getInstance").invoke(currentSingleton); + } catch (Exception ignored) { } } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/CivsSingleton.java b/src/main/java/org/redcastlemedia/multitallented/civs/CivsSingleton.java index e6a793081..039e848ad 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/CivsSingleton.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/CivsSingleton.java @@ -8,9 +8,9 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface CivsSingleton { - public SingletonLoadPriority priority() default SingletonLoadPriority.MEDIUM; + SingletonLoadPriority priority() default SingletonLoadPriority.MEDIUM; - public enum SingletonLoadPriority { + enum SingletonLoadPriority { CRITICAL(100), HIGHEST(99), HIGHER(80), @@ -19,7 +19,7 @@ public enum SingletonLoadPriority { LOW(25), LOWEST(1); - private int value; + private final int value; public int getValue() { return this.value; } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/ConfigManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/ConfigManager.java index cab8e9a18..c58061cab 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/ConfigManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/ConfigManager.java @@ -1,12 +1,13 @@ package org.redcastlemedia.multitallented.civs; +import lombok.Getter; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.redcastlemedia.multitallented.civs.chat.ChatChannelConfig; import org.redcastlemedia.multitallented.civs.civilians.ChatChannel; -import org.redcastlemedia.multitallented.civs.towns.GovernmentType; import org.redcastlemedia.multitallented.civs.items.CVItem; +import org.redcastlemedia.multitallented.civs.towns.GovernmentType; import org.redcastlemedia.multitallented.civs.util.FallbackConfigUtil; import org.redcastlemedia.multitallented.civs.util.Util; @@ -14,8 +15,6 @@ import java.util.*; import java.util.logging.Level; -import lombok.Getter; - @CivsSingleton(priority = CivsSingleton.SingletonLoadPriority.CRITICAL) public class ConfigManager { private static final String CONFIG_FILE_NAME = "config.yml"; @@ -300,7 +299,7 @@ private void loadFile(File configFile) { ConfigurationSection section2 = config.getConfigurationSection("folders"); if (section2 != null) { for (String key : section2.getKeys(false)) { - String iconString = "CHEST"; + String iconString; if (config.isSet("folders." + key + ".icon")) { iconString = config.getString("folders." + key + ".icon", "CHEST"); } else { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/ai/AI.java b/src/main/java/org/redcastlemedia/multitallented/civs/ai/AI.java index 896fd7fe7..e657fd118 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/ai/AI.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/ai/AI.java @@ -1,25 +1,24 @@ package org.redcastlemedia.multitallented.civs.ai; -import java.util.UUID; - +import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.redcastlemedia.multitallented.civs.Civs; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.towns.Town; import org.redcastlemedia.multitallented.civs.towns.TownManager; import org.redcastlemedia.multitallented.civs.util.Constants; -import lombok.Getter; +import java.util.UUID; @Getter public class AI { private final String townName; - private Town town; + private final Town town; public AI(String townName) { this.townName = townName; @@ -113,34 +112,21 @@ private boolean invitePlayer(Player player) { String[] args = new String[1]; args[0] = player.getDisplayName(); - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - broadcastToAllPlayers("ai-invite", args, getDisplayName()); - } - }, 100); - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - Civilian inviteCiv = CivilianManager.getInstance().getCivilian(player.getUniqueId()); - - if (TownManager.getInstance().addInvite(player.getUniqueId(), town)) { - player.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, - "invite-player").replace("$1", getDisplayName() + ChatColor.GREEN) - .replace("$2", town.getType()) - .replace("$3", townName)); - } + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> broadcastToAllPlayers("ai-invite", args, getDisplayName()), 100); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> { + Civilian inviteCiv = CivilianManager.getInstance().getCivilian(player.getUniqueId()); + + if (TownManager.getInstance().addInvite(player.getUniqueId(), town)) { + player.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, + "invite-player").replace("$1", getDisplayName() + ChatColor.GREEN) + .replace("$2", town.getType()) + .replace("$3", townName)); } }, 120); String[] args2 = new String[1]; args2[0] = Bukkit.getPlayer(uuid).getDisplayName(); - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - broadcastToAllPlayers("ai-help", args2, getDisplayName()); - } - }, 130); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> broadcastToAllPlayers("ai-help", args2, getDisplayName()), 130); return true; } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/ai/AIManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/ai/AIManager.java index 25ff3ed7b..4c147adca 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/ai/AIManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/ai/AIManager.java @@ -1,21 +1,20 @@ package org.redcastlemedia.multitallented.civs.ai; -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; - +import lombok.Getter; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.Civs; -import lombok.Getter; +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; public class AIManager { - private HashMap ais = new HashMap<>(); + private final HashMap ais = new HashMap<>(); @Getter - private HashMap chatHandler = new HashMap<>(); + private final HashMap chatHandler = new HashMap<>(); private static AIManager instance = null; public static AIManager getInstance() { @@ -44,7 +43,6 @@ private void loadAIs() { } } catch (NullPointerException npe) { Civs.logger.severe("Unable to create ai folder"); - return; } } @@ -84,7 +82,6 @@ public void saveAI(AI ai) { config.save(aiFile); } catch (Exception e) { Civs.logger.severe("Unable to save ai file " + ai.getTownName() + ".yml"); - return; } } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/alliances/AllianceManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/alliances/AllianceManager.java index 32098cd51..9736173a2 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/alliances/AllianceManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/alliances/AllianceManager.java @@ -66,12 +66,8 @@ private void loadAlliance(File allianceFile) { config.load(allianceFile); Alliance alliance = new Alliance(); alliance.setName(allianceFile.getName().replace(".yml", "")); - alliance.setMembers(new HashSet(config.getStringList("members"))); - for (String townName : new ArrayList<>(alliance.getMembers())) { - if (TownManager.getInstance().getTown(townName) == null) { - alliance.getMembers().remove(townName); - } - } + alliance.setMembers(new HashSet<>(config.getStringList("members"))); + alliance.getMembers().removeIf(townName -> TownManager.getInstance().getTown(townName) == null); String uuidString = config.getString("last-rename", null); if (uuidString != null) { alliance.setLastRenamedBy(UUID.fromString(uuidString)); @@ -126,7 +122,7 @@ public void saveAlliance(Alliance alliance) { allianceFile.createNewFile(); } FileConfiguration config = new YamlConfiguration(); - config.set("members", new ArrayList(alliance.getMembers())); + config.set("members", new ArrayList<>(alliance.getMembers())); if (alliance.getLastRenamedBy() != null) { config.set("last-rename", alliance.getLastRenamedBy().toString()); } @@ -325,13 +321,10 @@ public void onTownDestroyed(TownDestroyedEvent event) { public ArrayList getAllSortedAlliances() { ArrayList returnList = getAllAlliances(); - Comparator comparator = new Comparator() { - @Override - public int compare(Alliance o1, Alliance o2) { - int o1Size = o1.getMembers().size(); - int o2Size = o2.getMembers().size(); - return Integer.compare(o1Size, o2Size); - } + Comparator comparator = (o1, o2) -> { + int o1Size = o1.getMembers().size(); + int o2Size = o2.getMembers().size(); + return Integer.compare(o1Size, o2Size); }; returnList.sort(comparator); return returnList; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/anticheat/AACExemptionAssembler.java b/src/main/java/org/redcastlemedia/multitallented/civs/anticheat/AACExemptionAssembler.java index 0fcae336a..8a7e8142e 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/anticheat/AACExemptionAssembler.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/anticheat/AACExemptionAssembler.java @@ -13,14 +13,12 @@ public static Set mapExemptionTypeToHackTypes(ExemptionType exemptionT Set hackTypes = new HashSet<>(); switch (exemptionType) { case FLY: + case JESUS: hackTypes.add(HackType.MOVE); break; case FALL: hackTypes.add(HackType.NOFALL); break; - case JESUS: - hackTypes.add(HackType.MOVE); - break; case KILL_AURA: hackTypes.add(HackType.CRITICALS); hackTypes.add(HackType.FIGHTSPEED); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/anticheat/NCPExemptionAssembler.java b/src/main/java/org/redcastlemedia/multitallented/civs/anticheat/NCPExemptionAssembler.java index 8a0b47b04..bb5ab4cc7 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/anticheat/NCPExemptionAssembler.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/anticheat/NCPExemptionAssembler.java @@ -14,16 +14,13 @@ public static Set mapExemptionTypeToCheatTypes(ExemptionType exemptio Set checks = new HashSet<>(); switch (exemptionType) { case FLY: + case JESUS: checks.add(CheckType.MOVING_SURVIVALFLY); checks.add(CheckType.MOVING); break; case FALL: checks.add(CheckType.MOVING_NOFALL); break; - case JESUS: - checks.add(CheckType.MOVING_SURVIVALFLY); - checks.add(CheckType.MOVING); - break; case KILL_AURA: checks.add(CheckType.FIGHT); break; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/civclass/CivClass.java b/src/main/java/org/redcastlemedia/multitallented/civs/civclass/CivClass.java index 4c6206379..a90cacabc 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/civclass/CivClass.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/civclass/CivClass.java @@ -1,10 +1,8 @@ package org.redcastlemedia.multitallented.civs.civclass; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - +import lombok.Getter; +import lombok.Setter; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.potion.PotionEffectType; @@ -14,8 +12,9 @@ import org.redcastlemedia.multitallented.civs.regions.effects.RepairEffect; import org.redcastlemedia.multitallented.civs.spells.SpellType; -import lombok.Getter; -import lombok.Setter; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; public class CivClass { @@ -35,9 +34,9 @@ public class CivClass { @Getter @Setter private int level = 0; @Getter - private Map selectedSpells = new HashMap<>(); + private final Map selectedSpells = new HashMap<>(); @Getter - private Map spellSlotOrder = new HashMap<>(); + private final Map spellSlotOrder = new HashMap<>(); public CivClass(UUID id, UUID uuid, String type) { this.classId = id; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/civclass/ClassManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/civclass/ClassManager.java index 7717cedd8..77c1257a2 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/civclass/ClassManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/civclass/ClassManager.java @@ -1,16 +1,5 @@ package org.redcastlemedia.multitallented.civs.civclass; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; -import java.util.logging.Level; - import org.bukkit.Bukkit; import org.bukkit.attribute.Attribute; import org.bukkit.configuration.file.FileConfiguration; @@ -28,13 +17,18 @@ import org.redcastlemedia.multitallented.civs.spells.SpellUtil; import org.redcastlemedia.multitallented.civs.spells.civstate.CivState; +import java.io.File; +import java.io.IOException; +import java.util.*; +import java.util.logging.Level; + @CivsSingleton public class ClassManager { private static ClassManager classManager = null; - private static Map> classes = new HashMap<>(); + private static final Map> classes = new HashMap<>(); public ClassManager() { - this.classManager = this; + classManager = this; loadClasses(); } @@ -94,7 +88,6 @@ void loadClasses() { } catch (Exception ex) { Civs.logger.severe("Unable to load " + file.getName()); ex.printStackTrace(); - continue; } } } catch (Exception e) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/ChatChannel.java b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/ChatChannel.java index 159c73348..94ffd5ca0 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/ChatChannel.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/ChatChannel.java @@ -1,19 +1,18 @@ package org.redcastlemedia.multitallented.civs.civilians; +import lombok.Getter; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.alliances.Alliance; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.towns.Town; -import lombok.Getter; - public class ChatChannel { @Getter - private ChatChannelType chatChannelType; + private final ChatChannelType chatChannelType; @Getter - private Object target; + private final Object target; public ChatChannel(ChatChannelType chatChannelType, Object target) { this.chatChannelType = chatChannelType; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/Civilian.java b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/Civilian.java index ad8ce8df2..0d02d5710 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/Civilian.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/Civilian.java @@ -1,15 +1,7 @@ package org.redcastlemedia.multitallented.civs.civilians; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; - +import lombok.Getter; +import lombok.Setter; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -34,10 +26,8 @@ import org.redcastlemedia.multitallented.civs.towns.Town; import org.redcastlemedia.multitallented.civs.towns.TownManager; import org.redcastlemedia.multitallented.civs.util.ActionBarUtil; -import org.redcastlemedia.multitallented.civs.util.PermissionUtil; -import lombok.Getter; -import lombok.Setter; +import java.util.*; public class Civilian { @@ -96,7 +86,7 @@ public class Civilian { @Getter @Setter private HashMap skills = new HashMap<>(); @Getter - private Map combatBar = new HashMap<>(); + private final Map combatBar = new HashMap<>(); public Civilian(UUID uuid, String locale, Map stashItems, Map exp, int kills, int killStreak, int deaths, int highestKillStreak, @@ -393,14 +383,11 @@ public void sortBounties() { if (bounties.size() < 2) { return; } - Collections.sort(bounties, new Comparator() { - @Override - public int compare(Bounty o1, Bounty o2) { - if (o1.getAmount() == o2.getAmount()) { - return 0; - } - return o1.getAmount() > o2.getAmount() ? 1 : -1; + bounties.sort((o1, o2) -> { + if (o1.getAmount() == o2.getAmount()) { + return 0; } + return o1.getAmount() > o2.getAmount() ? 1 : -1; }); } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/CivilianListener.java b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/CivilianListener.java index 9cd235357..8a00f5ad0 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/CivilianListener.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/CivilianListener.java @@ -334,7 +334,6 @@ public void onCivilianDispense(BlockDispenseEvent event) { CivItem civItem = CivItem.getFromItemStack(is); if (!civItem.isPlaceable()) { event.setCancelled(true); - return; } } @@ -621,7 +620,6 @@ public void onPluginEnable(PluginEnableEvent event) { if ("DiscordSRV".equals(event.getPlugin().getName()) && Bukkit.getPluginManager().isPluginEnabled("DiscordSRV")) { Civs.discordSRV = DiscordSRV.getPlugin(); - return; } } @@ -642,7 +640,6 @@ public void onPluginDisable(PluginDisableEvent event) { } if (Constants.PLACEHOLDER_API.equals(event.getPlugin().getName())) { Civs.placeholderAPI = null; - return; } } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/CivilianManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/CivilianManager.java index abef7be8d..b9c0c773e 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/CivilianManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/CivilianManager.java @@ -1,14 +1,16 @@ package org.redcastlemedia.multitallented.civs.civilians; +import lombok.Getter; +import lombok.Setter; import org.bukkit.Bukkit; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; -import org.redcastlemedia.multitallented.civs.CivsSingleton; -import org.redcastlemedia.multitallented.civs.civclass.CivClass; import org.redcastlemedia.multitallented.civs.Civs; +import org.redcastlemedia.multitallented.civs.CivsSingleton; import org.redcastlemedia.multitallented.civs.ConfigManager; +import org.redcastlemedia.multitallented.civs.civclass.CivClass; import org.redcastlemedia.multitallented.civs.civclass.ClassManager; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; @@ -27,14 +29,11 @@ import java.util.*; import java.util.logging.Level; -import lombok.Getter; -import lombok.Setter; - @CivsSingleton(priority = CivsSingleton.SingletonLoadPriority.HIGH) public class CivilianManager { - private HashMap civilians = new HashMap<>(); - private ArrayList sortedCivilians = new ArrayList<>(); + private final HashMap civilians = new HashMap<>(); + private final ArrayList sortedCivilians = new ArrayList<>(); @Getter @Setter private boolean listNeedsToBeSorted = false; @@ -97,14 +96,11 @@ public void sortCivilians() { return; } listNeedsToBeSorted = false; - sortedCivilians.sort(new Comparator() { - @Override - public int compare(Civilian o1, Civilian o2) { - if (o1.getPoints() == o2.getPoints()) { - return 0; - } - return o1.getPoints() < o2.getPoints() ? 1 : -1; + sortedCivilians.sort((o1, o2) -> { + if (o1.getPoints() == o2.getPoints()) { + return 0; } + return o1.getPoints() < o2.getPoints() ? 1 : -1; }); } void unloadCivilian(Player player) { @@ -358,7 +354,6 @@ public void saveCivilian(Civilian civilian) { } catch (Exception ex) { Civs.logger.severe("Unable to write " + civilian.getUuid() + ".yml"); ex.printStackTrace(); - return; } } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/allowedactions/AllowedActionsListener.java b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/allowedactions/AllowedActionsListener.java index 1ba3970ca..52da927bc 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/civilians/allowedactions/AllowedActionsListener.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/civilians/allowedactions/AllowedActionsListener.java @@ -1,10 +1,5 @@ package org.redcastlemedia.multitallented.civs.civilians.allowedactions; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; -import java.util.logging.Level; - import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -23,11 +18,7 @@ import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerItemHeldEvent; -import org.bukkit.inventory.EnchantingInventory; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.InventoryView; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.PlayerInventory; +import org.bukkit.inventory.*; import org.bukkit.inventory.meta.Damageable; import org.bukkit.inventory.meta.EnchantmentStorageMeta; import org.bukkit.inventory.meta.ItemMeta; @@ -43,7 +34,6 @@ import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.effects.RepairEffect; import org.redcastlemedia.multitallented.civs.skills.CivSkills; @@ -54,6 +44,11 @@ import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.MessageUtil; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import java.util.logging.Level; + @CivsSingleton @SuppressWarnings("unused") public class AllowedActionsListener implements Listener { private static AllowedActionsListener allowedActionsListener; @@ -295,7 +290,7 @@ private boolean isRepair(final ItemStack slot0, final ItemStack slot1) { } // Is set with ClickEvent, when placing in crafting slot of an anvil. - private static Map prevXP = new HashMap<>(); + private static final Map prevXP = new HashMap<>(); @EventHandler (ignoreCancelled = true) public void closeAnvilMonitor(InventoryCloseEvent event) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/commands/AntiCampCommand.java b/src/main/java/org/redcastlemedia/multitallented/civs/commands/AntiCampCommand.java index 115cf8b0f..c9e391830 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/commands/AntiCampCommand.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/commands/AntiCampCommand.java @@ -117,9 +117,9 @@ public boolean canUseCommand(CommandSender commandSender) { public List getWord(CommandSender commandSender, String[] args) { if (args.length == 2) { if (commandSender instanceof Player) { - return getTownNames(args[1]); - } else { return getTownNamesForPlayer(args[1], (Player) commandSender); + } else { + return getTownNames(args[1]); } } return super.getWord(commandSender, args); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/commands/CivsCommand.java b/src/main/java/org/redcastlemedia/multitallented/civs/commands/CivsCommand.java index 3fb700548..66980cc9e 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/commands/CivsCommand.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/commands/CivsCommand.java @@ -8,5 +8,5 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface CivsCommand { - public String[] keys() default ""; + String[] keys() default ""; } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/commands/InviteTownCommand.java b/src/main/java/org/redcastlemedia/multitallented/civs/commands/InviteTownCommand.java index a048c9f83..22093b855 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/commands/InviteTownCommand.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/commands/InviteTownCommand.java @@ -77,7 +77,7 @@ public boolean runCommand(CommandSender commandSender, Command command, String s Util.sendMessageToPlayerOrConsole(commandSender, "player-not-online{" + playerName, playerName + " isn't online"); return true; } - if (town.getRawPeople().keySet().contains(invitee.getUniqueId()) && + if (town.getRawPeople().containsKey(invitee.getUniqueId()) && !town.getRawPeople().get(invitee.getUniqueId()).contains("ally")) { Util.sendMessageToPlayerOrConsole(commandSender, "already-member{" + invitee.getDisplayName() + ",," + townName, invitee.getDisplayName() + " is already a member of " + townName); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/commands/PortCommand.java b/src/main/java/org/redcastlemedia/multitallented/civs/commands/PortCommand.java index 6dfc90286..8992fcd2c 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/commands/PortCommand.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/commands/PortCommand.java @@ -11,11 +11,11 @@ import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.ConfigManager; import org.redcastlemedia.multitallented.civs.civclass.ClassType; +import org.redcastlemedia.multitallented.civs.civilians.Civilian; +import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.items.ItemManager; import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; -import org.redcastlemedia.multitallented.civs.civilians.Civilian; -import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.regions.effects.RaidPortEffect; @@ -30,7 +30,7 @@ @CivsCommand(keys = { Constants.PORT, "spawn", "home" }) public class PortCommand extends CivCommand { - private HashMap cooldowns = new HashMap<>(); + private final HashMap cooldowns = new HashMap<>(); @Override public boolean runCommand(CommandSender commandSender, Command command, String label, String[] args) { @@ -150,53 +150,50 @@ public boolean runCommand(CommandSender commandSender, Command command, String l player.sendMessage(Civs.getPrefix() + localeManager.getTranslation(player, "port-warmup").replace("$1", (warmup / 20) + "")); player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, (int) warmup, 2)); - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - if (!p.isOnline() || p.isDead()) { - return; - } - if (civilian.isInCombat()) { - p.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, - "in-combat")); - return; - } - - if (civilian.getMana() < ConfigManager.getInstance().getPortMana()) { - int manaNeeded = ConfigManager.getInstance().getPortMana() + 1 - civilian.getMana(); - ClassType classType = (ClassType) ItemManager.getInstance().getItemType(civilian.getCurrentClass().getType()); - String manaTitle = LocaleManager.getInstance().getTranslation(p, - classType.getManaTitle()); - p.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, - "need-more-mana").replace("$1", manaNeeded + "") - .replace("$2", manaTitle)); - return; - } else { - civilian.setMana(civilian.getMana() - ConfigManager.getInstance().getPortMana()); - } + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> { + if (!p.isOnline() || p.isDead()) { + return; + } + if (civilian.isInCombat()) { + p.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, + "in-combat")); + return; + } - double moneyNeeded = ConfigManager.getInstance().getPortMoney(); - if (moneyNeeded > 0 && Civs.econ != null && - !Civs.econ.has(p, moneyNeeded)) { - p.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, - "not-enough-money").replace("$1", moneyNeeded + "")); - return; - } else if (Civs.econ != null) { - Civs.econ.withdrawPlayer(p, ConfigManager.getInstance().getPortMoney()); - } + if (civilian.getMana() < ConfigManager.getInstance().getPortMana()) { + int manaNeeded = ConfigManager.getInstance().getPortMana() + 1 - civilian.getMana(); + ClassType classType = (ClassType) ItemManager.getInstance().getItemType(civilian.getCurrentClass().getType()); + String manaTitle = LocaleManager.getInstance().getTranslation(p, + classType.getManaTitle()); + p.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, + "need-more-mana").replace("$1", manaNeeded + "") + .replace("$2", manaTitle)); + return; + } else { + civilian.setMana(civilian.getMana() - ConfigManager.getInstance().getPortMana()); + } - if (ConfigManager.getInstance().getPortDamage() > 0) { - Bukkit.getPluginManager().callEvent(new EntityDamageEvent(p, EntityDamageEvent.DamageCause.CUSTOM, - ConfigManager.getInstance().getPortDamage())); - } - if (ConfigManager.getInstance().getPortStamina() > 0) { - p.setFoodLevel(Math.max(p.getFoodLevel() - ConfigManager.getInstance().getPortStamina(), 0)); - } - cooldowns.put(p.getUniqueId(), System.currentTimeMillis() + ConfigManager.getInstance().getPortCooldown() * 1000); - p.teleport(new Location(l.getWorld(), l.getX(), l.getY() + 1, l.getZ())); + double moneyNeeded1 = ConfigManager.getInstance().getPortMoney(); + if (moneyNeeded1 > 0 && Civs.econ != null && + !Civs.econ.has(p, moneyNeeded1)) { p.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, - "teleported")); + "not-enough-money").replace("$1", moneyNeeded1 + "")); + return; + } else if (Civs.econ != null) { + Civs.econ.withdrawPlayer(p, ConfigManager.getInstance().getPortMoney()); + } + + if (ConfigManager.getInstance().getPortDamage() > 0) { + Bukkit.getPluginManager().callEvent(new EntityDamageEvent(p, EntityDamageEvent.DamageCause.CUSTOM, + ConfigManager.getInstance().getPortDamage())); + } + if (ConfigManager.getInstance().getPortStamina() > 0) { + p.setFoodLevel(Math.max(p.getFoodLevel() - ConfigManager.getInstance().getPortStamina(), 0)); } + cooldowns.put(p.getUniqueId(), System.currentTimeMillis() + ConfigManager.getInstance().getPortCooldown() * 1000L); + p.teleport(new Location(l.getWorld(), l.getX(), l.getY() + 1, l.getZ())); + p.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, + "teleported")); }, delay); return true; } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/commands/RemoveMemberCommand.java b/src/main/java/org/redcastlemedia/multitallented/civs/commands/RemoveMemberCommand.java index 00d535b3b..ffcdaae6f 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/commands/RemoveMemberCommand.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/commands/RemoveMemberCommand.java @@ -6,9 +6,9 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.Civs; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.towns.Town; @@ -26,7 +26,7 @@ public class RemoveMemberCommand extends CivCommand { public boolean runCommand(CommandSender commandSender, Command command, String s, String[] strings) { Player player = null; - boolean isAdmin = false; + boolean isAdmin; if (commandSender instanceof Player) { player = (Player) commandSender; isAdmin = player.isOp() || (Civs.perm != null && Civs.perm.has(player, Constants.ADMIN_PERMISSION)); @@ -56,7 +56,6 @@ public boolean runCommand(CommandSender commandSender, Command command, String s String locationString = strings[2]; String uuidString = null; if (strings.length > 3) { - uuidString = strings[3]; } Town town = TownManager.getInstance().getTown(locationString); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetGuestCommand.java b/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetGuestCommand.java index fb10c9db9..cdd8753a6 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetGuestCommand.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetGuestCommand.java @@ -6,9 +6,9 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.Civs; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.towns.Town; @@ -26,7 +26,7 @@ public class SetGuestCommand extends CivCommand { public boolean runCommand(CommandSender commandSender, Command command, String s, String[] strings) { Player player = null; - boolean isAdmin = false; + boolean isAdmin; if (commandSender instanceof Player) { player = (Player) commandSender; isAdmin = player.isOp() || (Civs.perm != null && Civs.perm.has(player, Constants.ADMIN_PERMISSION)); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetMemberCommand.java b/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetMemberCommand.java index 716d785bb..16bd47fa8 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetMemberCommand.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetMemberCommand.java @@ -6,9 +6,9 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.Civs; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.towns.Town; @@ -31,7 +31,7 @@ public boolean runCommand(CommandSender commandSender, Command command, String s } LocaleManager localeManager = LocaleManager.getInstance(); - boolean isAdmin = false; + boolean isAdmin; Civilian civilian = null; if (player != null) { civilian = CivilianManager.getInstance().getCivilian(player.getUniqueId()); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetOwnerCommand.java b/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetOwnerCommand.java index 15b2e9e16..c9587855f 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetOwnerCommand.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/commands/SetOwnerCommand.java @@ -6,19 +6,14 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.Civs; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.items.ItemManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.regions.RegionType; -import org.redcastlemedia.multitallented.civs.towns.Government; -import org.redcastlemedia.multitallented.civs.towns.GovernmentManager; -import org.redcastlemedia.multitallented.civs.towns.GovernmentType; -import org.redcastlemedia.multitallented.civs.towns.Town; -import org.redcastlemedia.multitallented.civs.towns.TownManager; -import org.redcastlemedia.multitallented.civs.towns.TownType; +import org.redcastlemedia.multitallented.civs.towns.*; import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.Util; @@ -37,7 +32,7 @@ public boolean runCommand(CommandSender commandSender, Command command, String s } LocaleManager localeManager = LocaleManager.getInstance(); - boolean isAdmin = false; + boolean isAdmin; Civilian civilian = null; if (player != null) { civilian = CivilianManager.getInstance().getCivilian(player.getUniqueId()); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/dynmaphook/DynmapHook.java b/src/main/java/org/redcastlemedia/multitallented/civs/dynmaphook/DynmapHook.java index 569420d23..4b4743e79 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/dynmaphook/DynmapHook.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/dynmaphook/DynmapHook.java @@ -1,8 +1,5 @@ package org.redcastlemedia.multitallented.civs.dynmaphook; -import java.util.HashSet; -import java.util.logging.Level; - import org.bukkit.Location; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -12,13 +9,7 @@ import org.dynmap.markers.MarkerIcon; import org.dynmap.markers.MarkerSet; import org.redcastlemedia.multitallented.civs.Civs; -import org.redcastlemedia.multitallented.civs.events.RegionCreatedEvent; -import org.redcastlemedia.multitallented.civs.events.RegionDestroyedEvent; -import org.redcastlemedia.multitallented.civs.events.RenameTownEvent; -import org.redcastlemedia.multitallented.civs.events.TownCreatedEvent; -import org.redcastlemedia.multitallented.civs.events.TownDestroyedEvent; -import org.redcastlemedia.multitallented.civs.events.TownDevolveEvent; -import org.redcastlemedia.multitallented.civs.events.TownEvolveEvent; +import org.redcastlemedia.multitallented.civs.events.*; import org.redcastlemedia.multitallented.civs.items.ItemManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; @@ -27,6 +18,9 @@ import org.redcastlemedia.multitallented.civs.towns.TownManager; import org.redcastlemedia.multitallented.civs.towns.TownType; +import java.util.HashSet; +import java.util.logging.Level; + //https://github.com/webbukkit/dynmap/wiki/Using-markers public class DynmapHook implements Listener { public static DynmapCommonAPI dynmapCommonAPI = null; @@ -36,7 +30,7 @@ public static boolean isMarkerAPIReady() { if (dynmapCommonAPI == null) { return false; } - boolean initialized = false; + boolean initialized; try { initialized = dynmapCommonAPI.markerAPIInitialized(); } catch (NullPointerException npe) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/events/PlayerInTownEvent.java b/src/main/java/org/redcastlemedia/multitallented/civs/events/PlayerInTownEvent.java index 8d950fffc..86231978a 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/events/PlayerInTownEvent.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/events/PlayerInTownEvent.java @@ -2,8 +2,6 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.redcastlemedia.multitallented.civs.regions.Region; -import org.redcastlemedia.multitallented.civs.regions.RegionType; import org.redcastlemedia.multitallented.civs.towns.Town; import org.redcastlemedia.multitallented.civs.towns.TownType; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/events/RegionTickEvent.java b/src/main/java/org/redcastlemedia/multitallented/civs/events/RegionTickEvent.java index 005cd5404..fe8cff9fb 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/events/RegionTickEvent.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/events/RegionTickEvent.java @@ -5,8 +5,6 @@ import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionType; -import java.util.UUID; - public class RegionTickEvent extends Event { private static final HandlerList hList = new HandlerList(); private final Region region; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/events/RegionUpkeepEvent.java b/src/main/java/org/redcastlemedia/multitallented/civs/events/RegionUpkeepEvent.java index 0db5e756f..fd8f28b7e 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/events/RegionUpkeepEvent.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/events/RegionUpkeepEvent.java @@ -3,7 +3,6 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.redcastlemedia.multitallented.civs.regions.Region; -import org.redcastlemedia.multitallented.civs.regions.RegionType; public class RegionUpkeepEvent extends Event { private static final HandlerList hList = new HandlerList(); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/events/RenameTownEvent.java b/src/main/java/org/redcastlemedia/multitallented/civs/events/RenameTownEvent.java index c9c291b87..967ab89ff 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/events/RenameTownEvent.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/events/RenameTownEvent.java @@ -2,12 +2,8 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.redcastlemedia.multitallented.civs.regions.Region; -import org.redcastlemedia.multitallented.civs.regions.RegionType; import org.redcastlemedia.multitallented.civs.towns.Town; -import java.util.UUID; - public class RenameTownEvent extends Event { private static final HandlerList hList = new HandlerList(); private final String oldName; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/events/TownInvitesPlayerEvent.java b/src/main/java/org/redcastlemedia/multitallented/civs/events/TownInvitesPlayerEvent.java index 2d9d6cc53..4f08f94ce 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/events/TownInvitesPlayerEvent.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/events/TownInvitesPlayerEvent.java @@ -3,7 +3,6 @@ import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jetbrains.annotations.NotNull; import org.redcastlemedia.multitallented.civs.towns.Town; import java.util.UUID; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/events/TwoSecondEvent.java b/src/main/java/org/redcastlemedia/multitallented/civs/events/TwoSecondEvent.java index b590b9263..bc88b7665 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/events/TwoSecondEvent.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/events/TwoSecondEvent.java @@ -2,8 +2,6 @@ import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.redcastlemedia.multitallented.civs.regions.Region; -import org.redcastlemedia.multitallented.civs.regions.RegionType; public class TwoSecondEvent extends Event { private static final HandlerList hList = new HandlerList(); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/items/CVInventory.java b/src/main/java/org/redcastlemedia/multitallented/civs/items/CVInventory.java index 320eb6577..1f5594485 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/items/CVInventory.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/items/CVInventory.java @@ -1,12 +1,7 @@ package org.redcastlemedia.multitallented.civs.items; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - +import lombok.Getter; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -16,8 +11,7 @@ import org.bukkit.inventory.ItemStack; import org.redcastlemedia.multitallented.civs.util.Util; -import lombok.Getter; -import lombok.NonNull; +import java.util.*; public class CVInventory { @Getter diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/items/CVItem.java b/src/main/java/org/redcastlemedia/multitallented/civs/items/CVItem.java index 3170d838a..07a8351a4 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/items/CVItem.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/items/CVItem.java @@ -274,7 +274,7 @@ public static CVItem createFromItemStack(ItemStack is) { return new CVItem(is.getType(),is.getAmount()); } public static List createListFromString(String input) { - String groupName = null; + String groupName; List reqs = new ArrayList<>(); ItemGroupList itemGroupList = new ItemGroupList(); itemGroupList.findAllGroupsRecursively(input); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/items/CivItem.java b/src/main/java/org/redcastlemedia/multitallented/civs/items/CivItem.java index e8fb6de75..876002267 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/items/CivItem.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/items/CivItem.java @@ -31,7 +31,7 @@ public abstract class CivItem extends CVItem { private final double price; private final String permission; private final boolean isInShop; - private boolean isPlaceable = false; + private boolean isPlaceable; private final List groups; private final CVItem shopIcon; @Getter diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/items/FolderType.java b/src/main/java/org/redcastlemedia/multitallented/civs/items/FolderType.java index 52b87c3e5..c0e795918 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/items/FolderType.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/items/FolderType.java @@ -27,7 +27,7 @@ public FolderType(List reqs, 1, price, permission, - new ArrayList(), + new ArrayList<>(), true, level); this.children = children; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/items/ItemManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/items/ItemManager.java index 6408290ac..7ffa458a9 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/items/ItemManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/items/ItemManager.java @@ -41,7 +41,7 @@ @CivsSingleton(priority = CivsSingleton.SingletonLoadPriority.HIGHER) public class ItemManager { private static ItemManager itemManager; - private HashMap itemTypes = new HashMap<>(); + private final HashMap itemTypes = new HashMap<>(); public static ItemManager getInstance() { if (itemManager == null) { @@ -193,14 +193,19 @@ private void loopThroughTypeFiles(File file, List parentList) { String type = typeConfig.getString("type","region"); CivItem civItem = null; String itemName = file.getName().replace(".yml", "").toLowerCase(); - if (type.equals("region")) { - civItem = loadRegionType(typeConfig, itemName); - } else if (type.equals("spell")) { - civItem = loadSpellType(typeConfig, itemName); - } else if (type.equals("class")) { - civItem = loadClassType(typeConfig, itemName); - } else if (type.equals("town")) { - civItem = loadTownType(typeConfig, itemName); + switch (type) { + case "region": + civItem = loadRegionType(typeConfig, itemName); + break; + case "spell": + civItem = loadSpellType(typeConfig, itemName); + break; + case "class": + civItem = loadClassType(typeConfig, itemName); + break; + case "town": + civItem = loadTownType(typeConfig, itemName); + break; } if (civItem != null && parentList != null) { parentList.add(civItem); @@ -212,7 +217,6 @@ private void loopThroughTypeFiles(File file, List parentList) { } } catch (NullPointerException npe) { Civs.logger.warning("No region types found in " + file.getName()); - return; } } public CivItem loadClassType(FileConfiguration config, String name) { @@ -690,45 +694,50 @@ public List getAllUnmetRequirements(List civReqs, Civilian civil } String[] reqParams = splitReq[1].split("="); //shack:built=1 - if (reqParams[0].equals("built")) { - if (checkBuildRequirement(civilian, unmetRequirements, player, splitReq, reqParams, stopOnFirst)) { - continue outer; - } - //bash:level=4 - } else if (reqParams[0].equals("level")) { - CivItem reqItem = itemManager.getItemType(splitReq[0]); - if (reqItem == null) { - continue; - } - if (checkItemLevelRequirement(civilian, unmetRequirements, player, reqParams, reqItem, stopOnFirst)) { - continue outer; - } - //house:has=2 - } else if (reqParams[0].equals("has")) { - if (civilian.getCountStashItems(splitReq[0]) >= Integer.parseInt(reqParams[1]) || - civilian.getCountNonStashItems(splitReq[0]) > Integer.parseInt(reqParams[1])) { - continue outer; - } else { - if (stopOnFirst) { - unmetRequirements.add("has"); + switch (reqParams[0]) { + case "built": + if (checkBuildRequirement(civilian, unmetRequirements, player, splitReq, reqParams, stopOnFirst)) { + continue outer; + } + //bash:level=4 + break; + case "level": + CivItem reqItem = itemManager.getItemType(splitReq[0]); + if (reqItem == null) { + continue; + } + if (checkItemLevelRequirement(civilian, unmetRequirements, player, reqParams, reqItem, stopOnFirst)) { + continue outer; + } + //house:has=2 + break; + case "has": + if (civilian.getCountStashItems(splitReq[0]) >= Integer.parseInt(reqParams[1]) || + civilian.getCountNonStashItems(splitReq[0]) > Integer.parseInt(reqParams[1])) { + continue outer; } else { - CivItem civItem1 = getItemType(splitReq[0]); - unmetRequirements.add(LocaleManager.getInstance().getTranslation(player, - "req-item").replace("$1", civItem1.getDisplayName(player))); + if (stopOnFirst) { + unmetRequirements.add("has"); + } else { + CivItem civItem1 = getItemType(splitReq[0]); + unmetRequirements.add(LocaleManager.getInstance().getTranslation(player, + "req-item").replace("$1", civItem1.getDisplayName(player))); + } } - } - //hamlet:population=15 - } else if (reqParams[0].equals("population")) { - if (checkSpecificTownPopulationRequirement(civilian, unmetRequirements, player, splitReq[0], reqParams[1], stopOnFirst)) { - continue outer; - } + //hamlet:population=15 + break; + case "population": + if (checkSpecificTownPopulationRequirement(civilian, unmetRequirements, player, splitReq[0], reqParams[1], stopOnFirst)) { + continue outer; + } + break; } } StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(ChatColor.RED); stringBuilder.append("- "); - for (int i = 0; i < unmetRequirements.size(); i++) { - stringBuilder.append(unmetRequirements.get(i)); + for (String unmetRequirement : unmetRequirements) { + stringBuilder.append(unmetRequirement); } allUnmetRequirements.add(stringBuilder.toString()); } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/CivsMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/CivsMenu.java index 0f7d68af7..6cd690614 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/CivsMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/CivsMenu.java @@ -8,5 +8,5 @@ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface CivsMenu { - public String name() default ""; + String name() default ""; } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/CustomMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/CustomMenu.java index c5c529aa3..8ca660e4f 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/CustomMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/CustomMenu.java @@ -1,8 +1,7 @@ package org.redcastlemedia.multitallented.civs.menus; -import java.util.*; -import java.util.List; - +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -13,12 +12,12 @@ import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.redcastlemedia.multitallented.civs.Civs; -import org.redcastlemedia.multitallented.civs.civclass.CivClass; -import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.alliances.Alliance; +import org.redcastlemedia.multitallented.civs.civclass.CivClass; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; +import org.redcastlemedia.multitallented.civs.items.ItemManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionType; import org.redcastlemedia.multitallented.civs.towns.Town; @@ -27,8 +26,7 @@ import org.redcastlemedia.multitallented.civs.util.CommandUtil; import org.redcastlemedia.multitallented.civs.util.PermissionUtil; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.TextComponent; +import java.util.*; public class CustomMenu { protected HashSet itemIndexes; @@ -37,7 +35,7 @@ public class CustomMenu { protected HashMap cycleItems = new HashMap<>(); protected int size; private String name; - private HashMap>> rightClickActions = new HashMap<>(); + private final HashMap>> rightClickActions = new HashMap<>(); public Map createData(Civilian civilian, Map params) { Map data = new HashMap<>(); @@ -293,7 +291,7 @@ public static String stringifyData(String key, Object data) { TownType townType = (TownType) data; return townType.getProcessedName(); } else if (key.equals("uuid") && data instanceof UUID) { - return ((UUID) data).toString(); + return data.toString(); } else if (data instanceof String) { return (String) data; } else if (data instanceof CivClass) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/CycleGUI.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/CycleGUI.java index 73b94ca7c..56b50f6ad 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/CycleGUI.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/CycleGUI.java @@ -1,18 +1,18 @@ package org.redcastlemedia.multitallented.civs.menus; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.UUID; - import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + class CycleGUI { private final UUID uuid; - private HashMap cycleItems; + private final HashMap cycleItems; private static class CycleGUIItemSet { private int position; @@ -59,7 +59,7 @@ synchronized void advanceItemPositions() { inventory.setItem(index, is); CycleGUIItemSet.setPosition(pos); } - } catch (Exception e) { + } catch (Exception ignored) { } } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/MenuIcon.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/MenuIcon.java index 05669ad04..ca4982319 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/MenuIcon.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/MenuIcon.java @@ -38,36 +38,41 @@ public MenuIcon(String key, ConfigurationSection section) { this.key = key; if (section != null) { this.index = parseIndexArrayFromString(section.getString("index", "-1")); - if (key.equals("back")) { - MenuIcon backIcon = MenuManager.getInstance().getBackButton(); - this.icon = backIcon.getIcon(); - this.name = backIcon.getName(); - this.desc = backIcon.getDesc(); - } else if (key.equals("prev")) { - MenuIcon prevButton = MenuManager.getInstance().getPrevButton(); - this.icon = prevButton.getIcon(); - this.name = prevButton.getName(); - this.desc = prevButton.getDesc(); - } else if (key.equals("next")) { - MenuIcon nextButton = MenuManager.getInstance().getNextButton(); - this.icon = nextButton.getIcon(); - this.name = nextButton.getName(); - this.desc = nextButton.getDesc(); - } else { - this.icon = section.getString("icon", "STONE"); - this.name = section.getString("name", ""); - this.desc = section.getString("desc", ""); - this.actions = section.getStringList("actions"); - List actionsRightClick = section.getStringList("actions-right-click"); - if (section.isSet("pre-reqs")) { - preReqs = section.getStringList("pre-reqs"); - } - if (actionsRightClick.isEmpty()) { - this.rightClickActions = this.actions; - } else { - this.rightClickActions = actionsRightClick; - } - this.perm = section.getString("permission", ""); + switch (key) { + case "back": + MenuIcon backIcon = MenuManager.getInstance().getBackButton(); + this.icon = backIcon.getIcon(); + this.name = backIcon.getName(); + this.desc = backIcon.getDesc(); + break; + case "prev": + MenuIcon prevButton = MenuManager.getInstance().getPrevButton(); + this.icon = prevButton.getIcon(); + this.name = prevButton.getName(); + this.desc = prevButton.getDesc(); + break; + case "next": + MenuIcon nextButton = MenuManager.getInstance().getNextButton(); + this.icon = nextButton.getIcon(); + this.name = nextButton.getName(); + this.desc = nextButton.getDesc(); + break; + default: + this.icon = section.getString("icon", "STONE"); + this.name = section.getString("name", ""); + this.desc = section.getString("desc", ""); + this.actions = section.getStringList("actions"); + List actionsRightClick = section.getStringList("actions-right-click"); + if (section.isSet("pre-reqs")) { + preReqs = section.getStringList("pre-reqs"); + } + if (actionsRightClick.isEmpty()) { + this.rightClickActions = this.actions; + } else { + this.rightClickActions = actionsRightClick; + } + this.perm = section.getString("permission", ""); + break; } } } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/alliance/AllianceListMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/alliance/AllianceListMenu.java index 34d91ae4f..2237db615 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/alliance/AllianceListMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/alliance/AllianceListMenu.java @@ -46,8 +46,8 @@ public Map createData(Civilian civilian, Map par protected ItemStack createItemStack(Civilian civilian, MenuIcon menuIcon, int count) { if (menuIcon.getKey().equals("alliances")) { ArrayList alliances = AllianceManager.getInstance().getAllSortedAlliances(); - int page = (int) MenuManager.getData(civilian.getUuid(), "page"); - int startIndex = page * menuIcon.getIndex().size(); + Integer page = (Integer) MenuManager.getData(civilian.getUuid(), "page"); + int startIndex = (page != null ? page : 0) * menuIcon.getIndex().size(); Alliance[] allianceArray = new Alliance[alliances.size()]; allianceArray = alliances.toArray(allianceArray); if (allianceArray.length <= startIndex + count) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/alliance/AllianceMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/alliance/AllianceMenu.java index 955f6dc7b..cb9e5ca97 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/alliance/AllianceMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/alliance/AllianceMenu.java @@ -38,77 +38,83 @@ protected ItemStack createItemStack(Civilian civilian, MenuIcon menuIcon, int co if (player == null) { return new ItemStack(Material.AIR); } - if (menuIcon.getKey().equals("members")) { - int page = (int) MenuManager.getData(civilian.getUuid(), "page"); - int startIndex = page * menuIcon.getIndex().size(); - String[] memberNames = new String[alliance.getMembers().size()]; - memberNames = alliance.getMembers().toArray(memberNames); - if (memberNames.length <= startIndex + count) { - return new ItemStack(Material.AIR); - } - String townName = memberNames[startIndex + count]; - Town town = TownManager.getInstance().getTown(townName); - CVItem cvItem = ItemManager.getInstance().getItemType(town.getType()).clone(); - cvItem.setDisplayName(town.getName()); - cvItem.getLore().clear(); - ItemStack itemStack = cvItem.createItemStack(); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; - } else if (menuIcon.getKey().equals("last-rename")) { - if (alliance == null || alliance.getLastRenamedBy() == null) { - return new ItemStack(Material.AIR); - } - OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(alliance.getLastRenamedBy()); - if (offlinePlayer.getName() != null) { - CVItem lastRenameCVItem = menuIcon.createCVItem(player, count); - lastRenameCVItem.setMat(Material.PLAYER_HEAD); - ItemStack is = lastRenameCVItem.createItemStack(); - SkullMeta isMeta = (SkullMeta) is.getItemMeta(); - if (ConfigManager.getInstance().isSkinsInMenu()) { - isMeta.setDisplayName(offlinePlayer.getName()); + switch (menuIcon.getKey()) { + case "members": { + int page = (int) MenuManager.getData(civilian.getUuid(), "page"); + int startIndex = page * menuIcon.getIndex().size(); + String[] memberNames = new String[alliance.getMembers().size()]; + memberNames = alliance.getMembers().toArray(memberNames); + if (memberNames.length <= startIndex + count) { + return new ItemStack(Material.AIR); } - isMeta.setLore(Util.textWrap(civilian, LocaleManager.getInstance().getTranslation(player, - "last-renamed-by").replace("$1", offlinePlayer.getName()))); - isMeta.setOwningPlayer(offlinePlayer); - is.setItemMeta(isMeta); - putActions(civilian, menuIcon, is, count); - return is; - } - } else if (menuIcon.getKey().equals("icon")) { - CVItem icon = menuIcon.createCVItem(player, count); - icon.setDisplayName(alliance.getName()); - ItemStack itemStack = icon.createItemStack(); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; - } else if (menuIcon.getKey().equals("rename") || - menuIcon.getKey().equals("leave-alliance")) { - Town selectedTown = (Town) MenuManager.getData(civilian.getUuid(), "selectedTown"); - if (selectedTown == null) { - return new ItemStack(Material.AIR); + String townName = memberNames[startIndex + count]; + Town town = TownManager.getInstance().getTown(townName); + CVItem cvItem = ItemManager.getInstance().getItemType(town.getType()).clone(); + cvItem.setDisplayName(town.getName()); + cvItem.getLore().clear(); + ItemStack itemStack = cvItem.createItemStack(); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; } - CVItem cvItem = menuIcon.createCVItem(player, count); - if (menuIcon.getDesc() != null && !menuIcon.getDesc().isEmpty()) { - cvItem.setLore(Util.textWrap(civilian, LocaleManager.getInstance().getTranslation(player, - menuIcon.getDesc()).replace("$1", alliance.getName()))); + case "last-rename": + if (alliance == null || alliance.getLastRenamedBy() == null) { + return new ItemStack(Material.AIR); + } + OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(alliance.getLastRenamedBy()); + if (offlinePlayer.getName() != null) { + CVItem lastRenameCVItem = menuIcon.createCVItem(player, count); + lastRenameCVItem.setMat(Material.PLAYER_HEAD); + ItemStack is = lastRenameCVItem.createItemStack(); + SkullMeta isMeta = (SkullMeta) is.getItemMeta(); + if (ConfigManager.getInstance().isSkinsInMenu()) { + isMeta.setDisplayName(offlinePlayer.getName()); + } + isMeta.setLore(Util.textWrap(civilian, LocaleManager.getInstance().getTranslation(player, + "last-renamed-by").replace("$1", offlinePlayer.getName()))); + isMeta.setOwningPlayer(offlinePlayer); + is.setItemMeta(isMeta); + putActions(civilian, menuIcon, is, count); + return is; + } + break; + case "icon": { + CVItem icon = menuIcon.createCVItem(player, count); + icon.setDisplayName(alliance.getName()); + ItemStack itemStack = icon.createItemStack(); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; } - ItemStack itemStack = cvItem.createItemStack(); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; - } else if ("select-town".equals(menuIcon.getKey())) { - Town selectedTown = (Town) MenuManager.getData(civilian.getUuid(), "selectedTown"); - if (selectedTown == null) { - return new ItemStack(Material.AIR); + case "rename": + case "leave-alliance": { + Town selectedTown = (Town) MenuManager.getData(civilian.getUuid(), "selectedTown"); + if (selectedTown == null) { + return new ItemStack(Material.AIR); + } + CVItem cvItem = menuIcon.createCVItem(player, count); + if (menuIcon.getDesc() != null && !menuIcon.getDesc().isEmpty()) { + cvItem.setLore(Util.textWrap(civilian, LocaleManager.getInstance().getTranslation(player, + menuIcon.getDesc()).replace("$1", alliance.getName()))); + } + ItemStack itemStack = cvItem.createItemStack(); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; } - TownType selectedTownType = (TownType) ItemManager.getInstance().getItemType(selectedTown.getType()); - CVItem cvItem = selectedTownType.getShopIcon(civilian.getLocale()).clone(); - cvItem.setDisplayName(selectedTown.getName()); - if (menuIcon.getDesc() != null && !menuIcon.getDesc().isEmpty()) { - cvItem.setLore(Util.textWrap(civilian, LocaleManager.getInstance().getTranslation(player, - menuIcon.getDesc()))); + case "select-town": { + Town selectedTown = (Town) MenuManager.getData(civilian.getUuid(), "selectedTown"); + if (selectedTown == null) { + return new ItemStack(Material.AIR); + } + TownType selectedTownType = (TownType) ItemManager.getInstance().getItemType(selectedTown.getType()); + CVItem cvItem = selectedTownType.getShopIcon(civilian.getLocale()).clone(); + cvItem.setDisplayName(selectedTown.getName()); + if (menuIcon.getDesc() != null && !menuIcon.getDesc().isEmpty()) { + cvItem.setLore(Util.textWrap(civilian, LocaleManager.getInstance().getTranslation(player, + menuIcon.getDesc()))); + } + ItemStack itemStack = cvItem.createItemStack(); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; } - ItemStack itemStack = cvItem.createItemStack(); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; } return super.createItemStack(civilian, menuIcon, count); } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/classes/ClassMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/classes/ClassMenu.java index eb27eda80..12efb95da 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/classes/ClassMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/classes/ClassMenu.java @@ -16,7 +16,6 @@ import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.menus.CivsMenu; import org.redcastlemedia.multitallented.civs.menus.CustomMenu; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ConfirmationMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ConfirmationMenu.java index 9518152a9..19010bd25 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ConfirmationMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ConfirmationMenu.java @@ -1,19 +1,15 @@ package org.redcastlemedia.multitallented.civs.menus.common; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.civclass.CivClass; import org.redcastlemedia.multitallented.civs.civclass.ClassManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianListener; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; -import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; import org.redcastlemedia.multitallented.civs.menus.CivsMenu; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ItemListMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ItemListMenu.java index 04734b9d3..eb19b1ad9 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ItemListMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ItemListMenu.java @@ -16,7 +16,6 @@ import org.redcastlemedia.multitallented.civs.menus.CustomMenu; import org.redcastlemedia.multitallented.civs.menus.MenuIcon; import org.redcastlemedia.multitallented.civs.menus.MenuManager; -import org.redcastlemedia.multitallented.civs.regions.effects.RepairEffect; @CivsMenu(name = "item-list") @SuppressWarnings("unused") public class ItemListMenu extends CustomMenu { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/MainMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/MainMenu.java index e7a8ac877..d44de761a 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/MainMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/MainMenu.java @@ -1,8 +1,5 @@ package org.redcastlemedia.multitallented.civs.menus.common; -import java.util.HashMap; -import java.util.Map; - import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -18,7 +15,6 @@ import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.menus.CivsMenu; import org.redcastlemedia.multitallented.civs.menus.CustomMenu; @@ -27,14 +23,17 @@ import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.regions.RegionType; +import org.redcastlemedia.multitallented.civs.regions.StructureUtil; import org.redcastlemedia.multitallented.civs.towns.Town; import org.redcastlemedia.multitallented.civs.towns.TownManager; import org.redcastlemedia.multitallented.civs.towns.TownType; import org.redcastlemedia.multitallented.civs.tutorials.TutorialManager; import org.redcastlemedia.multitallented.civs.util.Constants; -import org.redcastlemedia.multitallented.civs.regions.StructureUtil; import org.redcastlemedia.multitallented.civs.util.Util; +import java.util.HashMap; +import java.util.Map; + @CivsMenu(name = "main") @SuppressWarnings("unused") public class MainMenu extends CustomMenu { @Override @@ -71,123 +70,141 @@ protected ItemStack createItemStack(Civilian civilian, MenuIcon menuIcon, int co if (player == null) { return new ItemStack(Material.AIR); } - if (menuIcon.getKey().equals(Constants.REGION)) { - Region region = (Region) MenuManager.getData(civilian.getUuid(), Constants.REGION); - if (region == null) { - return new ItemStack(Material.AIR); - } else { - RegionType regionType = (RegionType) ItemManager.getInstance().getItemType(region.getType()); - CVItem regionIcon = regionType.getShopIcon(civilian.getLocale()); - ItemStack itemStack = regionIcon.createItemStack(); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; - } - } else if (menuIcon.getKey().equals(Constants.TOWN)) { - Town town = (Town) MenuManager.getData(civilian.getUuid(), Constants.TOWN); - if (town == null) { - return new ItemStack(Material.AIR); - } else { - TownType townType = (TownType) ItemManager.getInstance().getItemType(town.getType()); - CVItem townIcon = townType.getShopIcon(civilian.getLocale()); - townIcon.setDisplayName(town.getName()); - ItemStack itemStack = townIcon.createItemStack(); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; - } - } else if (menuIcon.getKey().equals(Constants.REGIONS)) { - boolean showBuiltRegions = false; - for (Region region : RegionManager.getInstance().getAllRegions()) { - if (region.getRawPeople().containsKey(civilian.getUuid())) { - showBuiltRegions = true; - break; + switch (menuIcon.getKey()) { + case Constants.REGION: { + Region region = (Region) MenuManager.getData(civilian.getUuid(), Constants.REGION); + if (region == null) { + return new ItemStack(Material.AIR); + } else { + RegionType regionType = (RegionType) ItemManager.getInstance().getItemType(region.getType()); + CVItem regionIcon = regionType.getShopIcon(civilian.getLocale()); + ItemStack itemStack = regionIcon.createItemStack(); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; } } - if (!showBuiltRegions) { - return new ItemStack(Material.AIR); - } - } else if (menuIcon.getKey().equals("guide")) { - if (!ConfigManager.getInstance().isUseGuide()) { - return new ItemStack(Material.AIR); - } - CVItem cvItem = menuIcon.createCVItem(player, count); - cvItem.setLore(TutorialManager.getInstance().getNextTutorialStepMessage(civilian, false)); - ItemStack itemStack = cvItem.createItemStack(); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; - } else if (menuIcon.getKey().equals("shop")) { - if (!player.isOp() && - (Civs.perm == null || !Civs.perm.has(player, "civs.shop"))) { - return new ItemStack(Material.AIR); - } - } else if ("chat".equals(menuIcon.getKey())) { - CVItem cvItem = menuIcon.createCVItem(player, count); - cvItem.setLore(Util.textWrap(civilian, LocaleManager.getInstance().getTranslation(player, - menuIcon.getDesc()).replace("$1", civilian.getChatChannel().getName(player)))); - ItemStack itemStack = cvItem.createItemStack(); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; - } else if ("player".equals(menuIcon.getKey())) { - ItemStack itemStack = new ItemStack(Material.PLAYER_HEAD, 1); - SkullMeta skullMeta = (SkullMeta) itemStack.getItemMeta(); - if (ConfigManager.getInstance().isSkinsInMenu()) { - skullMeta.setOwningPlayer(Bukkit.getOfflinePlayer(civilian.getUuid())); + case Constants.TOWN: { + Town town = (Town) MenuManager.getData(civilian.getUuid(), Constants.TOWN); + if (town == null) { + return new ItemStack(Material.AIR); + } else { + TownType townType = (TownType) ItemManager.getInstance().getItemType(town.getType()); + CVItem townIcon = townType.getShopIcon(civilian.getLocale()); + townIcon.setDisplayName(town.getName()); + ItemStack itemStack = townIcon.createItemStack(); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; + } } - skullMeta.setDisplayName(player.getDisplayName()); - if (ConfigManager.getInstance().getUseClassesAndSpells()) { - CivItem civItem = ItemManager.getInstance().getItemType(civilian.getCurrentClass().getType()); - skullMeta.setLore(Util.textWrap(civilian, civItem.getDisplayName(player))); + case Constants.REGIONS: { + boolean showBuiltRegions = false; + for (Region region : RegionManager.getInstance().getAllRegions()) { + if (region.getRawPeople().containsKey(civilian.getUuid())) { + showBuiltRegions = true; + break; + } + } + if (!showBuiltRegions) { + return new ItemStack(Material.AIR); + } + break; } - itemStack.setItemMeta(skullMeta); - putActions(civilian, menuIcon, itemStack, count); - return itemStack; - } else if ("class".equals(menuIcon.getKey())) { - if (ConfigManager.getInstance().getUseClassesAndSpells()) { - CivClass civClass = civilian.getCurrentClass(); - ClassType classType = (ClassType) ItemManager.getInstance().getItemType(civClass.getType()); - CVItem cvItem = classType.getShopIcon(civilian.getLocale()); + case "guide": { + if (!ConfigManager.getInstance().isUseGuide()) { + return new ItemStack(Material.AIR); + } + CVItem cvItem = menuIcon.createCVItem(player, count); + cvItem.setLore(TutorialManager.getInstance().getNextTutorialStepMessage(civilian, false)); ItemStack itemStack = cvItem.createItemStack(); putActions(civilian, menuIcon, itemStack, count); return itemStack; - } else { - return new ItemStack(Material.AIR); } - } else if (menuIcon.getKey().equals("your-towns")) { - boolean isInATown = false; - for (Town town : TownManager.getInstance().getTowns()) { - if (town.getRawPeople().containsKey(civilian.getUuid())) { - isInATown = true; - break; + case "shop": + if (!player.isOp() && + (Civs.perm == null || !Civs.perm.has(player, "civs.shop"))) { + return new ItemStack(Material.AIR); } + break; + case "chat": { + CVItem cvItem = menuIcon.createCVItem(player, count); + cvItem.setLore(Util.textWrap(civilian, LocaleManager.getInstance().getTranslation(player, + menuIcon.getDesc()).replace("$1", civilian.getChatChannel().getName(player)))); + ItemStack itemStack = cvItem.createItemStack(); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; } - if (!isInATown) { - return new ItemStack(Material.AIR); - } - } else if (menuIcon.getKey().equals("alliances")) { - if (AllianceManager.getInstance().getAllAlliances().isEmpty()) { - return new ItemStack(Material.AIR); - } - } else if (menuIcon.getKey().equals("regions-for-sale")) { - boolean hasRegionsForSale = false; - for (Region r : RegionManager.getInstance().getAllRegions()) { - if (r.getForSale() != -1 && (!r.getRawPeople().containsKey(civilian.getUuid()) || - r.getRawPeople().get(civilian.getUuid()).contains("ally"))) { - hasRegionsForSale = true; - break; + case "player": { + ItemStack itemStack = new ItemStack(Material.PLAYER_HEAD, 1); + SkullMeta skullMeta = (SkullMeta) itemStack.getItemMeta(); + if (ConfigManager.getInstance().isSkinsInMenu()) { + skullMeta.setOwningPlayer(Bukkit.getOfflinePlayer(civilian.getUuid())); + } + skullMeta.setDisplayName(player.getDisplayName()); + if (ConfigManager.getInstance().getUseClassesAndSpells()) { + CivItem civItem = ItemManager.getInstance().getItemType(civilian.getCurrentClass().getType()); + skullMeta.setLore(Util.textWrap(civilian, civItem.getDisplayName(player))); } + itemStack.setItemMeta(skullMeta); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; } - if (!hasRegionsForSale) { - return new ItemStack(Material.AIR); + case "class": { + if (ConfigManager.getInstance().getUseClassesAndSpells()) { + CivClass civClass = civilian.getCurrentClass(); + ClassType classType = (ClassType) ItemManager.getInstance().getItemType(civClass.getType()); + CVItem cvItem = classType.getShopIcon(civilian.getLocale()); + ItemStack itemStack = cvItem.createItemStack(); + putActions(civilian, menuIcon, itemStack, count); + return itemStack; + } else { + return new ItemStack(Material.AIR); + } } - } else if (menuIcon.getKey().equals("ports")) { - boolean hasPort = false; - for (Region region : RegionManager.getInstance().getAllRegions()) { - if (PortCommand.canPort(region, player.getUniqueId(), null)) { - hasPort = true; - break; + case "your-towns": { + boolean isInATown = false; + for (Town town : TownManager.getInstance().getTowns()) { + if (town.getRawPeople().containsKey(civilian.getUuid())) { + isInATown = true; + break; + } } + if (!isInATown) { + return new ItemStack(Material.AIR); + } + break; } - if (!hasPort) { - return new ItemStack(Material.AIR); + case "alliances": { + if (AllianceManager.getInstance().getAllAlliances().isEmpty()) { + return new ItemStack(Material.AIR); + } + break; + } + case "regions-for-sale": { + boolean hasRegionsForSale = false; + for (Region r : RegionManager.getInstance().getAllRegions()) { + if (r.getForSale() != -1 && (!r.getRawPeople().containsKey(civilian.getUuid()) || + r.getRawPeople().get(civilian.getUuid()).contains("ally"))) { + hasRegionsForSale = true; + break; + } + } + if (!hasRegionsForSale) { + return new ItemStack(Material.AIR); + } + break; + } + case "ports": { + boolean hasPort = false; + for (Region region : RegionManager.getInstance().getAllRegions()) { + if (PortCommand.canPort(region, player.getUniqueId(), null)) { + hasPort = true; + break; + } + } + if (!hasPort) { + return new ItemStack(Material.AIR); + } + break; } } return super.createItemStack(civilian, menuIcon, count); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/PortMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/PortMenu.java index b417a70e2..fe4b82a61 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/PortMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/PortMenu.java @@ -12,8 +12,6 @@ import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.inventory.ItemStack; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.commands.PortCommand; import org.redcastlemedia.multitallented.civs.items.CVItem; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/RecipeMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/RecipeMenu.java index df09f481c..80482daad 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/RecipeMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/RecipeMenu.java @@ -7,7 +7,6 @@ import org.bukkit.Material; import org.bukkit.inventory.ItemStack; -import org.redcastlemedia.multitallented.civs.ConfigManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ShopMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ShopMenu.java index 9c59fe085..0a0ab0ffa 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ShopMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/common/ShopMenu.java @@ -4,7 +4,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.function.Predicate; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -12,7 +11,6 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.redcastlemedia.multitallented.civs.ConfigManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.items.CVItem; @@ -23,7 +21,6 @@ import org.redcastlemedia.multitallented.civs.menus.CustomMenu; import org.redcastlemedia.multitallented.civs.menus.MenuIcon; import org.redcastlemedia.multitallented.civs.menus.MenuManager; -import org.redcastlemedia.multitallented.civs.util.Util; @CivsMenu(name = "shop") @SuppressWarnings("unused") public class ShopMenu extends CustomMenu { @@ -76,15 +73,12 @@ public Map createData(Civilian civilian, Map par } } else { shopItems = ItemManager.getInstance().getShopItems(civilian, parent); - shopItems.removeIf(new Predicate() { - @Override - public boolean test(CivItem civItem) { - if (!(civItem instanceof FolderType)) { - return false; - } - FolderType folderType = (FolderType) civItem; - return !folderType.getVisible(); + shopItems.removeIf(civItem -> { + if (!(civItem instanceof FolderType)) { + return false; } + FolderType folderType = (FolderType) civItem; + return !folderType.getVisible(); }); } if (shopItems != null) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/people/PeopleMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/people/PeopleMenu.java index 4911a4876..0ef4b1b17 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/people/PeopleMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/people/PeopleMenu.java @@ -1,7 +1,6 @@ package org.redcastlemedia.multitallented.civs.menus.people; import java.util.*; -import java.util.function.Predicate; import java.util.logging.Level; import org.bukkit.Bukkit; @@ -133,16 +132,13 @@ private void rankSort(List civilians, Map ranks) { if (ranks == null || ranks.isEmpty()) { return; } - civilians.sort(new Comparator() { - @Override - public int compare(Civilian o1, Civilian o2) { - if (!ranks.containsKey(o1.getUuid()) || - !ranks.containsKey(o2.getUuid())) { - return 0; - } - return Integer.compare(rankWeight(ranks.get(o1.getUuid())), - rankWeight(ranks.get(o2.getUuid()))); + civilians.sort((o1, o2) -> { + if (!ranks.containsKey(o1.getUuid()) || + !ranks.containsKey(o2.getUuid())) { + return 0; } + return Integer.compare(rankWeight(ranks.get(o1.getUuid())), + rankWeight(ranks.get(o2.getUuid()))); }); } private int rankWeight(String rank) { @@ -158,30 +154,22 @@ private int rankWeight(String rank) { } private void pointsSort(List civilians) { - civilians.sort(new Comparator() { - @Override - public int compare(Civilian o1, Civilian o2) { - return Double.compare(o1.getPoints(), o2.getPoints()); - } - }); + civilians.sort(Comparator.comparingDouble(Civilian::getPoints)); } private void alphabeticalSort(List civilians) { - civilians.sort(new Comparator() { - @Override - public int compare(Civilian civilian1, Civilian civilian2) { - OfflinePlayer offlinePlayer1 = Bukkit.getOfflinePlayer(civilian1.getUuid()); - OfflinePlayer offlinePlayer2 = Bukkit.getOfflinePlayer(civilian2.getUuid()); - if (offlinePlayer1.getName() == null || offlinePlayer2.getName() == null) { - return 0; - } - try { - return offlinePlayer1.getName().compareTo(offlinePlayer2.getName()); - } catch (Exception e) { - Object[] args = { Civs.NAME, offlinePlayer1.getName(), offlinePlayer2.getName()}; - Civs.logger.log(Level.WARNING, "{0} Failed to compare name {1} with {2}", args); - return 0; - } + civilians.sort((civilian1, civilian2) -> { + OfflinePlayer offlinePlayer1 = Bukkit.getOfflinePlayer(civilian1.getUuid()); + OfflinePlayer offlinePlayer2 = Bukkit.getOfflinePlayer(civilian2.getUuid()); + if (offlinePlayer1.getName() == null || offlinePlayer2.getName() == null) { + return 0; + } + try { + return offlinePlayer1.getName().compareTo(offlinePlayer2.getName()); + } catch (Exception e) { + Object[] args = { Civs.NAME, offlinePlayer1.getName(), offlinePlayer2.getName()}; + Civs.logger.log(Level.WARNING, "{0} Failed to compare name {1} with {2}", args); + return 0; } }); } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/regions/RegionMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/regions/RegionMenu.java index b6ff12444..a6a023785 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/regions/RegionMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/regions/RegionMenu.java @@ -13,7 +13,6 @@ import org.bukkit.inventory.ItemStack; import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.items.CVItem; @@ -230,19 +229,22 @@ public ItemStack createItemStack(Civilian civilian, MenuIcon menuIcon, int count @Override public boolean doActionAndCancel(Civilian civilian, String actionString, ItemStack clickedItem) { - if (actionString.equals("cancel-sale")) { - Player player = Bukkit.getPlayer(civilian.getUuid()); - player.performCommand("cv sell"); - return true; - } else if (actionString.equals("toggle-warehouse")) { - Region region = (Region) MenuManager.getData(civilian.getUuid(), "region"); - region.setWarehouseEnabled(!region.isWarehouseEnabled()); - RegionManager.getInstance().saveRegion(region); - return true; - } else if (actionString.equals("buy-region")) { - Region region = (Region) MenuManager.getData(civilian.getUuid(), "region"); - sellRegion(civilian, region); - return true; + switch (actionString) { + case "cancel-sale": + Player player = Bukkit.getPlayer(civilian.getUuid()); + player.performCommand("cv sell"); + return true; + case "toggle-warehouse": { + Region region = (Region) MenuManager.getData(civilian.getUuid(), "region"); + region.setWarehouseEnabled(!region.isWarehouseEnabled()); + RegionManager.getInstance().saveRegion(region); + return true; + } + case "buy-region": { + Region region = (Region) MenuManager.getData(civilian.getUuid(), "region"); + sellRegion(civilian, region); + return true; + } } return super.doActionAndCancel(civilian, actionString, clickedItem); } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/GovListMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/GovListMenu.java index 50081bf57..fcc2e9839 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/GovListMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/GovListMenu.java @@ -51,13 +51,10 @@ public Map createData(Civilian civilian, Map par govList.remove(currentGovName); } } - govList.sort(new Comparator() { - @Override - public int compare(String o1, String o2) { - int power1 = govPower.getOrDefault(o1.toLowerCase(), 0); - int power2 = govPower.getOrDefault(o2.toLowerCase(), 0); - return Integer.compare(power2, power1); - } + govList.sort((o1, o2) -> { + int power1 = govPower.getOrDefault(o1.toLowerCase(), 0); + int power2 = govPower.getOrDefault(o2.toLowerCase(), 0); + return Integer.compare(power2, power1); }); data.put("townsByGov", townsByGov); data.put("govPower", govPower); @@ -102,12 +99,12 @@ protected ItemStack createItemStack(Civilian civilian, MenuIcon menuIcon, int co } ItemStack itemStack = cvItem.createItemStack(); if (isLeaderboard) { - String townList = ""; + StringBuilder townList = new StringBuilder(); HashMap> townsByGov = (HashMap>) MenuManager.getData(civilian.getUuid(), "townsByGov"); for (Town currentTown : townsByGov.get(govName.toLowerCase())) { - townList += currentTown.getName() + ","; + townList.append(currentTown.getName()).append(","); } - townList = townList.substring(0, townList.length() - 1); + townList = new StringBuilder(townList.substring(0, townList.length() - 1)); ArrayList theseActions = new ArrayList<>(); theseActions.add("menu:select-town?townList=" + townList); putActionList(civilian, itemStack, theseActions); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/SelectTownMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/SelectTownMenu.java index c9b3abf94..43ccf25c9 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/SelectTownMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/SelectTownMenu.java @@ -68,8 +68,11 @@ public Map createData(Civilian civilian, Map par protected ItemStack createItemStack(Civilian civilian, MenuIcon menuIcon, int count) { if (menuIcon.getKey().equals("towns")) { Set towns = (Set) MenuManager.getData(civilian.getUuid(), "towns"); - int page = (int) MenuManager.getData(civilian.getUuid(), "page"); - int startIndex = page * menuIcon.getIndex().size(); + Integer page = (Integer) MenuManager.getData(civilian.getUuid(), "page"); + int startIndex = (page != null ? page : 0) * menuIcon.getIndex().size(); + if (towns == null) { + return new ItemStack(Material.AIR); + } Town[] townArray = new Town[towns.size()]; townArray = towns.toArray(townArray); if (townArray.length <= startIndex + count) { @@ -82,10 +85,10 @@ protected ItemStack createItemStack(Civilian civilian, MenuIcon menuIcon, int co ItemStack itemStack = cvItem.createItemStack(); boolean isAllianceSelect = MenuManager.getAllData(civilian.getUuid()).containsKey("ally"); if (isAllianceSelect) { - boolean ally = (boolean) MenuManager.getData(civilian.getUuid(), "ally"); + Boolean ally = (Boolean) MenuManager.getData(civilian.getUuid(), "ally"); List currentActions = new ArrayList<>(); - if (ally) { + if (ally != null && ally) { currentActions.add("ally"); } else { currentActions.add("unally"); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/TownTypeMenu.java b/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/TownTypeMenu.java index 363ba1e6f..fb39e4eab 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/TownTypeMenu.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/menus/towns/TownTypeMenu.java @@ -10,7 +10,6 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.redcastlemedia.multitallented.civs.Civs; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.items.CVItem; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/protections/DeathListener.java b/src/main/java/org/redcastlemedia/multitallented/civs/protections/DeathListener.java index 31a334300..f1cf606f4 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/protections/DeathListener.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/protections/DeathListener.java @@ -1,10 +1,5 @@ package org.redcastlemedia.multitallented.civs.protections; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; - import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -14,12 +9,7 @@ import org.bukkit.entity.Projectile; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.EntityDeathEvent; -import org.bukkit.event.entity.EntityRegainHealthEvent; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.entity.ProjectileHitEvent; +import org.bukkit.event.entity.*; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.event.player.PlayerTeleportEvent; @@ -40,17 +30,17 @@ import org.redcastlemedia.multitallented.civs.skills.CivSkills; import org.redcastlemedia.multitallented.civs.skills.Skill; import org.redcastlemedia.multitallented.civs.spells.civstate.BuiltInCivState; -import org.redcastlemedia.multitallented.civs.towns.Government; -import org.redcastlemedia.multitallented.civs.towns.GovernmentManager; -import org.redcastlemedia.multitallented.civs.towns.GovernmentType; -import org.redcastlemedia.multitallented.civs.towns.Town; -import org.redcastlemedia.multitallented.civs.towns.TownManager; -import org.redcastlemedia.multitallented.civs.towns.TownType; +import org.redcastlemedia.multitallented.civs.towns.*; import org.redcastlemedia.multitallented.civs.tutorials.TutorialManager; import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.MessageUtil; import org.redcastlemedia.multitallented.civs.util.Util; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + @CivsSingleton() public class DeathListener implements Listener { @@ -98,7 +88,6 @@ public void onPlayerTeleport(PlayerTeleportEvent event) { event.setCancelled(true); player.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, "no-tp-out-of-town")); - return; } } } @@ -334,12 +323,7 @@ public void onPlayerRespawn(PlayerRespawnEvent event) { Location respawnLocation = civilian.getRespawnPoint(); if (ConfigManager.getInstance().getUseStarterBook()) { - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - player.getInventory().addItem(Util.createStarterBook(civilian.getLocale())); - } - }, 5L); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> player.getInventory().addItem(Util.createStarterBook(civilian.getLocale())), 5L); } if (respawnLocation == null) { return; @@ -426,7 +410,7 @@ public void onPlayerDeath(PlayerDeathEvent event) { Region jail = regionManager.getRegionAt(deathLocation); boolean bypassJail = jail != null; Player damager = null; - EntityDamageByEntityEvent entityDamageByEntityEvent = null; + EntityDamageByEntityEvent entityDamageByEntityEvent; if (event.getEntity().getLastDamageCause() instanceof EntityDamageByEntityEvent) { entityDamageByEntityEvent = (EntityDamageByEntityEvent) event.getEntity().getLastDamageCause(); @@ -680,72 +664,42 @@ public void onPlayerDeath(PlayerDeathEvent event) { long interval = 10L; final Player dPlayer = damager; if (bountyBonus > 0) { - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - dPlayer.sendMessage(Civs.getPrefix() + ChatColor.GREEN + - localeManager.getTranslation(dPlayer, "bounty-bonus") - .replace("$1", "" + BOUNTY_BONUS)); - } - }, interval); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> dPlayer.sendMessage(Civs.getPrefix() + ChatColor.GREEN + + localeManager.getTranslation(dPlayer, "bounty-bonus") + .replace("$1", "" + BOUNTY_BONUS)), interval); interval += 10L; } if (points > 0) { - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - dPlayer.sendMessage(Civs.getPrefix() + - localeManager.getTranslation(dPlayer, "kill") - .replace("$1", "" + ConfigManager.getInstance().getPointsPerKill())); - } - }, interval); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> dPlayer.sendMessage(Civs.getPrefix() + + localeManager.getTranslation(dPlayer, "kill") + .replace("$1", "" + ConfigManager.getInstance().getPointsPerKill())), interval); interval += 10L; } if (healthBonus > 0) { final double ptsHealth = healthBonus; - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - dPlayer.sendMessage(Civs.getPrefix() + - localeManager.getTranslation(dPlayer, "low-health") - .replace("$1", "" + ptsHealth)); - } - }, interval); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> dPlayer.sendMessage(Civs.getPrefix() + + localeManager.getTranslation(dPlayer, "low-health") + .replace("$1", "" + ptsHealth)), interval); interval += 10L; } if (killStreakBonus > 0) { final double killStreakPts = killStreakBonus; - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - player.sendMessage(Civs.getPrefix() + - localeManager.getTranslation(dPlayer, "killstreak-points") - .replace("$1", "" + killStreakPts)); - } - }, interval); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> player.sendMessage(Civs.getPrefix() + + localeManager.getTranslation(dPlayer, "killstreak-points") + .replace("$1", "" + killStreakPts)), interval); interval += 10L; } if (killJoyBonus > 0) { final double killJoyPts = killJoyBonus; - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - player.sendMessage(Civs.getPrefix() + - localeManager.getTranslation(dPlayer, "killjoy-points") - .replace("$1", "" + killJoyPts)); - } - }, interval); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> player.sendMessage(Civs.getPrefix() + + localeManager.getTranslation(dPlayer, "killjoy-points") + .replace("$1", "" + killJoyPts)), interval); interval += 10L; } final double pts = points; - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - player.sendMessage(Civs.getPrefix() + - localeManager.getTranslation(dPlayer, "total-points") - .replace("$1", "" + pts)); - } - }, interval); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> player.sendMessage(Civs.getPrefix() + + localeManager.getTranslation(dPlayer, "total-points") + .replace("$1", "" + pts)), interval); } private void removePlayersFromCombat(Civilian dyingCiv) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/protections/ProtectionHandler.java b/src/main/java/org/redcastlemedia/multitallented/civs/protections/ProtectionHandler.java index 1cc7cc1f2..b37cffb5a 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/protections/ProtectionHandler.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/protections/ProtectionHandler.java @@ -1,11 +1,5 @@ package org.redcastlemedia.multitallented.civs.protections; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; @@ -16,45 +10,17 @@ import org.bukkit.block.Container; import org.bukkit.block.data.BlockData; import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Creeper; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Fireball; -import org.bukkit.entity.Monster; -import org.bukkit.entity.Phantom; -import org.bukkit.entity.Player; -import org.bukkit.entity.TNTPrimed; -import org.bukkit.entity.Wither; -import org.bukkit.entity.WitherSkull; +import org.bukkit.entity.*; import org.bukkit.event.Event; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.block.BlockBurnEvent; -import org.bukkit.event.block.BlockDamageEvent; -import org.bukkit.event.block.BlockFromToEvent; -import org.bukkit.event.block.BlockIgniteEvent; -import org.bukkit.event.block.BlockPistonExtendEvent; -import org.bukkit.event.block.BlockPistonRetractEvent; -import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.event.block.BlockSpreadEvent; -import org.bukkit.event.block.SignChangeEvent; -import org.bukkit.event.entity.CreatureSpawnEvent; -import org.bukkit.event.entity.EntityChangeBlockEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.EntityDeathEvent; -import org.bukkit.event.entity.EntityExplodeEvent; -import org.bukkit.event.entity.EntityInteractEvent; +import org.bukkit.event.block.*; +import org.bukkit.event.entity.*; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.hanging.HangingBreakEvent; import org.bukkit.event.hanging.HangingPlaceEvent; -import org.bukkit.event.player.PlayerBucketEmptyEvent; -import org.bukkit.event.player.PlayerBucketFillEvent; -import org.bukkit.event.player.PlayerInteractAtEntityEvent; -import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.event.player.PlayerPortalEvent; -import org.bukkit.event.player.PlayerTeleportEvent; +import org.bukkit.event.player.*; import org.bukkit.event.world.ChunkLoadEvent; import org.bukkit.event.world.ChunkUnloadEvent; import org.bukkit.event.world.PortalCreateEvent; @@ -71,25 +37,18 @@ import org.redcastlemedia.multitallented.civs.items.UnloadedInventoryHandler; import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; -import org.redcastlemedia.multitallented.civs.regions.Region; -import org.redcastlemedia.multitallented.civs.regions.RegionBlockCheckResponse; -import org.redcastlemedia.multitallented.civs.regions.RegionEffectConstants; -import org.redcastlemedia.multitallented.civs.regions.RegionManager; -import org.redcastlemedia.multitallented.civs.regions.RegionType; +import org.redcastlemedia.multitallented.civs.regions.*; import org.redcastlemedia.multitallented.civs.skills.CivSkills; import org.redcastlemedia.multitallented.civs.skills.Skill; import org.redcastlemedia.multitallented.civs.spells.civstate.BuiltInCivState; -import org.redcastlemedia.multitallented.civs.towns.Government; -import org.redcastlemedia.multitallented.civs.towns.GovernmentManager; -import org.redcastlemedia.multitallented.civs.towns.GovernmentType; -import org.redcastlemedia.multitallented.civs.towns.Town; -import org.redcastlemedia.multitallented.civs.towns.TownManager; -import org.redcastlemedia.multitallented.civs.towns.TownType; +import org.redcastlemedia.multitallented.civs.towns.*; import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.DebugLogger; import org.redcastlemedia.multitallented.civs.util.MessageUtil; import org.redcastlemedia.multitallented.civs.util.Util; +import java.util.*; + @CivsSingleton public class ProtectionHandler implements Listener { @@ -174,7 +133,6 @@ public void onPlayerPortal(PlayerPortalEvent event) { event.setCancelled(true); player.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, "cant-nether-portal")); - return; } } } @@ -561,8 +519,8 @@ public void onItemFrameDamage(EntityDamageEvent event) { @EventHandler(ignoreCancelled = true) public void onEntityLight(BlockIgniteEvent event) { - Location location = null; - boolean shouldDeny = false; + Location location; + boolean shouldDeny; if (event.getIgnitingBlock() != null) { location = event.getIgnitingBlock().getLocation(); @@ -653,12 +611,7 @@ public void onEntityExplode(EntityExplodeEvent event) { } final Location location = event.getLocation(); - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - checkRegionBlocks(location); - } - }, 1L); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> checkRegionBlocks(location), 1L); } protected void checkRegionBlocks(Location location) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/Region.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/Region.java index 31439f61e..679c2db52 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/Region.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/Region.java @@ -1,21 +1,8 @@ package org.redcastlemedia.multitallented.civs.regions; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; -import java.util.logging.Level; - -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; +import lombok.Getter; +import lombok.Setter; +import org.bukkit.*; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -28,21 +15,12 @@ import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; import org.redcastlemedia.multitallented.civs.items.UnloadedInventoryHandler; -import org.redcastlemedia.multitallented.civs.towns.GovTypeBuff; -import org.redcastlemedia.multitallented.civs.towns.Government; -import org.redcastlemedia.multitallented.civs.towns.GovernmentManager; -import org.redcastlemedia.multitallented.civs.towns.GovernmentType; -import org.redcastlemedia.multitallented.civs.towns.Town; -import org.redcastlemedia.multitallented.civs.towns.TownManager; +import org.redcastlemedia.multitallented.civs.towns.*; import org.redcastlemedia.multitallented.civs.tutorials.TutorialManager; -import org.redcastlemedia.multitallented.civs.util.CommandUtil; -import org.redcastlemedia.multitallented.civs.util.Constants; -import org.redcastlemedia.multitallented.civs.util.DebugLogger; -import org.redcastlemedia.multitallented.civs.util.OwnershipUtil; -import org.redcastlemedia.multitallented.civs.util.Util; +import org.redcastlemedia.multitallented.civs.util.*; -import lombok.Getter; -import lombok.Setter; +import java.util.*; +import java.util.logging.Level; public class Region { @@ -59,7 +37,7 @@ public class Region { private final int radiusYP; private final int radiusYN; @Getter - private HashMap upkeepHistory = new HashMap<>(); + private final HashMap upkeepHistory = new HashMap<>(); private double exp; @Getter public Map effects; @@ -75,7 +53,7 @@ public class Region { @Getter @Setter private List> missingBlocks = new ArrayList<>(); @Getter - private List chests = new ArrayList<>(); + private final List chests = new ArrayList<>(); @Getter private boolean idle = false; @@ -293,8 +271,8 @@ private boolean addItemCheck(List> itemCheck) { int zMax = (int) location.getZ() + radiusZP; int zMin = (int) location.getZ() - radiusZN; - yMax = yMax > currentWorld.getMaxHeight() ? currentWorld.getMaxHeight() : yMax; - yMin = yMin < 0 ? 0 : yMin; + yMax = Math.min(yMax, currentWorld.getMaxHeight()); + yMin = Math.max(yMin, 0); HashMap maxCheck = new HashMap<>(); for (HashMap tempMap : itemCheck) { @@ -302,7 +280,7 @@ private boolean addItemCheck(List> itemCheck) { if (maxCheck.containsKey(mat)) { maxCheck.put(mat, maxCheck.get(mat) + tempMap.get(mat)); } else { - maxCheck.put(mat, tempMap.get(mat).intValue()); + maxCheck.put(mat, tempMap.get(mat)); } } } @@ -360,7 +338,7 @@ private static RegionPoints addItemCheck(RegionPoints radii, Location location, if (maxCheck.containsKey(mat)) { maxCheck.put(mat, maxCheck.get(mat) + tempMap.get(mat)); } else { - maxCheck.put(mat, tempMap.get(mat).intValue()); + maxCheck.put(mat, tempMap.get(mat)); } } } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionManager.java index 486e129bf..57d2aad39 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionManager.java @@ -1,25 +1,6 @@ package org.redcastlemedia.multitallented.civs.regions; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.UUID; -import java.util.logging.Level; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; +import org.bukkit.*; import org.bukkit.block.Block; import org.bukkit.block.Chest; import org.bukkit.configuration.file.FileConfiguration; @@ -32,8 +13,6 @@ import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.CivsSingleton; import org.redcastlemedia.multitallented.civs.ConfigManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.events.RegionCreatedEvent; @@ -41,36 +20,34 @@ import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.localization.LocaleUtil; import org.redcastlemedia.multitallented.civs.menus.MenuManager; -import org.redcastlemedia.multitallented.civs.regions.effects.ActiveEffect; -import org.redcastlemedia.multitallented.civs.regions.effects.CreateRegionListener; -import org.redcastlemedia.multitallented.civs.regions.effects.DestroyRegionListener; -import org.redcastlemedia.multitallented.civs.regions.effects.RegionCreatedListener; -import org.redcastlemedia.multitallented.civs.regions.effects.WarehouseEffect; -import org.redcastlemedia.multitallented.civs.towns.Government; -import org.redcastlemedia.multitallented.civs.towns.GovernmentManager; -import org.redcastlemedia.multitallented.civs.towns.GovernmentType; -import org.redcastlemedia.multitallented.civs.towns.Town; -import org.redcastlemedia.multitallented.civs.towns.TownManager; -import org.redcastlemedia.multitallented.civs.towns.TownType; +import org.redcastlemedia.multitallented.civs.regions.effects.*; +import org.redcastlemedia.multitallented.civs.towns.*; import org.redcastlemedia.multitallented.civs.tutorials.TutorialManager; import org.redcastlemedia.multitallented.civs.util.CommandUtil; import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.DebugLogger; import org.redcastlemedia.multitallented.civs.util.DiscordUtil; +import java.io.File; +import java.io.IOException; +import java.util.*; +import java.util.logging.Level; + @CivsSingleton(priority = CivsSingleton.SingletonLoadPriority.HIGH) public class RegionManager { - private HashMap> regions = new HashMap<>(); + private final HashMap> regions = new HashMap<>(); protected HashMap regionLocations = new HashMap<>(); private static RegionManager regionManager; - private HashMap createRegionListeners = new HashMap<>(); - private HashMap regionCreatedListenerHashMap = new HashMap<>(); - private HashMap destroyRegionListener = new HashMap<>(); - private HashSet checkedRegions = new HashSet<>(); - private ArrayList needsSaving = new ArrayList<>(); + private final HashMap createRegionListeners = new HashMap<>(); + private final HashMap regionCreatedListenerHashMap = new HashMap<>(); + private final HashMap destroyRegionListener = new HashMap<>(); + private final HashSet checkedRegions = new HashSet<>(); + private final ArrayList needsSaving = new ArrayList<>(); public void reload() { regions.clear(); @@ -171,16 +148,13 @@ public Region getRegionById(String id) { } private void sortRegions(UUID worldName) { - regions.get(worldName).sort(new Comparator() { - @Override - public int compare(Region r1, Region r2) { - if (r1.getLocation().getX() - r1.getRadiusXN() > r2.getLocation().getX() - r2.getRadiusXN()) { - return 1; - } else if (r1.getLocation().getX() - r1.getRadiusXN() < r2.getLocation().getX() - r2.getRadiusXN()) { - return -1; - } - return 0; + regions.get(worldName).sort((r1, r2) -> { + if (r1.getLocation().getX() - r1.getRadiusXN() > r2.getLocation().getX() - r2.getRadiusXN()) { + return 1; + } else if (r1.getLocation().getX() - r1.getRadiusXN() < r2.getLocation().getX() - r2.getRadiusXN()) { + return -1; } + return 0; }); } @@ -277,7 +251,7 @@ public int getCountOfPendingSaves() { } public void saveNextRegion() { - Region r = null; + Region r; if (!needsSaving.isEmpty()) { r = needsSaving.iterator().next(); saveRegionNow(r); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionType.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionType.java index 91fc90632..2cacfc4e2 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionType.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionType.java @@ -2,18 +2,13 @@ import lombok.Getter; import lombok.Setter; - import org.bukkit.block.Biome; +import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.towns.GovTypeBuff; import org.redcastlemedia.multitallented.civs.towns.Government; -import org.redcastlemedia.multitallented.civs.items.CVItem; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; public class RegionType extends CivItem { @@ -27,7 +22,7 @@ public class RegionType extends CivItem { private final List rebuild; private final boolean dailyPeriod; private final HashSet towns; - private List upkeeps; + private final List upkeeps; private final long period; private final Set biomes; @Getter diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionUpkeep.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionUpkeep.java index 8c7144ddc..39603b191 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionUpkeep.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/RegionUpkeep.java @@ -1,12 +1,11 @@ package org.redcastlemedia.multitallented.civs.regions; +import lombok.Getter; +import lombok.Setter; import org.redcastlemedia.multitallented.civs.items.CVItem; import java.util.List; -import lombok.Getter; -import lombok.Setter; - public class RegionUpkeep { private final List> reagents; private final List> inputs; @@ -17,7 +16,7 @@ public class RegionUpkeep { private int powerInput; private int powerOutput; @Getter - private String perm; + private final String perm; @Getter @Setter private String command; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/StructureUtil.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/StructureUtil.java index ec5099a9e..0c6a86563 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/StructureUtil.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/StructureUtil.java @@ -1,12 +1,7 @@ package org.redcastlemedia.multitallented.civs.regions; import lombok.Setter; -import org.bukkit.Bukkit; -import org.bukkit.Color; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Particle; -import org.bukkit.World; +import org.bukkit.*; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.data.BlockData; @@ -244,7 +239,7 @@ private static void setGlass(World world, double x, double y, double z, Map locations; + private final HashMap locations; public BoundingBox() { creationTime = System.currentTimeMillis(); locations = new HashMap<>(); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/AntiCampEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/AntiCampEffect.java index d13673464..6d9211584 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/AntiCampEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/AntiCampEffect.java @@ -116,7 +116,7 @@ public void onDeath(PlayerDeathEvent event) { //if the person hasn't died yet then add to lastDeath if (!lastDeath.containsKey(player.getUniqueId())) { - lastDeath.put(player.getUniqueId(), new ArrayList()); + lastDeath.put(player.getUniqueId(), new ArrayList<>()); lastDeath.get(player.getUniqueId()).add(System.currentTimeMillis()); } else { lastDeath.get(player.getUniqueId()).add(System.currentTimeMillis()); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ArrowTurret.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ArrowTurret.java index 9a7922466..a879a54a6 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ArrowTurret.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ArrowTurret.java @@ -26,7 +26,9 @@ import org.redcastlemedia.multitallented.civs.spells.effects.DamageEffect; import org.redcastlemedia.multitallented.civs.util.Util; -import java.util.*; +import java.util.HashMap; +import java.util.HashSet; +import java.util.UUID; import static org.redcastlemedia.multitallented.civs.util.Util.isLocationWithinSightOfPlayer; @@ -77,7 +79,7 @@ public static void shootArrow(Region r, LivingEntity livingEntity, String vars, return; } //Check if the region has the shoot arrow effect and return arrow velocity - int damage = 1; + int damage; double speed = 0.5; int spread = 12; String[] parts = vars.split("\\."); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/BedEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/BedEffect.java index 3bf637615..9079dcff4 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/BedEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/BedEffect.java @@ -11,7 +11,7 @@ @CivsSingleton public class BedEffect implements RegionCreatedListener { - private static String KEY = "bed"; + private static final String KEY = "bed"; public static void getInstance() { new BedEffect(); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/CommandEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/CommandEffect.java index 4d2267966..1104443cf 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/CommandEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/CommandEffect.java @@ -32,12 +32,7 @@ public void onPlayerEnterRegion(PlayerEnterRegionEvent event) { return; } String command = event.getRegion().getEffects().get(ENTRY_KEY); - Bukkit.getScheduler().runTaskLater(Civs.getInstance(), new Runnable() { - @Override - public void run() { - sendCommand(event.getUuid(), command); - } - }, 1L); + Bukkit.getScheduler().runTaskLater(Civs.getInstance(), () -> sendCommand(event.getUuid(), command), 1L); } @EventHandler(priority = EventPriority.HIGH) @@ -67,12 +62,7 @@ public void onPlayerEnterTown(PlayerEnterTownEvent event) { return; } String command = event.getTownType().getEffects().get(ENTRY_KEY); - Bukkit.getScheduler().runTaskLater(Civs.getInstance(), new Runnable() { - @Override - public void run() { - sendCommand(event.getUuid(), command); - } - }, 1L); + Bukkit.getScheduler().runTaskLater(Civs.getInstance(), () -> sendCommand(event.getUuid(), command), 1L); } @EventHandler(priority = EventPriority.HIGH) diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ConveyorEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ConveyorEffect.java index 9908c2ace..7a6e6c175 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ConveyorEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ConveyorEffect.java @@ -29,16 +29,19 @@ import org.redcastlemedia.multitallented.civs.util.DebugLogger; import org.redcastlemedia.multitallented.civs.util.Util; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; import java.util.logging.Level; @CivsSingleton public class ConveyorEffect implements Listener, RegionCreatedListener { private static ConveyorEffect instance = null; - private HashMap carts = new HashMap<>(); - private HashMap orphanCarts = new HashMap<>(); - private HashMap cacheSpawnPoints = new HashMap<>(); - private HashMap cacheDestinationRegions = new HashMap<>(); + private final HashMap carts = new HashMap<>(); + private final HashMap orphanCarts = new HashMap<>(); + private final HashMap cacheSpawnPoints = new HashMap<>(); + private final HashMap cacheDestinationRegions = new HashMap<>(); private boolean disabled = false; public static String KEY = "conveyor"; @@ -200,7 +203,6 @@ public void onCustomEvent(RegionTickEvent event) { } catch (Exception e) { Civs.logger.log(Level.WARNING, "Exception from offline conveyor: ", e); } - return; } else { if (orphanCarts.containsKey(r)) { StorageMinecart sm = orphanCarts.get(r); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ForSaleEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ForSaleEffect.java index 238ce656e..630f4c349 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ForSaleEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/ForSaleEffect.java @@ -6,7 +6,6 @@ import org.bukkit.event.Listener; import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.CivsSingleton; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/HuntEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/HuntEffect.java index daffa623d..5e232fef1 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/HuntEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/HuntEffect.java @@ -1,12 +1,8 @@ package org.redcastlemedia.multitallented.civs.regions.effects; -import java.util.HashMap; -import java.util.UUID; - import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; -import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.BlockState; @@ -32,6 +28,9 @@ import org.redcastlemedia.multitallented.civs.towns.TownManager; import org.redcastlemedia.multitallented.civs.util.Util; +import java.util.HashMap; +import java.util.UUID; + @CivsSingleton public class HuntEffect implements Listener, CreateRegionListener { public static final String KEY = "hunt"; @@ -84,7 +83,7 @@ private Player hasValidSign(Location l, UUID uuid) { Sign sign = (Sign) state; - Player targetPlayer = null; + Player targetPlayer; try { targetPlayer = Bukkit.getPlayer(sign.getLine(0)); } catch (Exception e) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/IntruderEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/IntruderEffect.java index d8e67f0ea..7e8850a70 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/IntruderEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/IntruderEffect.java @@ -35,9 +35,7 @@ public static void getInstance() { @EventHandler public void onPlayerQuit(PlayerQuitEvent event) { - if (lastMessage.containsKey(event.getPlayer().getName())) { - lastMessage.remove(event.getPlayer().getName()); - } + lastMessage.remove(event.getPlayer().getName()); } @EventHandler diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/JammerEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/JammerEffect.java index f29f51871..dc33d9e6a 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/JammerEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/JammerEffect.java @@ -11,10 +11,10 @@ import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.CivsSingleton; import org.redcastlemedia.multitallented.civs.ConfigManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.items.ItemManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.regions.RegionType; @@ -30,7 +30,7 @@ public class JammerEffect implements Listener, RegionCreatedListener { public static String KEY = "jammer"; - private static HashMap cooldowns = new HashMap<>(); + private static final HashMap cooldowns = new HashMap<>(); public static void getInstance() { Bukkit.getPluginManager().registerEvents(new JammerEffect(), Civs.getInstance()); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/MaxPowerEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/MaxPowerEffect.java index a949adb74..18397b756 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/MaxPowerEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/MaxPowerEffect.java @@ -1,7 +1,5 @@ package org.redcastlemedia.multitallented.civs.regions.effects; -import org.bukkit.Bukkit; -import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.CivsSingleton; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/PotionAreaEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/PotionAreaEffect.java index 2838b422e..2bf70c832 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/PotionAreaEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/PotionAreaEffect.java @@ -1,8 +1,5 @@ package org.redcastlemedia.multitallented.civs.regions.effects; -import java.util.HashMap; -import java.util.UUID; - import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -15,12 +12,14 @@ import org.redcastlemedia.multitallented.civs.events.PlayerInTownEvent; import org.redcastlemedia.multitallented.civs.events.RegionDestroyedEvent; import org.redcastlemedia.multitallented.civs.events.TownDestroyedEvent; -import org.redcastlemedia.multitallented.civs.regions.Region; + +import java.util.HashMap; +import java.util.UUID; @CivsSingleton public class PotionAreaEffect implements Listener { public static String KEY = "potion"; - private static HashMap cooldowns = new HashMap<>(); + private static final HashMap cooldowns = new HashMap<>(); public static void getInstance() { Bukkit.getPluginManager().registerEvents(new PotionAreaEffect(), Civs.getInstance()); @@ -116,7 +115,7 @@ private void applyPotion(String potionString, UUID uuid, String typeName, boolea return; } if (cooldown > 0) { - cooldowns.put(key, System.currentTimeMillis() + (cooldown * 1000)); + cooldowns.put(key, System.currentTimeMillis() + (cooldown * 1000L)); } PotionEffect potionEffect = new PotionEffect(potionType, duration * 20, amplifier); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/RaidPortEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/RaidPortEffect.java index a07fd7fbc..8b6a223b2 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/RaidPortEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/RaidPortEffect.java @@ -1,17 +1,6 @@ package org.redcastlemedia.multitallented.civs.regions.effects; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.UUID; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; +import org.bukkit.*; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.BlockState; @@ -44,12 +33,14 @@ import org.redcastlemedia.multitallented.civs.towns.TownType; import org.redcastlemedia.multitallented.civs.util.DiscordUtil; +import java.util.*; + @CivsSingleton public class RaidPortEffect implements Listener, CreateRegionListener { public static String KEY = "raid_port"; public static String CHARGING_KEY = "charging_raid_port"; - private HashMap raidLocations = new HashMap<>(); - private HashMap cooldowns = new HashMap<>(); + private final HashMap raidLocations = new HashMap<>(); + private final HashMap cooldowns = new HashMap<>(); public static Set portedTo = new HashSet<>(); public static void getInstance() { @@ -256,9 +247,7 @@ public void onPlayerInRegion(PlayerInRegionEvent event) { } if (!isValidTeleportTarget(targetLoc, false)) { - if (raidLocations.containsKey(r)) { - raidLocations.remove(r); - } + raidLocations.remove(r); l.getBlock().getRelative(BlockFace.UP).breakNaturally(); player.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslation(player, "raid-target-blocked")); @@ -304,8 +293,8 @@ private Location findSafeTeleportTarget(Region region) { int yMin = (int) location.getY() - region.getRadiusYN(); int zMax = (int) location.getZ() + 1 + region.getRadiusZP(); int zMin = (int) location.getZ() - region.getRadiusZN(); - yMax = yMax > currentWorld.getMaxHeight() ? currentWorld.getMaxHeight() : yMax; - yMin = yMin < 0 ? 0 : yMin; + yMax = Math.min(yMax, currentWorld.getMaxHeight()); + yMin = Math.max(yMin, 0); //Top top: { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/RepairEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/RepairEffect.java index 2a922da0b..0014b5f5e 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/RepairEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/RepairEffect.java @@ -131,7 +131,7 @@ public static int getRepairCost(Material mat, double damage) { case IRON_SHOVEL: case DIAMOND_SHOVEL: case NETHERITE_SHOVEL: - amt = (int) Math.ceil(damage / mat.getMaxDurability() * 1.0D); + amt = (int) Math.ceil(damage / mat.getMaxDurability()); return Math.max(amt, 1); case WOODEN_HOE: case WOODEN_SWORD: diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/SiegeEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/SiegeEffect.java index 32e728f95..d10f71574 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/SiegeEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/SiegeEffect.java @@ -1,6 +1,5 @@ package org.redcastlemedia.multitallented.civs.regions.effects; -import java.util.Map; import java.util.Set; import java.util.UUID; @@ -25,7 +24,6 @@ import org.redcastlemedia.multitallented.civs.events.RegionTickEvent; import org.redcastlemedia.multitallented.civs.events.RenameTownEvent; import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; @@ -33,7 +31,6 @@ import org.redcastlemedia.multitallented.civs.towns.Town; import org.redcastlemedia.multitallented.civs.towns.TownManager; import org.redcastlemedia.multitallented.civs.towns.TownType; -import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.DiscordUtil; @CivsSingleton @@ -155,27 +152,18 @@ public void onCustomEvent(RegionTickEvent event) { l.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, loc, 2); l.getWorld().playSound(loc, Sound.ENTITY_GENERIC_EXPLODE, 2, 1); - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - loc1.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, loc1, 2); - loc1.getWorld().playSound(loc1, Sound.ENTITY_GENERIC_EXPLODE, 2, 1); - } + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> { + loc1.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, loc1, 2); + loc1.getWorld().playSound(loc1, Sound.ENTITY_GENERIC_EXPLODE, 2, 1); }, 5L); - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - loc2.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, loc2, 2); - loc2.getWorld().playSound(loc2, Sound.ENTITY_GENERIC_EXPLODE, 2, 1); - } + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> { + loc2.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, loc2, 2); + loc2.getWorld().playSound(loc2, Sound.ENTITY_GENERIC_EXPLODE, 2, 1); }, 10L); - Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - loc3.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, loc3, 2); - loc3.getWorld().playSound(loc3, Sound.ENTITY_GENERIC_EXPLODE, 2, 1); - } + Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> { + loc3.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, loc3, 2); + loc3.getWorld().playSound(loc3, Sound.ENTITY_GENERIC_EXPLODE, 2, 1); }, 15L); reducePowerAndExchangeKarma(region, damage, town); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/TemporaryEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/TemporaryEffect.java index 2cc1608b9..b93b68de0 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/TemporaryEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/TemporaryEffect.java @@ -12,7 +12,7 @@ @CivsSingleton public class TemporaryEffect implements Listener { public static String KEY = "temporary"; - private HashMap created = new HashMap<>(); + private final HashMap created = new HashMap<>(); public static void getInstance() { Bukkit.getPluginManager().registerEvents(new TemporaryEffect(), Civs.getInstance()); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/VillagerEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/VillagerEffect.java index f8b1bc21f..1704d7419 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/VillagerEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/VillagerEffect.java @@ -16,12 +16,10 @@ import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.CivsSingleton; import org.redcastlemedia.multitallented.civs.ConfigManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; -import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.events.RegionTickEvent; import org.redcastlemedia.multitallented.civs.items.ItemManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.regions.RegionType; @@ -29,13 +27,9 @@ import org.redcastlemedia.multitallented.civs.towns.Town; import org.redcastlemedia.multitallented.civs.towns.TownManager; import org.redcastlemedia.multitallented.civs.towns.TownType; -import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.Util; import java.util.HashMap; -import java.util.Map; -import java.util.UUID; -import java.util.function.Predicate; @CivsSingleton public class VillagerEffect implements CreateRegionListener, DestroyRegionListener, Listener, RegionCreatedListener { @@ -74,7 +68,7 @@ public void regionCreatedHandler(Region region) { if (villagerCountString != null && !villagerCountString.isEmpty()) { try { villagerCount = Integer.parseInt(villagerCountString); - } catch (Exception e) { + } catch (Exception ignored) { } } @@ -117,7 +111,7 @@ public void destroyRegionHandler(Region region) { if (villagerCountString != null && !villagerCountString.isEmpty()) { try { villagerCount = Integer.parseInt(villagerCountString); - } catch (Exception e) { + } catch (Exception ignored) { } } @@ -134,7 +128,7 @@ static Villager spawnVillager(Region region) { return null; } // Don't spawn a villager if there aren't players in the town - if (!CommonScheduler.getLastTown().values().contains(town)) { + if (!CommonScheduler.getLastTown().containsValue(town)) { return null; } long cooldownTime = ConfigManager.getInstance().getVillagerCooldown() * 1000; @@ -143,7 +137,7 @@ static Villager spawnVillager(Region region) { return null; } - int villagerCount = 0; + int villagerCount; TownType townType = (TownType) ItemManager.getInstance().getItemType(town.getType()); int radius = townType.getBuildRadius(); int radiusY = townType.getBuildRadiusY(); @@ -155,7 +149,7 @@ static Villager spawnVillager(Region region) { if (villagerCountString != null && !villagerCountString.isEmpty()) { try { regionVillagerCount = Integer.parseInt(villagerCountString); - } catch (Exception e) { + } catch (Exception ignored) { } } @@ -163,21 +157,11 @@ static Villager spawnVillager(Region region) { Math.max(region.getRadiusXN(), region.getRadiusXP()), Math.max(region.getRadiusYN(), region.getRadiusYP()), Math.max(region.getRadiusZN(), region.getRadiusZP()), - new Predicate() { - @Override - public boolean test(Entity entity) { - return entity instanceof Villager; - } - }).size() >= regionVillagerCount) { + entity -> entity instanceof Villager).size() >= regionVillagerCount) { return null; } villagerCount = town.getLocation().getWorld().getNearbyEntities(town.getLocation(), radius, radiusY, radius, - new Predicate() { - @Override - public boolean test(Entity entity) { - return entity instanceof Villager; - } - }).size(); + entity -> entity instanceof Villager).size(); townCooldowns.put(town.getName(), System.currentTimeMillis()); if (town.getVillagers() <= villagerCount) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/WarehouseEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/WarehouseEffect.java index dd5958088..d36213be0 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/WarehouseEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/regions/effects/WarehouseEffect.java @@ -1,12 +1,5 @@ package org.redcastlemedia.multitallented.civs.regions.effects; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.UUID; - import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -21,7 +14,6 @@ import org.redcastlemedia.multitallented.civs.CivsSingleton; import org.redcastlemedia.multitallented.civs.ConfigManager; import org.redcastlemedia.multitallented.civs.events.RegionDestroyedEvent; -import org.redcastlemedia.multitallented.civs.ConfigManager; import org.redcastlemedia.multitallented.civs.events.RegionTickEvent; import org.redcastlemedia.multitallented.civs.items.CVInventory; import org.redcastlemedia.multitallented.civs.items.CVItem; @@ -36,12 +28,14 @@ import org.redcastlemedia.multitallented.civs.util.DebugLogger; import org.redcastlemedia.multitallented.civs.util.Util; +import java.util.*; + @CivsSingleton public class WarehouseEffect implements Listener, RegionCreatedListener { public static final String KEY = "warehouse"; public Map> invs = new HashMap<>(); public Map> availableItems = new HashMap<>(); - private Map cooldowns = new HashMap<>(); + private final Map cooldowns = new HashMap<>(); private static WarehouseEffect instance = null; public static WarehouseEffect getInstance() { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/scheduler/CommonScheduler.java b/src/main/java/org/redcastlemedia/multitallented/civs/scheduler/CommonScheduler.java index 51c5bf65d..fa06a05f4 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/scheduler/CommonScheduler.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/scheduler/CommonScheduler.java @@ -262,8 +262,7 @@ private void exitTown(Player player, Civilian civilian, Town town, TownType town private void playerInRegion(Player player) { RegionManager regionManager = RegionManager.getInstance(); - ArrayList containedRegions = new ArrayList<>(); - containedRegions.addAll(regionManager.getRegionEffectsAt(player.getLocation(), 0)); + ArrayList containedRegions = new ArrayList<>(regionManager.getRegionEffectsAt(player.getLocation(), 0)); for (Region region : containedRegions) { RegionType regionType = (RegionType) ItemManager.getInstance().getItemType(region.getType()); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/scheduler/DailyScheduler.java b/src/main/java/org/redcastlemedia/multitallented/civs/scheduler/DailyScheduler.java index 8e1fba48a..891b44254 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/scheduler/DailyScheduler.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/scheduler/DailyScheduler.java @@ -5,7 +5,6 @@ import java.util.HashSet; import java.util.Random; import java.util.UUID; -import java.util.logging.Level; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; @@ -112,7 +111,7 @@ private void doVotes() { government.getGovernmentType() != GovernmentType.CAPITALISM) { continue; } - long daysBetweenVotes = ConfigManager.getInstance().getDaysBetweenVotes() * 86400000; + long daysBetweenVotes = ConfigManager.getInstance().getDaysBetweenVotes() * 86400000L; if (town.getLastVote() > System.currentTimeMillis() - daysBetweenVotes) { continue; } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/Spell.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/Spell.java index c41836957..1cee8bfd9 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/Spell.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/Spell.java @@ -1,22 +1,16 @@ package org.redcastlemedia.multitallented.civs.spells; +import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.entity.AbstractArrow; -import org.bukkit.entity.Arrow; -import org.bukkit.entity.Entity; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.bukkit.entity.Projectile; +import org.bukkit.entity.*; import org.bukkit.util.Vector; import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.spells.civstate.CivState; import org.redcastlemedia.multitallented.civs.spells.effects.Effect; @@ -24,9 +18,10 @@ import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; -import java.util.*; - -import lombok.Getter; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; public class Spell { private final Player caster; @@ -328,23 +323,14 @@ private boolean createDamageListener(ConfigurationSection yieldSection, String k continue; } if (ticks > 0) { - durationId = Bukkit.getScheduler().runTaskLater(Civs.getInstance(), new Runnable() { - @Override - public void run() { - SpellListener.getInstance().removeDamageListener((LivingEntity) target); - finalChampion.getStates().remove(finalName + "." + finalKey); - } + durationId = Bukkit.getScheduler().runTaskLater(Civs.getInstance(), () -> { + SpellListener.getInstance().removeDamageListener((LivingEntity) target); + finalChampion.getStates().remove(finalName + "." + finalKey); }, delay + ticks).getTaskId(); } if (delayId < -1) { - Bukkit.getScheduler().runTaskLater(Civs.getInstance(), new Runnable() { - @Override - public void run() { - SpellListener.getInstance().addDamageListener((LivingEntity) target, finalLevel, - damageListenerSection.getConfigurationSection("section"), spell, finalCaster, key, mappedTargets); - - } - }, delay); + Bukkit.getScheduler().runTaskLater(Civs.getInstance(), () -> SpellListener.getInstance().addDamageListener((LivingEntity) target, finalLevel, + damageListenerSection.getConfigurationSection("section"), spell, finalCaster, key, mappedTargets), delay); } else { SpellListener.getInstance().addDamageListener((LivingEntity) target, level, damageListenerSection.getConfigurationSection("section"), spell, caster, key, mappedTargets); @@ -386,37 +372,24 @@ private boolean createDurationYield(boolean delayed, HashMap> map } } if (period > 0) { - periodId = Bukkit.getScheduler().scheduleSyncRepeatingTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - useAbility(finalMappedTargets, true, durationSectionEffects); - } - }, delay, period); + periodId = Bukkit.getScheduler().scheduleSyncRepeatingTask(Civs.getInstance(), () -> useAbility(finalMappedTargets, true, durationSectionEffects), delay, period); } if (delay > 0 && period < 1) { - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - useAbility(finalMappedTargets, true, durationSectionEffects); - } - }, delay + ticks); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> useAbility(finalMappedTargets, true, durationSectionEffects), delay + ticks); } else { useAbility(mappedTargets, true, durationSectionEffects); } final int finalPeriodId = periodId; if (ticks > 0) { - durationId = Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - removeAbility(finalMappedTargets, durationAbilities); - Bukkit.getScheduler().cancelTask(finalPeriodId); - Civilian champion = CivilianManager.getInstance().getCivilian(finalCaster.getUniqueId()); - CivState state = champion.getStates().get(finalName + "." + finalKey); - if (state != null) { - state.remove(finalCaster); - champion.getStates().remove(finalName + "." + finalKey); - } + durationId = Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> { + removeAbility(finalMappedTargets, durationAbilities); + Bukkit.getScheduler().cancelTask(finalPeriodId); + Civilian champion = CivilianManager.getInstance().getCivilian(finalCaster.getUniqueId()); + CivState state = champion.getStates().get(finalName + "." + finalKey); + if (state != null) { + state.remove(finalCaster); + champion.getStates().remove(finalName + "." + finalKey); } }, delay + ticks); } @@ -517,7 +490,7 @@ protected void createVariables(HashMap> mappedTargets, Configurat Effect component; boolean isSection = varValueString.equals(SpellConstants.NOT_A_STRING) || varValueString.contains("MemorySection"); String targetKey = SpellConstants.SELF; - ConfigurationSection configurationSection = null; + ConfigurationSection configurationSection; if (isSection) { configurationSection = varSection.getConfigurationSection(key); String tempTarget = configurationSection.getString(SpellConstants.TARGET, SpellConstants.NOT_A_STRING); @@ -633,6 +606,7 @@ private static String replaceAllVariables(String input, int level, Object target if (spell != null && target != null) { input = ""; Map>> abilityVariables = spell.getAbilityVariables(); + StringBuilder inputBuilder = new StringBuilder(input); for (int i = 0; i < inputParts.length; i++) { if (inputParts[i].contains("#")) { Map>> variables = new HashMap<>(abilityVariables); @@ -657,8 +631,9 @@ private static String replaceAllVariables(String input, int level, Object target inputParts[i] = "0"; } } - input += inputParts[i]; + inputBuilder.append(inputParts[i]); } + input = inputBuilder.toString(); } return input; } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellListener.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellListener.java index f42d06338..2a16e0def 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellListener.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellListener.java @@ -2,7 +2,6 @@ import org.bukkit.Bukkit; import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.entity.AbstractArrow; import org.bukkit.entity.Arrow; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; @@ -34,8 +33,8 @@ @CivsSingleton public class SpellListener implements Listener { - private final HashMap damageListeners = new HashMap(); - private final HashMap projectileListeners = new HashMap(); + private final HashMap damageListeners = new HashMap<>(); + private final HashMap projectileListeners = new HashMap<>(); public static SpellListener spellListener = null; public SpellListener() { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellType.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellType.java index 59da25400..e08398bfe 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellType.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellType.java @@ -1,49 +1,27 @@ package org.redcastlemedia.multitallented.civs.spells; +import lombok.Getter; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; -import org.redcastlemedia.multitallented.civs.Civs; +import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.CivItem; -import org.redcastlemedia.multitallented.civs.spells.effects.CancelEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.CivPotionEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.CivStateEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.CleanseEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.CooldownEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.DamageEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.Effect; -import org.redcastlemedia.multitallented.civs.spells.effects.EffectEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.ExemptionEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.FallEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.HealEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.IgniteEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.ItemEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.ManaEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.ParticleEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.SoundEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.SpellEffectConstants; -import org.redcastlemedia.multitallented.civs.spells.effects.StaminaEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.TeleportEffect; -import org.redcastlemedia.multitallented.civs.spells.effects.VelocityEffect; -import org.redcastlemedia.multitallented.civs.spells.targets.NearbyTarget; +import org.redcastlemedia.multitallented.civs.spells.effects.*; import org.redcastlemedia.multitallented.civs.spells.targets.BlockTarget; +import org.redcastlemedia.multitallented.civs.spells.targets.NearbyTarget; import org.redcastlemedia.multitallented.civs.spells.targets.Target; import org.redcastlemedia.multitallented.civs.spells.targets.VectorTarget; -import org.redcastlemedia.multitallented.civs.items.CVItem; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.logging.Level; - -import lombok.Getter; public class SpellType extends CivItem { @Getter private final Map allowedActions = new HashMap<>(); @Getter - private int expPerUse = 0; + private int expPerUse; public SpellType(List reqs, @@ -89,12 +67,13 @@ public static Target getTarget(String type, int level, Player caster, Spell spell) { - if (type.equals("vector")) { - return new VectorTarget(spell, key, caster, level, config); - } else if (type.equals("nearby")) { - return new NearbyTarget(spell, key, caster, level, config); - } else if (type.equals("block")) { - return new BlockTarget(spell, key, caster, level, config); + switch (type) { + case "vector": + return new VectorTarget(spell, key, caster, level, config); + case "nearby": + return new NearbyTarget(spell, key, caster, level, config); + case "block": + return new BlockTarget(spell, key, caster, level, config); } return null; } @@ -109,42 +88,43 @@ public static Effect getEffect(String type, if (type.contains("^")) { type = type.split("\\^")[0]; } - if (type.equals(SpellEffectConstants.DAMAGE)) { - return new DamageEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.COOLDOWN)) { - return new CooldownEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.POTION)) { - return new CivPotionEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.STAMINA)) { - return new StaminaEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.VELOCITY)) { - return new VelocityEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.CANCEL)) { - return new CancelEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.SOUND)) { - return new SoundEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.PARTICLE)) { - return new ParticleEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.FALL)) { - return new FallEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.HEAL)) { - return new HealEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.IGNITE)) { - return new IgniteEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.TELEPORT)) { - return new TeleportEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.MANA)) { - return new ManaEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.ITEM)) { - return new ItemEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.EXEMPTION)) { - return new ExemptionEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.CLEANSE)) { - return new CleanseEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.CIVSTATE)) { - return new CivStateEffect(spell, key, target, caster, level, config); - } else if (type.equals(SpellEffectConstants.EFFECT)) { - return new EffectEffect(spell, key, target, caster, level, config); + switch (type) { + case SpellEffectConstants.DAMAGE: + return new DamageEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.COOLDOWN: + return new CooldownEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.POTION: + return new CivPotionEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.STAMINA: + return new StaminaEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.VELOCITY: + return new VelocityEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.CANCEL: + return new CancelEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.SOUND: + return new SoundEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.PARTICLE: + return new ParticleEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.FALL: + return new FallEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.HEAL: + return new HealEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.IGNITE: + return new IgniteEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.TELEPORT: + return new TeleportEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.MANA: + return new ManaEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.ITEM: + return new ItemEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.EXEMPTION: + return new ExemptionEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.CLEANSE: + return new CleanseEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.CIVSTATE: + return new CivStateEffect(spell, key, target, caster, level, config); + case SpellEffectConstants.EFFECT: + return new EffectEffect(spell, key, target, caster, level, config); } return null; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellUtil.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellUtil.java index 986fa3021..675737985 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellUtil.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/SpellUtil.java @@ -11,7 +11,6 @@ import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.util.Util; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/civstate/CivState.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/civstate/CivState.java index ecf64ebd8..83c5da2f2 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/civstate/CivState.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/civstate/CivState.java @@ -1,6 +1,5 @@ package org.redcastlemedia.multitallented.civs.spells.civstate; -import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CancelEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CancelEffect.java index ef4126afd..cd7f1379e 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CancelEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CancelEffect.java @@ -2,14 +2,11 @@ import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.entity.Projectile; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.spells.Spell; import org.redcastlemedia.multitallented.civs.spells.SpellConstants; -import org.redcastlemedia.multitallented.civs.spells.SpellListener; import org.redcastlemedia.multitallented.civs.spells.civstate.CivState; import java.util.ArrayList; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CivPotionEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CivPotionEffect.java index 0915db42f..d9b499b75 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CivPotionEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CivPotionEffect.java @@ -93,13 +93,10 @@ public void apply() { final Civilian champion = champion1; final String stateName = getSpell().getType() + "." + super.getKey(); - int durationId = Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - CivState cState = champion.getStates().get(stateName); - if (cState != null) { - cState.remove(livingEntity); - } + int durationId = Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> { + CivState cState = champion.getStates().get(stateName); + if (cState != null) { + cState.remove(livingEntity); } }, this.ticks); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CivStateEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CivStateEffect.java index c4fad6ffa..a9009eea5 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CivStateEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CivStateEffect.java @@ -54,12 +54,7 @@ public void apply() { variables.put(builtInCivState.name(), true); CivState civState = new CivState(getSpell(), super.getKey(), -1, -1, (String) null, variables); if (duration > 0) { - cancelTaskId = Bukkit.getScheduler().runTaskLater(Civs.getInstance(), new Runnable() { - @Override - public void run() { - civState.remove(player); - } - }, this.duration / 50).getTaskId(); + cancelTaskId = Bukkit.getScheduler().runTaskLater(Civs.getInstance(), () -> civState.remove(player), this.duration / 50).getTaskId(); } civState.setDurationId(cancelTaskId); civilian.getStates().put(stateName, civState); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CooldownEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CooldownEffect.java index 1d6b38ff7..e2e12532d 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CooldownEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/CooldownEffect.java @@ -10,7 +10,6 @@ import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.spells.Spell; import org.redcastlemedia.multitallented.civs.spells.SpellConstants; @@ -150,7 +149,7 @@ public HashMap getVariables(Object target, Entity origin, int le return returnMap; } Object rawDuration = state.getSpell().getAbilityVariables().get(SpellEffectConstants.COOLDOWN); - if (rawDuration == null || !(rawDuration instanceof Long)) { + if (!(rawDuration instanceof Long)) { if (!this.silent) { player.sendMessage(ChatColor.RED + Civs.getPrefix() + " " + getSpell().getType() + " has an indefinite cooldown"); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/IgniteEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/IgniteEffect.java index 32a76ea51..f5077c211 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/IgniteEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/IgniteEffect.java @@ -75,16 +75,11 @@ public void apply() { state.remove(champion1); champion1.getStates().remove(spell.getType() + "." + key); } - HashMap variables = new HashMap(); + HashMap variables = new HashMap<>(); final Civilian champion = champion1; final String stateName = spell.getType() + "." + key; - int durationId = Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - champion.getStates().remove(stateName); - } - }, this.ticks); + int durationId = Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> champion.getStates().remove(stateName), this.ticks); if (config != null) { state = new CivState(spell, key, durationId, -1, config, variables); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/SoundEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/SoundEffect.java index 8d09eae6d..81a54a60c 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/SoundEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/SoundEffect.java @@ -43,7 +43,7 @@ public boolean meetsRequirement() { } public void apply() { Object target = getTarget(); - Location location = null; + Location location; if (target instanceof LivingEntity) { LivingEntity livingEntity = (LivingEntity) target; location = livingEntity.getLocation(); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/TeleportEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/TeleportEffect.java index 738076b8b..a71e73468 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/TeleportEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/TeleportEffect.java @@ -5,7 +5,6 @@ import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.spells.Spell; import org.redcastlemedia.multitallented.civs.spells.SpellConstants; @@ -14,7 +13,7 @@ public class TeleportEffect extends Effect { private String target = "self"; - private boolean setPos = false; + private boolean setPos; private boolean other = false; private double x = 0,y = 0,z = 0; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/VelocityEffect.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/VelocityEffect.java index df3c1d015..90f51fe78 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/VelocityEffect.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/VelocityEffect.java @@ -60,7 +60,7 @@ public boolean meetsRequirement() { return true; } if (livingEntity instanceof Player) { - ((Player) livingEntity).sendMessage( + livingEntity.sendMessage( ChatColor.RED + Civs.getPrefix() + ((Player) livingEntity).getDisplayName() + " isn't moving fast enough"); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/FairyWings.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/FairyWings.java index 9dee96416..88edd6dc1 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/FairyWings.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/FairyWings.java @@ -1,14 +1,12 @@ package org.redcastlemedia.multitallented.civs.spells.effects.particles; import org.bukkit.Location; -import org.bukkit.entity.LivingEntity; -import org.bukkit.util.Vector; import org.redcastlemedia.multitallented.civs.spells.effects.ParticleEffect; public class FairyWings extends CivParticleEffect { boolean x = true; boolean o = false; - private boolean[][] shape = { + private final boolean[][] shape = { {o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o}, {o, x, x, x, x, o, o, o, o, o, o, o, x, x, x, x, o, o}, {o, o, x, x, x, x, x, o, o, o, x, x, x, x, x, o, o, o}, diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/Helix.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/Helix.java index b4301ad3b..a9c3a99d5 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/Helix.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/Helix.java @@ -1,7 +1,6 @@ package org.redcastlemedia.multitallented.civs.spells.effects.particles; import org.bukkit.Location; -import org.bukkit.entity.LivingEntity; import org.bukkit.util.Vector; import org.redcastlemedia.multitallented.civs.spells.effects.ParticleEffect; diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/Spider.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/Spider.java index 5b6ca0e60..d65bf0b91 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/Spider.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/effects/particles/Spider.java @@ -6,7 +6,7 @@ public class Spider extends CivParticleEffect { boolean x = true; boolean o = false; - private boolean[][] shape = { + private final boolean[][] shape = { {o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o, o}, {o, x, x, x, x, o, o, o, o, o, o, o, x, x, x, x, o, o}, {o, o, o, o, o, x, x, o, o, o, x, x, o, o, o, o, o, o}, diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/targets/Target.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/targets/Target.java index 9d4b78529..77772b164 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/targets/Target.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/targets/Target.java @@ -3,19 +3,10 @@ import org.bukkit.Location; import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.redcastlemedia.multitallented.civs.civilians.Civilian; -import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.spells.Spell; import org.redcastlemedia.multitallented.civs.spells.SpellComponent; -import org.redcastlemedia.multitallented.civs.spells.civstate.BuiltInCivState; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; import java.util.Set; /** diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/spells/targets/VectorTarget.java b/src/main/java/org/redcastlemedia/multitallented/civs/spells/targets/VectorTarget.java index addff3f96..841a1b849 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/spells/targets/VectorTarget.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/spells/targets/VectorTarget.java @@ -26,7 +26,7 @@ public VectorTarget(Spell spell, @Override public Set getTargets() { - Set returnSet = new HashSet(); + Set returnSet = new HashSet<>(); int level = getLevel(); ConfigurationSection config = getConfig(); Entity origin = getOrigin(); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/towns/GovernmentManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/towns/GovernmentManager.java index 3f46487c0..aa7f32970 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/towns/GovernmentManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/towns/GovernmentManager.java @@ -1,15 +1,5 @@ package org.redcastlemedia.multitallented.civs.towns; -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.UUID; -import java.util.logging.Level; -import java.util.regex.Pattern; - import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.configuration.ConfigurationSection; @@ -19,12 +9,12 @@ import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.CivsSingleton; import org.redcastlemedia.multitallented.civs.ConfigManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.ai.AIManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.items.CVItem; +import org.redcastlemedia.multitallented.civs.localization.LocaleConstants; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.FallbackConfigUtil; import org.redcastlemedia.multitallented.civs.util.Util; @@ -32,10 +22,15 @@ import org.reflections.ReflectionsException; import org.reflections.scanners.ResourcesScanner; +import java.io.File; +import java.util.*; +import java.util.logging.Level; +import java.util.regex.Pattern; + @CivsSingleton(priority = CivsSingleton.SingletonLoadPriority.HIGH) public class GovernmentManager { private static GovernmentManager instance = null; - private HashMap governments = new HashMap<>(); + private final HashMap governments = new HashMap<>(); public static GovernmentManager getInstance() { if (instance == null) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/towns/RingBuilder.java b/src/main/java/org/redcastlemedia/multitallented/civs/towns/RingBuilder.java index f03a6794a..531866923 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/towns/RingBuilder.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/towns/RingBuilder.java @@ -1,24 +1,23 @@ package org.redcastlemedia.multitallented.civs.towns; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; -import org.bukkit.block.Block; import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.ConfigManager; import org.redcastlemedia.multitallented.civs.items.ItemManager; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + public class RingBuilder { private int x = 0; private int z = 0; private static final int Y_LEVEL = 80; private final Town town; - private Set locations = new HashSet<>(); + private final Set locations = new HashSet<>(); public RingBuilder(Town town) { this.town = town; @@ -119,15 +118,8 @@ public void destroyRing(boolean destroyAll, boolean useGravel) { } Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), - new Runnable() { - - @Override - public void run() { - removeRing(loc, srType.getBuildRadius(), finalUseGravel); - } - - }, delay); - delay += townType.getBuildRadius() * 2; + () -> removeRing(loc, srType.getBuildRadius(), finalUseGravel), delay); + delay += townType.getBuildRadius() * 2L; } } @@ -148,7 +140,7 @@ private void removeRing(final Location l, final int radius, boolean setGravel) { x = 0; z = 0; int baseY = l.getWorld().getHighestBlockAt(l).getY(); - baseY = baseY < 64 ? 64 : baseY; + baseY = Math.max(baseY, 64); baseY = baseY + Y_LEVEL > l.getWorld().getMaxHeight() ? l.getWorld().getMaxHeight() - 1 : baseY + Y_LEVEL; final int yL = baseY; final Material material = ConfigManager.getInstance().getTownRingMat(); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/towns/Town.java b/src/main/java/org/redcastlemedia/multitallented/civs/towns/Town.java index e1de6a64c..62b08aa9b 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/towns/Town.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/towns/Town.java @@ -1,15 +1,7 @@ package org.redcastlemedia.multitallented.civs.towns; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; - +import lombok.Getter; +import lombok.Setter; import org.bukkit.Location; import org.redcastlemedia.multitallented.civs.alliances.Alliance; import org.redcastlemedia.multitallented.civs.alliances.AllianceManager; @@ -21,8 +13,7 @@ import org.redcastlemedia.multitallented.civs.regions.RegionType; import org.redcastlemedia.multitallented.civs.util.Constants; -import lombok.Getter; -import lombok.Setter; +import java.util.*; public class Town { @Getter @Setter @@ -30,12 +21,12 @@ public class Town { private int maxPower; private int power; - private Location location; + private final Location location; private String name; - private HashMap people; + private final HashMap people; private int housing; private ArrayList bounties = new ArrayList<>(); - private List allyInvites = new ArrayList<>(); + private final List allyInvites = new ArrayList<>(); private List childLocations = new ArrayList<>(); @Getter @Setter private HashMap effects = new HashMap<>(); @@ -73,7 +64,7 @@ public class Town { private HashMap idiocracyScore = new HashMap<>(); @Getter - private HashSet revolt = new HashSet<>(); + private final HashSet revolt = new HashSet<>(); public Town(String name, String type, Location location, HashMap people, int power, int maxPower, int housing, int villagers, long lastDisable) { @@ -198,14 +189,11 @@ public void sortBounties() { if (bounties.size() < 2) { return; } - Collections.sort(bounties, new Comparator() { - @Override - public int compare(Bounty o1, Bounty o2) { - if (o1.getAmount() == o2.getAmount()) { - return 0; - } - return o1.getAmount() > o2.getAmount() ? 1 : -1; + bounties.sort((o1, o2) -> { + if (o1.getAmount() == o2.getAmount()) { + return 0; } + return o1.getAmount() > o2.getAmount() ? 1 : -1; }); } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/towns/TownManager.java b/src/main/java/org/redcastlemedia/multitallented/civs/towns/TownManager.java index 9a23a27e6..a4f31db03 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/towns/TownManager.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/towns/TownManager.java @@ -13,13 +13,13 @@ import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.CivsSingleton; import org.redcastlemedia.multitallented.civs.ConfigManager; -import org.redcastlemedia.multitallented.civs.events.*; -import org.redcastlemedia.multitallented.civs.items.CVItem; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; +import org.redcastlemedia.multitallented.civs.events.*; +import org.redcastlemedia.multitallented.civs.items.CVItem; import org.redcastlemedia.multitallented.civs.items.CivItem; import org.redcastlemedia.multitallented.civs.items.ItemManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.menus.MenuManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionManager; @@ -37,10 +37,10 @@ public class TownManager { private static TownManager townManager = null; - private HashMap towns = new HashMap<>(); - private List sortedTowns = new ArrayList<>(); - private HashMap invites = new HashMap<>(); - private ArrayList needsSaving = new ArrayList<>(); + private final HashMap towns = new HashMap<>(); + private final List sortedTowns = new ArrayList<>(); + private final HashMap invites = new HashMap<>(); + private final ArrayList needsSaving = new ArrayList<>(); public void reload() { @@ -273,7 +273,7 @@ private void loadRevolt(Town town, List revoltList) { } public Set getOwnedTowns(Civilian civilian) { - HashSet townSet = new HashSet(); + HashSet townSet = new HashSet<>(); for (Town town : towns.values()) { if (!town.getRawPeople().containsKey(civilian.getUuid()) || !town.getRawPeople().get(civilian.getUuid()).contains(Constants.OWNER)) { @@ -288,22 +288,18 @@ public void addTown(Town town) { towns.put(town.getName(), town); sortedTowns.add(town); if (sortedTowns.size() > 1) { - Collections.sort(sortedTowns, new Comparator() { - - @Override - public int compare(Town o1, Town o2) { - ItemManager itemManager = ItemManager.getInstance(); - TownType townType1 = (TownType) itemManager.getItemType(o1.getType()); - TownType townType2 = (TownType) itemManager.getItemType(o2.getType()); - if (o1.getLocation().getX() - townType1.getBuildRadius() > - o2.getLocation().getX() - townType2.getBuildRadius()) { - return 1; - } else if (o1.getLocation().getX() - townType1.getBuildRadius() < - o2.getLocation().getX() - townType2.getBuildRadius()) { - return -1; - } - return 0; + sortedTowns.sort((o1, o2) -> { + ItemManager itemManager = ItemManager.getInstance(); + TownType townType1 = (TownType) itemManager.getItemType(o1.getType()); + TownType townType2 = (TownType) itemManager.getItemType(o2.getType()); + if (o1.getLocation().getX() - townType1.getBuildRadius() > + o2.getLocation().getX() - townType2.getBuildRadius()) { + return 1; + } else if (o1.getLocation().getX() - townType1.getBuildRadius() < + o2.getLocation().getX() - townType2.getBuildRadius()) { + return -1; } + return 0; }); } } @@ -330,11 +326,7 @@ public void removeTown(Town town, boolean broadcast, boolean destroyRing) { } public void setTownPower(Town town, int power) { - if (power > town.getMaxPower()) { - town.setPower(town.getMaxPower()); - } else { - town.setPower(power); - } + town.setPower(Math.min(power, town.getMaxPower())); TownType townType = (TownType) ItemManager.getInstance().getItemType(town.getType()); if (town.getPower() < 1 && ConfigManager.getInstance().getDestroyTownsAtZero() && townType.getChild() == null) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/towns/TownTransitionUtil.java b/src/main/java/org/redcastlemedia/multitallented/civs/towns/TownTransitionUtil.java index e3fc25bff..0bf266be4 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/towns/TownTransitionUtil.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/towns/TownTransitionUtil.java @@ -17,14 +17,11 @@ public static void checkTownTransitions() { int i=0; for (final Town town : TownManager.getInstance().getTowns()) { i++; - Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), new Runnable() { - @Override - public void run() { - if (checkTown(town)) { - saveThese.add(town); - } - } - },i*20); + Bukkit.getScheduler().scheduleSyncDelayedTask(Civs.getInstance(), () -> { + if (checkTown(town)) { + saveThese.add(town); + } + },i* 20L); } for (Town town : saveThese) { TownManager.getInstance().saveTown(town); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/tutorials/AnnouncementUtil.java b/src/main/java/org/redcastlemedia/multitallented/civs/tutorials/AnnouncementUtil.java index 1613681a6..c7d2d137c 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/tutorials/AnnouncementUtil.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/tutorials/AnnouncementUtil.java @@ -1,12 +1,9 @@ package org.redcastlemedia.multitallented.civs.tutorials; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Random; -import java.util.UUID; - +import net.md_5.bungee.api.ChatColor; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.Civs; @@ -23,21 +20,14 @@ import org.redcastlemedia.multitallented.civs.regions.RegionManager; import org.redcastlemedia.multitallented.civs.regions.RegionType; import org.redcastlemedia.multitallented.civs.regions.effects.HousingEffect; -import org.redcastlemedia.multitallented.civs.towns.Government; -import org.redcastlemedia.multitallented.civs.towns.GovernmentManager; -import org.redcastlemedia.multitallented.civs.towns.GovernmentType; -import org.redcastlemedia.multitallented.civs.towns.Town; -import org.redcastlemedia.multitallented.civs.towns.TownManager; +import org.redcastlemedia.multitallented.civs.towns.*; import org.redcastlemedia.multitallented.civs.util.Constants; import org.redcastlemedia.multitallented.civs.util.Util; -import net.md_5.bungee.api.ChatColor; -import net.md_5.bungee.api.chat.BaseComponent; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.TextComponent; +import java.util.*; public final class AnnouncementUtil { - private static HashMap> alreadySentMessages = new HashMap<>(); + private static final HashMap> alreadySentMessages = new HashMap<>(); public static void clearPlayer(UUID uuid) { alreadySentMessages.remove(uuid); diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/util/DebugLogger.java b/src/main/java/org/redcastlemedia/multitallented/civs/util/DebugLogger.java index d39923724..0d7fa9103 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/util/DebugLogger.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/util/DebugLogger.java @@ -18,37 +18,33 @@ private DebugLogger() { } public static Runnable timedDebugTask() { - return new Runnable() { - - @Override - public void run() { - Civs.logger.info("Saves: " + saves); - Civs.logger.info("Chunk Loads: " + chunkLoads); - Civs.logger.info("Inventory Modifications: " + inventoryModifications); - Civs.logger.info("Pending Town Saves: " + TownManager.getInstance().getCountOfPendingSaves()); - Civs.logger.info("Pending Region Saves: " + RegionManager.getInstance().getCountOfPendingSaves()); - int highestActivity = 0; - Region mostActiveRegion = null; - for (Region region : regionActivity.keySet()) { - int currentActivity = regionActivity.get(region); - if (highestActivity < currentActivity) { - highestActivity = currentActivity; - mostActiveRegion = region; - } - } - if (mostActiveRegion != null) { - Civs.logger.info("Most Active Region: " + - (int) mostActiveRegion.getLocation().getX() + "x, " + - (int) mostActiveRegion.getLocation().getY() + "y, " + - (int) mostActiveRegion.getLocation().getZ() + "z, " + - mostActiveRegion.getType()); - Civs.logger.info("^^Ran " + highestActivity + " times"); + return () -> { + Civs.logger.info("Saves: " + saves); + Civs.logger.info("Chunk Loads: " + chunkLoads); + Civs.logger.info("Inventory Modifications: " + inventoryModifications); + Civs.logger.info("Pending Town Saves: " + TownManager.getInstance().getCountOfPendingSaves()); + Civs.logger.info("Pending Region Saves: " + RegionManager.getInstance().getCountOfPendingSaves()); + int highestActivity = 0; + Region mostActiveRegion = null; + for (Region region : regionActivity.keySet()) { + int currentActivity = regionActivity.get(region); + if (highestActivity < currentActivity) { + highestActivity = currentActivity; + mostActiveRegion = region; } - saves = 0; - chunkLoads = 0; - inventoryModifications = 0; - regionActivity.clear(); } + if (mostActiveRegion != null) { + Civs.logger.info("Most Active Region: " + + (int) mostActiveRegion.getLocation().getX() + "x, " + + (int) mostActiveRegion.getLocation().getY() + "y, " + + (int) mostActiveRegion.getLocation().getZ() + "z, " + + mostActiveRegion.getType()); + Civs.logger.info("^^Ran " + highestActivity + " times"); + } + saves = 0; + chunkLoads = 0; + inventoryModifications = 0; + regionActivity.clear(); }; } diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/util/DiscordUtil.java b/src/main/java/org/redcastlemedia/multitallented/civs/util/DiscordUtil.java index adba7b24b..701a43995 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/util/DiscordUtil.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/util/DiscordUtil.java @@ -17,7 +17,7 @@ private DiscordUtil() { } public static String atAllTownOwners(Town town) { - String defaultMessage = ""; + StringBuilder defaultMessage = new StringBuilder(); try { for (UUID uuid : town.getRawPeople().keySet()) { if (!town.getRawPeople().get(uuid).contains(Constants.OWNER)) { @@ -25,7 +25,7 @@ public static String atAllTownOwners(Town town) { } String discordUserId = Civs.discordSRV.getAccountLinkManager().getDiscordId(uuid); if (discordUserId != null) { - defaultMessage += " @" + discordUserId; + defaultMessage.append(" @").append(discordUserId); continue; } OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(uuid); @@ -40,13 +40,13 @@ public static String atAllTownOwners(Town town) { if (mention.isEmpty()) { mention = " @" + offlinePlayer.getName(); } - defaultMessage += mention; + defaultMessage.append(mention); } } } catch (Exception e) { Civs.logger.log(Level.SEVERE, "Unable to broadcast discord message", e); } - return defaultMessage; + return defaultMessage.toString(); } public static void sendMessageToMainChannel(String message) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/util/OwnershipUtil.java b/src/main/java/org/redcastlemedia/multitallented/civs/util/OwnershipUtil.java index 5951bbb07..9b43febc6 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/util/OwnershipUtil.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/util/OwnershipUtil.java @@ -1,27 +1,22 @@ package org.redcastlemedia.multitallented.civs.util; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.UUID; - import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.ConfigManager; -import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.items.ItemManager; +import org.redcastlemedia.multitallented.civs.localization.LocaleManager; import org.redcastlemedia.multitallented.civs.regions.Region; import org.redcastlemedia.multitallented.civs.regions.RegionType; import org.redcastlemedia.multitallented.civs.regions.RegionUpkeep; -import org.redcastlemedia.multitallented.civs.towns.Government; -import org.redcastlemedia.multitallented.civs.towns.GovernmentManager; -import org.redcastlemedia.multitallented.civs.towns.GovernmentType; -import org.redcastlemedia.multitallented.civs.towns.Town; -import org.redcastlemedia.multitallented.civs.towns.TownManager; -import org.redcastlemedia.multitallented.civs.towns.TownType; +import org.redcastlemedia.multitallented.civs.towns.*; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.UUID; public final class OwnershipUtil { private OwnershipUtil() { @@ -83,7 +78,7 @@ public static boolean hasColonialOverride(Town town, Civilian civilian) { } public static double invalidAmountOrTown(Player player, String[] args, Civilian civilian) { - double amount = 0; + double amount; try { amount = Double.parseDouble(args[2]); } catch (Exception e) { diff --git a/src/main/java/org/redcastlemedia/multitallented/civs/util/Util.java b/src/main/java/org/redcastlemedia/multitallented/civs/util/Util.java index 6e48e3e1e..380393577 100644 --- a/src/main/java/org/redcastlemedia/multitallented/civs/util/Util.java +++ b/src/main/java/org/redcastlemedia/multitallented/civs/util/Util.java @@ -4,11 +4,9 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Random; -import java.util.Set; import java.util.UUID; import java.util.logging.Level; import java.util.regex.Matcher; @@ -224,31 +222,31 @@ private static List textWrap(int lineLength, String input) { } String prefix = getDefaultColor(input); ArrayList lore = new ArrayList<>(); - String sendMe = new String(input); - String addMe = prefix.equals("§r") ? prefix : ""; + String sendMe = input; + StringBuilder addMe = new StringBuilder(prefix.equals("§r") ? prefix : ""); for (String line : sendMe.split("\n")) { for (String s : line.split(" ")) { do { if (s.length() < lineLength) { - if (!addMe.equals(prefix) && addMe.length() > 0 && s.length() + addMe.length() > lineLength) { - lore.add("" + addMe.trim()); - addMe = prefix; + if (!addMe.toString().equals(prefix) && addMe.length() > 0 && s.length() + addMe.length() > lineLength) { + lore.add("" + addMe.toString().trim()); + addMe = new StringBuilder(prefix); } - addMe += s + " "; + addMe.append(s).append(" "); s = ""; } else { - if (!addMe.equals(prefix) && addMe.length() > 0) { - lore.add("" + addMe.trim()); - addMe = prefix; + if (!addMe.toString().equals(prefix) && addMe.length() > 0) { + lore.add("" + addMe.toString().trim()); + addMe = new StringBuilder(prefix); } - addMe += s.substring(0, lineLength - 1); + addMe.append(s, 0, lineLength - 1); s = s.substring(lineLength - 1); } } while (s.length() > 0); } - if (!addMe.equals(prefix) && addMe.length() > 0) { - lore.add("" + addMe.trim()); - addMe = prefix; + if (!addMe.toString().equals(prefix) && addMe.length() > 0) { + lore.add("" + addMe.toString().trim()); + addMe = new StringBuilder(prefix); } } return lore; @@ -326,7 +324,7 @@ public static String parseColors(String input) { i++; } for (ChatColor color : ChatColor.values()) { - returnInput = returnInput.replaceAll("@\\{" + color.name() + "\\}", color + ""); + returnInput = returnInput.replaceAll("@\\{" + color.name() + "}", color + ""); } return returnInput; } @@ -366,7 +364,7 @@ public static TextComponent parseColorsComponent(String input) { } private static String findColorIndexes(String input, HashMap colorMap) { - String patternStr = "@\\{[A-z]*\\}"; + String patternStr = "@\\{[A-z]*}"; Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(input); while (matcher.find()) { @@ -379,7 +377,7 @@ private static String findColorIndexes(String input, HashMap contents = new HashMap<>(); + private final HashMap contents = new HashMap<>(); public InventoryImpl() { for (int i = 0; i < getSize(); i++) { @@ -87,7 +86,7 @@ private int firstPartial(ItemStack item) { @Override public HashMap addItem(ItemStack... items) { Validate.noNullElements(items, "Item cannot be null"); - HashMap leftover = new HashMap(); + HashMap leftover = new HashMap<>(); label35: for(int i = 0; i < items.length; ++i) { @@ -187,7 +186,7 @@ private int first(ItemStack item, boolean withAmount) { @Override public HashMap removeItem(ItemStack... items) throws IllegalArgumentException { Validate.notNull(items, "Items cannot be null"); - HashMap leftover = new HashMap(); + HashMap leftover = new HashMap<>(); for(int i = 0; i < items.length; ++i) { ItemStack item = items[i]; diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/ItemStackImpl.java b/src/test/java/org/redcastlemedia/multitallented/civs/ItemStackImpl.java index d6cc1be39..0a03bf1d2 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/ItemStackImpl.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/ItemStackImpl.java @@ -1,6 +1,5 @@ package org.redcastlemedia.multitallented.civs; -import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; @@ -38,7 +37,7 @@ public ItemStackImpl(Material type, int amount) { /** @deprecated */ public ItemStackImpl(Material type, int amount, short damage) { - this(type, amount, damage, (Byte)null); + this(type, amount, damage, null); } /** @deprecated */ @@ -186,7 +185,7 @@ public ItemStackImpl clone() { } public boolean containsEnchantment(Enchantment ench) { - return this.meta == null ? false : this.meta.hasEnchant(ench); + return this.meta != null && this.meta.hasEnchant(ench); } public int getEnchantmentLevel(Enchantment ench) { @@ -194,16 +193,14 @@ public int getEnchantmentLevel(Enchantment ench) { } public Map getEnchantments() { - return (Map)(this.meta == null ? ImmutableMap.of() : this.meta.getEnchants()); + return this.meta == null ? ImmutableMap.of() : this.meta.getEnchants(); } public void addEnchantments(Map enchantments) { Validate.notNull(enchantments, "Enchantments cannot be null"); - Iterator var3 = enchantments.entrySet().iterator(); - while(var3.hasNext()) { - Entry entry = (Entry)var3.next(); - this.addEnchantment((Enchantment)entry.getKey(), (Integer)entry.getValue()); + for (Entry enchantmentIntegerEntry : enchantments.entrySet()) { + this.addEnchantment(enchantmentIntegerEntry.getKey(), enchantmentIntegerEntry.getValue()); } } @@ -222,11 +219,9 @@ public void addEnchantment(Enchantment ench, int level) { } public void addUnsafeEnchantments(Map enchantments) { - Iterator var3 = enchantments.entrySet().iterator(); - while(var3.hasNext()) { - Entry entry = (Entry)var3.next(); - this.addUnsafeEnchantment((Enchantment)entry.getKey(), (Integer)entry.getValue()); + for (Entry enchantmentIntegerEntry : enchantments.entrySet()) { + this.addUnsafeEnchantment(enchantmentIntegerEntry.getKey(), enchantmentIntegerEntry.getValue()); } } @@ -239,14 +234,12 @@ public int removeEnchantment(Enchantment ench) { int level = this.getEnchantmentLevel(ench); if (level != 0 && this.meta != null) { this.meta.removeEnchant(ench); - return level; - } else { - return level; } + return level; } public Map serialize() { - Map result = new LinkedHashMap(); + Map result = new LinkedHashMap<>(); result.put("v", Bukkit.getUnsafe().getDataVersion()); result.put("type", this.getType().name()); if (this.getAmount() != 1) { @@ -254,7 +247,7 @@ public Map serialize() { } ItemMeta meta = this.getItemMeta(); - if (!Bukkit.getItemFactory().equals(meta, (ItemMeta)null)) { + if (!Bukkit.getItemFactory().equals(meta, null)) { result.put("meta", meta); } @@ -271,7 +264,7 @@ public static ItemStack deserialize(Map args) { Material type; if (version < 0) { - type = Material.getMaterial("LEGACY_" + (String)args.get("type")); + type = Material.getMaterial("LEGACY_" + args.get("type")); byte dataVal = type.getMaxDurability() == 0 ? (byte)damage : 0; type = Bukkit.getUnsafe().fromLegacy(new MaterialData(type, dataVal), true); if (dataVal != 0) { @@ -290,14 +283,12 @@ public static ItemStack deserialize(Map args) { if (args.containsKey("enchantments")) { raw = args.get("enchantments"); if (raw instanceof Map) { - Map map = (Map)raw; - Iterator var9 = map.entrySet().iterator(); - - while(var9.hasNext()) { - Entry entry = (Entry)var9.next(); - Enchantment enchantment = Enchantment.getByName(entry.getKey().toString()); - if (enchantment != null && entry.getValue() instanceof Integer) { - result.addUnsafeEnchantment(enchantment, (Integer)entry.getValue()); + Map map = (Map) raw; + + for (Entry value : map.entrySet()) { + Enchantment enchantment = Enchantment.getByName(value.getKey().toString()); + if (enchantment != null && value.getValue() instanceof Integer) { + result.addUnsafeEnchantment(enchantment, (Integer) value.getValue()); } } } diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/PlayerInventoryImpl.java b/src/test/java/org/redcastlemedia/multitallented/civs/PlayerInventoryImpl.java index c90d784a1..baa960cf2 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/PlayerInventoryImpl.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/PlayerInventoryImpl.java @@ -16,7 +16,7 @@ public class PlayerInventoryImpl implements PlayerInventory { - private HashMap contents = new HashMap<>(); + private final HashMap contents = new HashMap<>(); @Override public ItemStack[] getArmorContents() { @@ -121,7 +121,7 @@ private int firstPartial(ItemStack item) { @Override public HashMap addItem(ItemStack... items) { Validate.noNullElements(items, "Item cannot be null"); - HashMap leftover = new HashMap(); + HashMap leftover = new HashMap<>(); label35: for(int i = 0; i < items.length; ++i) { @@ -221,7 +221,7 @@ private int first(ItemStack item, boolean withAmount) { @Override public HashMap removeItem(ItemStack... items) throws IllegalArgumentException { Validate.notNull(items, "Items cannot be null"); - HashMap leftover = new HashMap(); + HashMap leftover = new HashMap<>(); for(int i = 0; i < items.length; ++i) { ItemStack item = items[i]; diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/TestUtil.java b/src/test/java/org/redcastlemedia/multitallented/civs/TestUtil.java index 7caa414f3..2a64908ad 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/TestUtil.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/TestUtil.java @@ -21,8 +21,6 @@ import org.bukkit.attribute.AttributeInstance; import org.bukkit.block.Block; import org.bukkit.block.Chest; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; @@ -34,12 +32,8 @@ import org.bukkit.plugin.PluginManager; import org.bukkit.scheduler.BukkitScheduler; import org.junit.BeforeClass; -import org.mockito.ArgumentMatcher; import org.mockito.Matchers; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; -import org.redcastlemedia.multitallented.civs.items.ItemManager; import org.redcastlemedia.multitallented.civs.menus.MenuManager; import org.redcastlemedia.multitallented.civs.skills.SkillManager; @@ -87,26 +81,17 @@ public static void serverSetup() { Server server = mock(Server.class); Inventory inventory = new InventoryImpl(); Logger logger = mock(Logger.class); - doAnswer(new Answer() { - @Override - public Object answer(InvocationOnMock invocationOnMock) throws Throwable { - Object[] args = invocationOnMock.getArguments(); - return args[0]; - } + doAnswer(invocationOnMock -> { + Object[] args = invocationOnMock.getArguments(); + return args[0]; }).when(logger).severe(Matchers.anyString()); - doAnswer(new Answer() { - @Override - public Object answer(InvocationOnMock invocationOnMock) throws Throwable { - Object[] args = invocationOnMock.getArguments(); - return args[0]; - } + doAnswer(invocationOnMock -> { + Object[] args = invocationOnMock.getArguments(); + return args[0]; }).when(logger).warning(Matchers.anyString()); - doAnswer(new Answer() { - @Override - public Object answer(InvocationOnMock invocationOnMock) throws Throwable { - Object[] args = invocationOnMock.getArguments(); - return args[0]; - } + doAnswer(invocationOnMock -> { + Object[] args = invocationOnMock.getArguments(); + return args[0]; }).when(logger).info(Matchers.anyString()); when(server.getLogger()).thenReturn(logger); when(server.createInventory(Matchers.any(InventoryHolder.class), Matchers.anyInt(), Matchers.anyString())).thenReturn(inventory); diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/WorldImpl.java b/src/test/java/org/redcastlemedia/multitallented/civs/WorldImpl.java index bb63e5899..8cf59956a 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/WorldImpl.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/WorldImpl.java @@ -1,5 +1,6 @@ package org.redcastlemedia.multitallented.civs; +import lombok.Setter; import org.bukkit.*; import org.bukkit.block.Biome; import org.bukkit.block.Block; @@ -26,8 +27,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import lombok.Setter; - public class WorldImpl implements World { private final String name; @Setter @@ -38,7 +37,7 @@ public WorldImpl(String name) { this.name = name; } - private HashMap blockMap = new HashMap<>(); + private final HashMap blockMap = new HashMap<>(); public void putBlock(int x, int y, int z, Block block) { blockMap.put(x+":"+y+":"+z, block); @@ -285,8 +284,9 @@ public List getLivingEntities() { return null; } + @SafeVarargs @Override - public Collection getEntitiesByClass(Class... classes) { + public final Collection getEntitiesByClass(Class... classes) { return null; } diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/commands/CommandTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/commands/CommandTests.java index 3792207c9..c0759962d 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/commands/CommandTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/commands/CommandTests.java @@ -62,7 +62,7 @@ public void playerShouldBeAbleToUpgradeTown() { args[1] = "test2"; try { townCommand.runCommand(TestUtil.player, null, "town", args); - } catch (SuccessException se) { + } catch (SuccessException ignored) { } assertEquals("tribe", TownManager.getInstance().getTownAt(location).getType()); diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/items/ItemsTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/items/ItemsTests.java index e41a47123..cc0eca0d8 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/items/ItemsTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/items/ItemsTests.java @@ -7,7 +7,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.regex.Matcher; import java.util.regex.Pattern; import org.bukkit.Bukkit; @@ -77,6 +76,7 @@ public void newPlayerShouldRecieveAShelterItem() { for (String currentName : civilian.getStashItems().keySet()) { if (currentName.equalsIgnoreCase("shelter")) { hasShelter = true; + break; } } assertTrue(hasShelter); @@ -95,6 +95,7 @@ public void newPlayerShouldNotReceiveACityHall() { for (String currentName : civilian.getStashItems().keySet()) { if (currentName.equalsIgnoreCase("cityhall")) { hasCityHall = true; + break; } } assertFalse(hasCityHall); diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/menus/BlueprintsMenuTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/menus/BlueprintsMenuTests.java index ecf1ebed2..df14b7a31 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/menus/BlueprintsMenuTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/menus/BlueprintsMenuTests.java @@ -8,8 +8,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -18,7 +16,6 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import org.redcastlemedia.multitallented.civs.Civs; import org.redcastlemedia.multitallented.civs.InventoryImpl; import org.redcastlemedia.multitallented.civs.ItemMetaImpl; import org.redcastlemedia.multitallented.civs.ItemStackImpl; @@ -137,7 +134,7 @@ public void goingBackFromBlueprintsShouldntClearDataBeforeClose() { this.blueprintsMenu.createMenu(this.civilian, params); try { MenuManager.getInstance().goBack(this.civilian.getUuid()); - } catch (NullPointerException npe) { + } catch (NullPointerException ignored) { } this.blueprintsMenu.createMenu(this.civilian, params); diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/menus/MenuTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/menus/MenuTests.java index 15ccc2df9..0801ebb63 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/menus/MenuTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/menus/MenuTests.java @@ -1,19 +1,11 @@ package org.redcastlemedia.multitallented.civs.menus; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import org.bukkit.Bukkit; -import org.bukkit.inventory.Inventory; -import org.junit.BeforeClass; import org.junit.Test; import org.redcastlemedia.multitallented.civs.TestUtil; -import org.redcastlemedia.multitallented.civs.items.ItemManager; -import org.redcastlemedia.multitallented.civs.regions.RegionType; -import org.redcastlemedia.multitallented.civs.items.CVItem; import java.util.ArrayList; -import java.util.List; public class MenuTests extends TestUtil { diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/menus/ShopMenuTest.java b/src/test/java/org/redcastlemedia/multitallented/civs/menus/ShopMenuTest.java index 3fc3cd9c1..f848ac359 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/menus/ShopMenuTest.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/menus/ShopMenuTest.java @@ -110,6 +110,7 @@ public void shopShouldContainTownLevelItems() { for (CivItem civItem : shopItems) { if ("housing".equals(civItem.getProcessedName())) { containsHousing = true; + break; } } assertTrue(containsHousing); diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/protections/ProtectionsTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/protections/ProtectionsTests.java index c20a6fa45..fe4ce57f8 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/protections/ProtectionsTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/protections/ProtectionsTests.java @@ -132,7 +132,7 @@ public void blockPlaceShouldNotBeCancelledByOwner() { HashMap owners = new HashMap<>(); owners.put(uuid, Constants.OWNER); Location regionLocation = new Location(Bukkit.getWorld("world"), 0,0,0); - RegionManager.getInstance().addRegion(new Region("cobble", owners, regionLocation, RegionsTests.getRadii(), new HashMap(),0)); + RegionManager.getInstance().addRegion(new Region("cobble", owners, regionLocation, RegionsTests.getRadii(), new HashMap<>(),0)); ProtectionHandler protectionHandler = new ProtectionHandler(); @@ -157,7 +157,7 @@ public void blockPlaceShouldNotBeCancelledInUnprotected() { HashMap owners = new HashMap<>(); owners.put(uuid2, Constants.OWNER); Location regionLocation = new Location(Bukkit.getWorld("world"), 0,0,0); - RegionManager.getInstance().addRegion(new Region("dirt", owners, regionLocation, RegionsTests.getRadii(), new HashMap(),0)); + RegionManager.getInstance().addRegion(new Region("dirt", owners, regionLocation, RegionsTests.getRadii(), new HashMap<>(),0)); ProtectionHandler protectionHandler = new ProtectionHandler(); BlockBreakEvent event = new BlockBreakEvent(TestUtil.block3, player); @@ -217,7 +217,7 @@ public void chestUseShouldNotBeCancelled() { PlayerInteractEvent event = new PlayerInteractEvent(player, Action.RIGHT_CLICK_BLOCK,null,Bukkit.getWorld("world").getBlockAt(0,0,0), BlockFace.NORTH); // BlockBreakEvent event = new BlockBreakEvent(TestUtil.block3, player); protectionHandler.onBlockInteract(event); - assertTrue(!event.isCancelled()); + assertFalse(event.isCancelled()); } private void explodeInRegion(boolean throwException, Location regionLocation) throws SuccessException { diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/regions/RegionsTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/regions/RegionsTests.java index a1cf4461a..f4d58f5ca 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/regions/RegionsTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/regions/RegionsTests.java @@ -34,6 +34,7 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; +import org.mockito.Matchers; import org.redcastlemedia.multitallented.civs.BlockLogger; import org.redcastlemedia.multitallented.civs.ItemMetaImpl; import org.redcastlemedia.multitallented.civs.ItemStackImpl; @@ -240,7 +241,7 @@ public void getRegionAtShouldReturnExactRegion() { public void regionManagerShouldGetRegionBasedOnLocation() { Location location = new Location(Bukkit.getWorld("world"), 100, 0, 0); HashMap people = new HashMap<>(); - RegionManager.getInstance().addRegion(new Region("cobble", people, location, getRadii(), new HashMap(),0)); + RegionManager.getInstance().addRegion(new Region("cobble", people, location, getRadii(), new HashMap<>(),0)); assertNull(RegionManager.getInstance().getRegionAt(new Location(Bukkit.getWorld("world"), 0,0,0))); } @@ -839,7 +840,7 @@ public void dailyRegionShouldUpkeepDaily() { TownManager.getInstance().addTown(town); try { new DailyScheduler().run(); - } catch (SuccessException se) { + } catch (SuccessException ignored) { } assertEquals(412, town.getPower()); @@ -915,7 +916,7 @@ public void regionShouldBeFound() { 500, 40, false); - assertTrue(!regions.isEmpty()); + assertFalse(regions.isEmpty()); } @Test @@ -1220,7 +1221,7 @@ public static Region createNewRegion(String type) { owners.put(new UUID(1, 4), Constants.OWNER); Location location1 = new Location(Bukkit.getWorld("world"), 4.5, 0.5, 0.5); RegionType regionType = (RegionType) ItemManager.getInstance().getItemType(type); - Region region = new Region(type, owners, location1, getRadii(), (HashMap) regionType.getEffects().clone(),0); + Region region = new Region(type, owners, location1, getRadii(), (HashMap) regionType.getEffects().clone(),0); RegionManager.getInstance().addRegion(region); return region; } @@ -1228,7 +1229,7 @@ public static Region createNewRegion(String type, Location location) { HashMap owners = new HashMap<>(); owners.put(new UUID(1, 4), Constants.OWNER); RegionType regionType = (RegionType) ItemManager.getInstance().getItemType(type); - Region region = new Region(type, owners, location, getRadii(), (HashMap) regionType.getEffects().clone(),0); + Region region = new Region(type, owners, location, getRadii(), (HashMap) regionType.getEffects().clone(),0); RegionManager.getInstance().addRegion(region); return region; } diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/regions/effects/RegionEffectTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/regions/effects/RegionEffectTests.java index fcd6fd571..bd9247bed 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/regions/effects/RegionEffectTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/regions/effects/RegionEffectTests.java @@ -3,14 +3,10 @@ import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; -import org.bukkit.block.Chest; import org.bukkit.entity.Player; import org.bukkit.entity.Villager; import org.bukkit.event.entity.EntityDeathEvent; -import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.Damageable; -import org.bukkit.inventory.meta.ItemMeta; import org.junit.*; import org.redcastlemedia.multitallented.civs.TestUtil; import org.redcastlemedia.multitallented.civs.WorldImpl; @@ -177,15 +173,13 @@ public void activeEffectShouldProperlySetLastActive() { @Test public void repairEffectShouldGetCorrectAmount() { - RepairEffect repairEffect = new RepairEffect(); - int repairCost = repairEffect.getRepairCost(Material.DIAMOND_PICKAXE, 1); + int repairCost = RepairEffect.getRepairCost(Material.DIAMOND_PICKAXE, 1); assertEquals(1, repairCost); } @Test public void maxRepairEffectShouldGetCorrectAmount() { - RepairEffect repairEffect = new RepairEffect(); - int repairCost = repairEffect.getRepairCost(Material.DIAMOND_PICKAXE, Material.DIAMOND_PICKAXE.getMaxDurability() - 1); + int repairCost = RepairEffect.getRepairCost(Material.DIAMOND_PICKAXE, Material.DIAMOND_PICKAXE.getMaxDurability() - 1); assertEquals(3, repairCost); } diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/scheduler/SchedulerTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/scheduler/SchedulerTests.java index 0c8c14189..9a37443e5 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/scheduler/SchedulerTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/scheduler/SchedulerTests.java @@ -10,8 +10,6 @@ import org.mockito.Matchers; import org.redcastlemedia.multitallented.civs.SuccessException; import org.redcastlemedia.multitallented.civs.TestUtil; -import org.redcastlemedia.multitallented.civs.civilians.Civilian; -import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; import org.redcastlemedia.multitallented.civs.events.RegionTickEvent; import org.redcastlemedia.multitallented.civs.items.ItemManager; import org.redcastlemedia.multitallented.civs.regions.Region; @@ -23,7 +21,6 @@ import java.util.*; -import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.*; public class SchedulerTests extends TestUtil { @@ -44,7 +41,7 @@ public void regionShouldTickWhenZeroPlayersAreOnline() { ); List capturedTickEvents = tickCaptor.getAllValues(); for (Event event : capturedTickEvents) { - if (event == null || !(event instanceof RegionTickEvent)) { + if (!(event instanceof RegionTickEvent)) { continue; } RegionTickEvent regionTickEvent = (RegionTickEvent) event; diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/skills/SkillTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/skills/SkillTests.java index a0a3db95a..c8018d293 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/skills/SkillTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/skills/SkillTests.java @@ -13,7 +13,6 @@ import org.redcastlemedia.multitallented.civs.regions.RegionType; import org.redcastlemedia.multitallented.civs.skills.CivSkills; import org.redcastlemedia.multitallented.civs.skills.Skill; -import org.redcastlemedia.multitallented.civs.skills.SkillManager; public class SkillTests extends TestUtil { diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/spells/SpellsTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/spells/SpellsTests.java index 01ff0ed48..b5d234c93 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/spells/SpellsTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/spells/SpellsTests.java @@ -19,14 +19,12 @@ import org.jetbrains.annotations.NotNull; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Matchers; import org.redcastlemedia.multitallented.civs.SuccessException; import org.redcastlemedia.multitallented.civs.TestUtil; import org.redcastlemedia.multitallented.civs.civclass.CivClass; -import org.redcastlemedia.multitallented.civs.civclass.ClassManager; import org.redcastlemedia.multitallented.civs.civclass.ClassType; import org.redcastlemedia.multitallented.civs.civilians.Civilian; import org.redcastlemedia.multitallented.civs.civilians.CivilianManager; diff --git a/src/test/java/org/redcastlemedia/multitallented/civs/towns/TownTests.java b/src/test/java/org/redcastlemedia/multitallented/civs/towns/TownTests.java index af9f85352..a5b08c1d7 100644 --- a/src/test/java/org/redcastlemedia/multitallented/civs/towns/TownTests.java +++ b/src/test/java/org/redcastlemedia/multitallented/civs/towns/TownTests.java @@ -425,7 +425,7 @@ public void townMaxPowerShouldBeAdjustedOnCreation() { args[1] = "test"; try { townCommand.runCommand(TestUtil.player, null, "town", args); - } catch (Exception exception) { + } catch (Exception ignored) { } assertEquals(550, TownManager.getInstance().getTown("test").getMaxPower());