diff --git a/src/main/java/dev/micle/xptools/config/Config.java b/src/main/java/dev/micle/xptools/config/Config.java index 9151360..9a5d2da 100644 --- a/src/main/java/dev/micle/xptools/config/Config.java +++ b/src/main/java/dev/micle/xptools/config/Config.java @@ -131,6 +131,7 @@ public final class Config { private static void onConfigReload() { // Clear cache OperationCache.clearBlockBreakCache(); + OperationCache.clearEntityKillCache(); // Parse all block break global operations blockBreakGlobalOperationItems = new ArrayList<>(); diff --git a/src/main/java/dev/micle/xptools/operation/OperationCache.java b/src/main/java/dev/micle/xptools/operation/OperationCache.java index 446d716..8a35668 100644 --- a/src/main/java/dev/micle/xptools/operation/OperationCache.java +++ b/src/main/java/dev/micle/xptools/operation/OperationCache.java @@ -7,11 +7,16 @@ import java.util.List; public class OperationCache { private static HashMap> blockBreakCache; + private static HashMap> entityKillCache; public static void clearBlockBreakCache() { blockBreakCache = new HashMap<>(); } + public static void clearEntityKillCache() { + entityKillCache = new HashMap<>(); + } + public static @Nullable List getBlockBreakCacheEntry(String key) { if (blockBreakCache.containsKey(key)) { return new ArrayList<>(blockBreakCache.get(key)); @@ -19,7 +24,18 @@ public class OperationCache { return null; } + public static @Nullable List getEntityKillCacheEntry(String key) { + if (entityKillCache.containsKey(key)) { + return new ArrayList<>(entityKillCache.get(key)); + } + return null; + } + public static void addBlockBreakCacheEntry(String key, List value) { blockBreakCache.putIfAbsent(key, new ArrayList<>(value)); } + + public static void addEntityKillCacheEntry(String key, List value) { + entityKillCache.putIfAbsent(key, new ArrayList<>(value)); + } }