From 87b4f6367a0c25cd6bb520894a25af28a253b7e1 Mon Sep 17 00:00:00 2001 From: Jonathing Date: Mon, 23 Dec 2024 17:16:31 -0500 Subject: [PATCH] [1.20.6] Skip processing Forge classes in `RuntimeDistCleaner` (#10210) Co-authored-by: Paint_Ninja --- .../fml/loading/RuntimeDistCleaner.java | 16 +++++++++++----- .../minecraftforge/client/event/ScreenEvent.java | 3 --- .../gui/TitleScreenModUpdateIndicator.java | 3 --- .../client/loading/ClientModLoader.java | 3 --- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/fmlloader/src/main/java/net/minecraftforge/fml/loading/RuntimeDistCleaner.java b/fmlloader/src/main/java/net/minecraftforge/fml/loading/RuntimeDistCleaner.java index 7b43e334b3..7aa9a20ae0 100644 --- a/fmlloader/src/main/java/net/minecraftforge/fml/loading/RuntimeDistCleaner.java +++ b/fmlloader/src/main/java/net/minecraftforge/fml/loading/RuntimeDistCleaner.java @@ -173,7 +173,7 @@ public class RuntimeDistCleaner implements ILaunchPluginService return unpacked; } - private boolean remove(final List anns, final String side) + private static boolean remove(final List anns, final String side) { var onlyIns = unpack(anns); @@ -193,7 +193,7 @@ public class RuntimeDistCleaner implements ILaunchPluginService return false; } - private boolean hasOnlyInWithModAnnotation(final List anns) + private static boolean hasOnlyInWithModAnnotation(final List anns) { if (anns == null) { @@ -231,9 +231,15 @@ public class RuntimeDistCleaner implements ILaunchPluginService private static final EnumSet NAY = EnumSet.noneOf(Phase.class); @Override - public EnumSet handlesClass(Type classType, boolean isEmpty) - { - return isEmpty ? NAY : YAY; + public EnumSet handlesClass(Type classType, boolean isEmpty) { + if (isEmpty) + return NAY; + + String internalName = classType.getInternalName(); + if (internalName.startsWith("net/minecraftforge/")) + return NAY; + + return YAY; } private static class LambdaGatherer extends MethodVisitor { diff --git a/src/main/java/net/minecraftforge/client/event/ScreenEvent.java b/src/main/java/net/minecraftforge/client/event/ScreenEvent.java index 3f0e5c4bc0..f20b750b65 100644 --- a/src/main/java/net/minecraftforge/client/event/ScreenEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ScreenEvent.java @@ -10,8 +10,6 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.Cancelable; import net.minecraftforge.eventbus.api.Event; @@ -38,7 +36,6 @@ import java.util.function.Consumer; * @see MouseInput * @see KeyInput */ -@OnlyIn(Dist.CLIENT) public abstract class ScreenEvent extends Event { private final Screen screen; diff --git a/src/main/java/net/minecraftforge/client/gui/TitleScreenModUpdateIndicator.java b/src/main/java/net/minecraftforge/client/gui/TitleScreenModUpdateIndicator.java index 34bddc9e5f..8376d69fa3 100644 --- a/src/main/java/net/minecraftforge/client/gui/TitleScreenModUpdateIndicator.java +++ b/src/main/java/net/minecraftforge/client/gui/TitleScreenModUpdateIndicator.java @@ -11,14 +11,11 @@ import net.minecraft.client.gui.screens.TitleScreen; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.loading.FMLConfig; import net.minecraftforge.versions.forge.ForgeVersion; import net.minecraftforge.fml.VersionChecker; import net.minecraftforge.client.loading.ClientModLoader; -import net.minecraftforge.api.distmarker.Dist; -@OnlyIn(Dist.CLIENT) public class TitleScreenModUpdateIndicator extends Screen { diff --git a/src/main/java/net/minecraftforge/client/loading/ClientModLoader.java b/src/main/java/net/minecraftforge/client/loading/ClientModLoader.java index dbb9f41174..5b4d07dcfc 100644 --- a/src/main/java/net/minecraftforge/client/loading/ClientModLoader.java +++ b/src/main/java/net/minecraftforge/client/loading/ClientModLoader.java @@ -25,15 +25,12 @@ import org.apache.logging.log4j.Logger; import net.minecraft.client.Minecraft; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.server.packs.PackType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ForgeConfig; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.client.gui.LoadingErrorScreen; import net.minecraftforge.resource.ResourcePackLoader; import net.minecraftforge.server.LanguageHook; -@OnlyIn(Dist.CLIENT) public class ClientModLoader { private static final Logger LOGGER = LogManager.getLogger(); private static boolean loading;