From 1c91d5f173c9320fbaf93fbec28d18649b8e9ac8 Mon Sep 17 00:00:00 2001 From: Eldrinn-Elantey <46845681+Eldrinn-Elantey@users.noreply.github.com> Date: Sun, 15 Mar 2026 18:03:00 +0400 Subject: [PATCH] Revert "Fix resource packs being reset on startup (symlink packs included) (#31)" This reverts commit 265814d709e8e6ee7af6dde61ca5a0437dabcf7c. --- gradle.properties | 2 +- .../alexiil/mods/load/MinecraftDisplayer.java | 26 ++++++++++++++----- src/main/resources/META-INF/bls_at.cfg | 2 -- 3 files changed, 20 insertions(+), 10 deletions(-) delete mode 100644 src/main/resources/META-INF/bls_at.cfg diff --git a/gradle.properties b/gradle.properties index 0de9e64..bd5e94e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -95,7 +95,7 @@ apiPackage = # Specify the configuration file for Forge's access transformers here. It must be placed into /src/main/resources/META-INF/ # There can be multiple files in a space-separated list. # Example value: mymodid_at.cfg nei_at.cfg -accessTransformersFile = bls_at.cfg +accessTransformersFile = # Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled! usesMixins = false diff --git a/src/main/java/alexiil/mods/load/MinecraftDisplayer.java b/src/main/java/alexiil/mods/load/MinecraftDisplayer.java index b3ae8c0..2b49b6f 100644 --- a/src/main/java/alexiil/mods/load/MinecraftDisplayer.java +++ b/src/main/java/alexiil/mods/load/MinecraftDisplayer.java @@ -14,6 +14,7 @@ import java.io.OutputStream; import java.io.PrintStream; import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; @@ -208,8 +209,19 @@ public MinecraftDisplayer(boolean preview) { } @SuppressWarnings("unchecked") - private List getDefaultResourcePackList() { - return mc.defaultResourcePacks; + private List getOnlyList() { + Field[] flds = mc.getClass().getDeclaredFields(); + for (Field f : flds) { + if (f.getType().equals(List.class) && !Modifier.isStatic(f.getModifiers())) { + f.setAccessible(true); + try { + return (List) f.get(mc); + } catch (Throwable e) { + e.printStackTrace(); + } + } + } + return null; } public void openPreview(ImageRender[] renders) { @@ -691,10 +703,8 @@ public void open(Configuration cfg) { if (!ProgressDisplayer.coreModLocation.isDirectory()) myPack = new FMLFileResourcePack(ProgressDisplayer.modContainer); else myPack = new FMLFolderResourcePack(ProgressDisplayer.modContainer); - List defaultPacks = getDefaultResourcePackList(); - if (!defaultPacks.contains(myPack)) { - defaultPacks.add(myPack); - } + getOnlyList().add(myPack); + mc.refreshResources(); } handleTips(); @@ -1212,6 +1222,7 @@ private FontRenderer fontRenderer(String fontTexture) { font.onResourceManagerReload(mc.getResourceManager()); font.setUnicodeFlag(mc.func_152349_b()); if (!preview) { + mc.refreshResources(); font.onResourceManagerReload(mc.getResourceManager()); } fontRenderers.put(fontTexture, font); @@ -1443,6 +1454,7 @@ private void preDisplayScreen() { textureManager = mc.renderEngine; } else { textureManager = mc.renderEngine = new TextureManager(mc.getResourceManager()); + mc.refreshResources(); textureManager.onResourceManagerReload(mc.getResourceManager()); mc.fontRenderer = new FontRenderer( mc.gameSettings, @@ -1517,7 +1529,7 @@ public void close() { if (backgroundExec != null) { backgroundExec.shutdown(); } - getDefaultResourcePackList().remove(myPack); + getOnlyList().remove(myPack); if (imgurCacheManager != null) { imgurCacheManager.cleanUp(); diff --git a/src/main/resources/META-INF/bls_at.cfg b/src/main/resources/META-INF/bls_at.cfg deleted file mode 100644 index 9b9bd2a..0000000 --- a/src/main/resources/META-INF/bls_at.cfg +++ /dev/null @@ -1,2 +0,0 @@ -# Make Minecraft.defaultResourcePacks accessible -public net.minecraft.client.Minecraft field_110449_ao # defaultResourcePacks \ No newline at end of file