From c05ec3033043779de13166219fc6b12ad6f62011 Mon Sep 17 00:00:00 2001 From: xGinko Date: Tue, 9 Jul 2024 04:09:24 +0200 Subject: [PATCH] clean cache disable --- .../java/me/xginko/villageroptimizer/VillagerCache.java | 9 ++++++--- .../me/xginko/villageroptimizer/VillagerOptimizer.java | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/xginko/villageroptimizer/VillagerCache.java b/src/main/java/me/xginko/villageroptimizer/VillagerCache.java index e06b148..7bd2907 100644 --- a/src/main/java/me/xginko/villageroptimizer/VillagerCache.java +++ b/src/main/java/me/xginko/villageroptimizer/VillagerCache.java @@ -2,6 +2,7 @@ package me.xginko.villageroptimizer; import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; +import me.xginko.villageroptimizer.utils.Disableable; import me.xginko.villageroptimizer.wrapper.WrappedVillager; import org.bukkit.entity.Villager; import org.jetbrains.annotations.NotNull; @@ -10,7 +11,7 @@ import java.time.Duration; import java.util.UUID; import java.util.concurrent.ConcurrentMap; -public final class VillagerCache { +public final class VillagerCache implements Disableable { private final @NotNull Cache villagerCache; @@ -22,8 +23,10 @@ public final class VillagerCache { return this.villagerCache.asMap(); } - public void clear() { - this.villagerCache.asMap().clear(); + @Override + public void disable() { + this.villagerCache.invalidateAll(); + this.villagerCache.cleanUp(); } public @NotNull WrappedVillager createIfAbsent(@NotNull Villager villager) { diff --git a/src/main/java/me/xginko/villageroptimizer/VillagerOptimizer.java b/src/main/java/me/xginko/villageroptimizer/VillagerOptimizer.java index 44f69e9..5963fcb 100644 --- a/src/main/java/me/xginko/villageroptimizer/VillagerOptimizer.java +++ b/src/main/java/me/xginko/villageroptimizer/VillagerOptimizer.java @@ -122,7 +122,7 @@ public final class VillagerOptimizer extends JavaPlugin { scheduling = null; } if (villagerCache != null) { - villagerCache.clear(); + villagerCache.disable(); villagerCache = null; } if (audiences != null) { @@ -179,7 +179,7 @@ public final class VillagerOptimizer extends JavaPlugin { private void reloadConfiguration() { try { config = new Config(); - if (villagerCache != null) villagerCache.clear(); + if (villagerCache != null) villagerCache.disable(); villagerCache = new VillagerCache(config.cache_keep_time_seconds); VillagerOptimizerCommand.reloadCommands(); VillagerOptimizerModule.reloadModules();