From ff102602a407daaeb0eea633c8542662cb77ba0e Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sun, 20 Dec 2020 12:14:48 +0000 Subject: [PATCH] Optimised getDisabledWorlds --- .../com/willfp/ecoenchants/enchantments/EcoEnchant.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java index bfcbe4e2..cd5103e1 100644 --- a/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java +++ b/Plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java @@ -56,6 +56,7 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Regist private final Set target = new HashSet<>(); private final Set targetMaterials = new HashSet<>(); private final Set disabledWorldNames = new HashSet<>(); + private final List disabledWorlds = new ArrayList<>(); private boolean enabled; @@ -135,6 +136,10 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Regist description = StringUtils.translate(config.getString("description")); disabledWorldNames.clear(); disabledWorldNames.addAll(config.getStrings(EcoEnchants.GENERAL_LOCATION + "disabled-in-worlds")); + disabledWorlds.clear(); + List worldNames = Bukkit.getWorlds().stream().map(World::getName).map(String::toLowerCase).collect(Collectors.toList()); + List disabledExistingWorldNames = disabledWorldNames.stream().filter(s -> worldNames.contains(s.toLowerCase())).collect(Collectors.toList()); + disabledWorlds.addAll(Bukkit.getWorlds().stream().filter(world -> disabledExistingWorldNames.contains(world.getName().toLowerCase())).collect(Collectors.toList())); target.clear(); targetMaterials.clear(); target.addAll(config.getTargets()); @@ -326,9 +331,7 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Regist * @return A list of all disabled worlds */ public List getDisabledWorlds() { - List worldNames = Bukkit.getWorlds().stream().map(World::getName).map(String::toLowerCase).collect(Collectors.toList()); - List disabledExistingWorldNames = disabledWorldNames.stream().filter(s -> worldNames.contains(s.toLowerCase())).collect(Collectors.toList()); - return Bukkit.getWorlds().stream().filter(world -> disabledExistingWorldNames.contains(world.getName().toLowerCase())).collect(Collectors.toList()); + return disabledWorlds; } /**