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.Cache;
import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.Caffeine;
import me.xginko.villageroptimizer.utils.Disableable;
import me.xginko.villageroptimizer.wrapper.WrappedVillager; import me.xginko.villageroptimizer.wrapper.WrappedVillager;
import org.bukkit.entity.Villager; import org.bukkit.entity.Villager;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -10,7 +11,7 @@ import java.time.Duration;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentMap;
public final class VillagerCache { public final class VillagerCache implements Disableable {
private final @NotNull Cache<UUID, WrappedVillager> villagerCache; private final @NotNull Cache<UUID, WrappedVillager> villagerCache;
@ -22,8 +23,10 @@ public final class VillagerCache {
return this.villagerCache.asMap(); return this.villagerCache.asMap();
} }
public void clear() { @Override
this.villagerCache.asMap().clear(); public void disable() {
this.villagerCache.invalidateAll();
this.villagerCache.cleanUp();
} }
public @NotNull WrappedVillager createIfAbsent(@NotNull Villager villager) { public @NotNull WrappedVillager createIfAbsent(@NotNull Villager villager) {

View File

@ -122,7 +122,7 @@ public final class VillagerOptimizer extends JavaPlugin {
scheduling = null; scheduling = null;
} }
if (villagerCache != null) { if (villagerCache != null) {
villagerCache.clear(); villagerCache.disable();
villagerCache = null; villagerCache = null;
} }
if (audiences != null) { if (audiences != null) {
@ -179,7 +179,7 @@ public final class VillagerOptimizer extends JavaPlugin {
private void reloadConfiguration() { private void reloadConfiguration() {
try { try {
config = new Config(); config = new Config();
if (villagerCache != null) villagerCache.clear(); if (villagerCache != null) villagerCache.disable();
villagerCache = new VillagerCache(config.cache_keep_time_seconds); villagerCache = new VillagerCache(config.cache_keep_time_seconds);
VillagerOptimizerCommand.reloadCommands(); VillagerOptimizerCommand.reloadCommands();
VillagerOptimizerModule.reloadModules(); VillagerOptimizerModule.reloadModules();