clean cache disable
This commit is contained in:
parent
5b3687a062
commit
c05ec30330
@ -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) {
|
||||||
|
@ -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();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user