From 294f24c71ef3d9c163b184aaf3652a8b9520f932 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Mon, 13 Jul 2020 19:43:39 +0200 Subject: [PATCH] Fix jGui resources in 1.16 dev env --- .../java/com/replaymod/core/ReplayMod.java | 25 ++++++++----------- .../core/mixin/MixinModResourcePackUtil.java | 3 +++ 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/replaymod/core/ReplayMod.java b/src/main/java/com/replaymod/core/ReplayMod.java index 14622a87..0fb75540 100644 --- a/src/main/java/com/replaymod/core/ReplayMod.java +++ b/src/main/java/com/replaymod/core/ReplayMod.java @@ -233,15 +233,17 @@ public class ReplayMod implements return folder; } + public static final DirectoryResourcePack jGuiResourcePack; static { // Note: even preInit is too late and we'd have to issue another resource reload - initJGuiResourcePack(); + jGuiResourcePack = initJGuiResourcePack(); } - private static void initJGuiResourcePack() { + private static DirectoryResourcePack initJGuiResourcePack() { File folder = new File("../jGui/src/main/resources"); if (!folder.exists()) { - return; + return null; } + //noinspection UnnecessaryLocalVariable DirectoryResourcePack jGuiResourcePack = new DirectoryResourcePack(folder) { @Override protected InputStream openFile(String resourceName) throws IOException { @@ -261,22 +263,13 @@ public class ReplayMod implements } } }; - //#if MC>=11600 - //$$ // TODO - //#else - //#if MC>=11400 - mc.getResourcePackManager().registerProvider(new ResourcePackProvider() { - @Override - public void register(Map map, ResourcePackProfile.Factory factory) { - map.put("jgui", ResourcePackProfile.of("jgui", true, () -> jGuiResourcePack, factory, ResourcePackProfile.InsertionPosition.BOTTOM)); - } - }); - //#else + + //#if MC<=11202 //$$ @SuppressWarnings("unchecked") //$$ List defaultResourcePacks = ((MinecraftAccessor) mc).getDefaultResourcePacks(); //$$ defaultResourcePacks.add(jGuiResourcePack); //#endif - //#endif + //#if MC<=10710 //$$ FolderResourcePack mainResourcePack = new FolderResourcePack(new File("../src/main/resources")) { //$$ @Override @@ -293,6 +286,8 @@ public class ReplayMod implements //$$ }; //$$ defaultResourcePacks.add(mainResourcePack); //#endif + + return jGuiResourcePack; } //#if FABRIC>=1 diff --git a/src/main/java/com/replaymod/core/mixin/MixinModResourcePackUtil.java b/src/main/java/com/replaymod/core/mixin/MixinModResourcePackUtil.java index 6d3d4b7c..6c4722b2 100644 --- a/src/main/java/com/replaymod/core/mixin/MixinModResourcePackUtil.java +++ b/src/main/java/com/replaymod/core/mixin/MixinModResourcePackUtil.java @@ -27,6 +27,9 @@ public class MixinModResourcePackUtil { if (pack instanceof ModResourcePack && ((ModResourcePack) pack).getFabricModMetadata().getId().equals(ReplayMod.MOD_ID)) { ModContainer container = FabricLoader.getInstance().getModContainer(ReplayMod.MOD_ID).orElseThrow(IllegalAccessError::new); packList.add(i, new LangResourcePack(container.getRootPath())); + if (ReplayMod.jGuiResourcePack != null) { + packList.add(i, ReplayMod.jGuiResourcePack); + } return; } }