From 4c8b33046494367c18b7e59ea18ba777b58ee49d Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sun, 29 Aug 2021 12:15:44 +0100 Subject: [PATCH] Fixed cache clearing task being cancelled --- .../java/com/willfp/ecoenchants/EcoEnchantsPlugin.java | 5 +++++ .../willfp/ecoenchants/enchantments/EcoEnchant.java | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/EcoEnchantsPlugin.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/EcoEnchantsPlugin.java index 8a8dcd7e..62e98e88 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/EcoEnchantsPlugin.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/EcoEnchantsPlugin.java @@ -101,6 +101,11 @@ public class EcoEnchantsPlugin extends EcoPlugin { } }, 1); } + this.getScheduler().runTimer(() -> { + for (EcoEnchant enchant : EcoEnchants.values()) { + enchant.clearCachedRequirements(); + } + }, 300, 300); } @Override diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java index 7c4444eb..e1cefe52 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchant.java @@ -263,8 +263,7 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Watche postUpdate(); this.register(); - this.cachedRequirements.clear(); - this.getPlugin().getScheduler().runTimer(this.cachedRequirements::clear, 300, 300); + this.clearCachedRequirements(); } protected void postUpdate() { @@ -279,6 +278,13 @@ public abstract class EcoEnchant extends Enchantment implements Listener, Watche EnchantmentUtils.register(this); } + /** + * Clear requirements cache. + */ + public void clearCachedRequirements() { + this.cachedRequirements.clear(); + } + /** * Format the %value% placeholder in description lore. *