clean cache disable

This commit is contained in:
xGinko 2024-07-09 04:09:24 +02:00
parent 5b3687a062
commit c05ec30330
2 changed files with 8 additions and 5 deletions

View File

@ -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<UUID, WrappedVillager> 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) {

View File

@ -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();