diff options
| author | kuba6000 <kuba.123123.6000@gmail.com> | 2022-09-14 23:48:50 +0200 |
|---|---|---|
| committer | kuba6000 <kuba.123123.6000@gmail.com> | 2022-09-14 23:48:50 +0200 |
| commit | a59f3cf10006751d30212b7018839d0dfc29659f (patch) | |
| tree | b6ce89f01277f21cb08056fcca72d131e9a3f282 /src/main/java/kubatech/loaders | |
| parent | 16b17e16694d084f8d0868d60f733ec5dedc0605 (diff) | |
| download | GT5-Unofficial-a59f3cf10006751d30212b7018839d0dfc29659f.tar.gz GT5-Unofficial-a59f3cf10006751d30212b7018839d0dfc29659f.tar.bz2 GT5-Unofficial-a59f3cf10006751d30212b7018839d0dfc29659f.zip | |
Add cache regeneration trigger config
Diffstat (limited to 'src/main/java/kubatech/loaders')
| -rw-r--r-- | src/main/java/kubatech/loaders/MobRecipeLoader.java | 14 |
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 ed1e55e05b..b6c8d1e5c1 100644 --- a/src/main/java/kubatech/loaders/MobRecipeLoader.java +++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java @@ -603,13 +603,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; @@ -642,7 +648,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; @@ -1096,7 +1102,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; |
