From 04f34a00fa5876576aa0a103fcc6dcf98f8ad71c Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Mon, 29 May 2023 10:15:18 -0400 Subject: [PATCH 1/2] Fix resource pack cache not working as well as it could --- .../mixin/perf/resourcepacks/ModFileResourcePackMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcepacks/ModFileResourcePackMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcepacks/ModFileResourcePackMixin.java index bfb3d510..ff0046d2 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcepacks/ModFileResourcePackMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/resourcepacks/ModFileResourcePackMixin.java @@ -70,7 +70,7 @@ public abstract class ModFileResourcePackMixin implements ICachingResourcePack { @Inject(method = "getResources", at = @At("HEAD"), cancellable = true) private void fastGetResources(PackType type, String resourceNamespace, String pathIn, int maxDepth, Predicate filter, CallbackInfoReturnable> cir) { - if(!PackTypeHelper.isVanillaPackType(type) || this.cacheEngine == null) + if(!PackTypeHelper.isVanillaPackType(type)) return; cir.setReturnValue(this.generateResourceCache().getResources(type, resourceNamespace, pathIn, maxDepth, filter)); } From a7d894cbc2fde0ad591f9c99eed1730eb5b60201 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Mon, 29 May 2023 10:16:54 -0400 Subject: [PATCH 2/2] Disable cache invalidation outside dev Not needed as mod contents shouldn't change (right...) --- .../modernfix/resources/PackResourcesCacheEngine.java | 3 +++ .../modernfix/platform/forge/ModernFixPlatformHooksImpl.java | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java b/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java index 8c592cdf..ef5e2cbc 100644 --- a/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java +++ b/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java @@ -8,6 +8,7 @@ import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.PackType; import org.embeddedt.modernfix.ModernFix; +import org.embeddedt.modernfix.platform.ModernFixPlatformHooks; import org.embeddedt.modernfix.util.PackTypeHelper; import java.io.IOException; @@ -163,6 +164,8 @@ public class PackResourcesCacheEngine { } public static void invalidate() { + if(!ModernFixPlatformHooks.isDevEnv()) + return; synchronized (cachingPacks) { cachingPacks.keySet().forEach(pack -> { if(pack != null) diff --git a/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java b/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java index 525a7d47..8b31a33e 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java +++ b/forge/src/main/java/org/embeddedt/modernfix/platform/forge/ModernFixPlatformHooksImpl.java @@ -22,7 +22,6 @@ import net.minecraftforge.fml.ModLoader; import net.minecraftforge.fml.loading.FMLLoader; import net.minecraftforge.fml.loading.FMLPaths; import net.minecraftforge.fml.loading.LoadingModList; -import net.minecraftforge.fml.loading.moddiscovery.ExplodedDirectoryLocator; import net.minecraftforge.fml.loading.moddiscovery.ModInfo; import net.minecraftforge.fml.network.PacketDistributor; import net.minecraftforge.fml.server.ServerLifecycleHooks; @@ -76,7 +75,7 @@ public class ModernFixPlatformHooksImpl { } public static boolean isDevEnv() { - return !FMLLoader.isProduction() && FMLLoader.getLoadingModList().getModFileById("modernfix").getFile().getLocator() instanceof ExplodedDirectoryLocator; + return !FMLLoader.isProduction(); } public static MinecraftServer getCurrentServer() {