aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/loaders/MobRecipeLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kubatech/loaders/MobRecipeLoader.java')
-rw-r--r--src/main/java/kubatech/loaders/MobRecipeLoader.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java
index 85702af08a..6b183aa205 100644
--- a/src/main/java/kubatech/loaders/MobRecipeLoader.java
+++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java
@@ -602,13 +602,19 @@ public class MobRecipeLoader {
File cache = Config.getConfigFile("MobRecipeLoader.cache");
Gson gson = GSONUtils.GSON_BUILDER.create();
- if (cache.exists()) {
+ String modlistversion;
+ if (Config.regenerationTrigger == Config._CacheRegenerationTrigger.ModAdditionRemoval)
+ modlistversion = ModUtils.getModListVersionIgnoringModVersions();
+ else modlistversion = ModUtils.getModListVersion();
+
+ if (Config.regenerationTrigger != Config._CacheRegenerationTrigger.Always && cache.exists()) {
LOG.info("Parsing Cached map");
Reader reader = null;
try {
reader = Files.newReader(cache, StandardCharsets.UTF_8);
MobRecipeLoaderCacheStructure s = gson.fromJson(reader, MobRecipeLoaderCacheStructure.class);
- if (s.version.equals(ModUtils.getModListVersion())) {
+ if (Config.regenerationTrigger == Config._CacheRegenerationTrigger.Never
+ || s.version.equals(modlistversion)) {
for (Map.Entry<String, ArrayList<MobDrop>> entry : s.moblist.entrySet()) {
try {
EntityLiving e;
@@ -641,7 +647,7 @@ public class MobRecipeLoader {
}
}
} else {
- LOG.info("Cached map doesn't exist, generating a new one");
+ LOG.info("Cached map doesn't exist or config option forced, generating a new one");
}
isInGenerationProcess = true;
@@ -1095,7 +1101,7 @@ public class MobRecipeLoader {
LOG.info("Saving generated map to file");
MobRecipeLoaderCacheStructure s = new MobRecipeLoaderCacheStructure();
- s.version = ModUtils.getModListVersion();
+ s.version = modlistversion;
s.moblist = new HashMap<>();
GeneralMobList.forEach((k, v) -> s.moblist.put(k, v.drops));
Writer writer = null;