From 98859fbc28da21d0833dc7861a1c6e942d7500f2 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Wed, 1 Oct 2025 17:50:18 +0200 Subject: [PATCH] feat: support NeoForge on 1.21.9 `@Environment` annotations had to be removed because NeoForge doesn't like them. Also, this brings down file size :) --- .../src/main/java/eu/midnightdust/core/MidnightLib.java | 3 --- .../core/screen/MidnightConfigOverviewScreen.java | 3 --- .../java/eu/midnightdust/lib/config/MidnightConfig.java | 5 ----- .../midnightdust/lib/config/MidnightConfigListWidget.java | 3 --- .../eu/midnightdust/lib/config/MidnightConfigScreen.java | 3 --- .../eu/midnightdust/fabric/core/MidnightLibFabric.java | 5 +++-- gradle.properties | 8 ++++---- .../lib/util/neoforge/PlatformFunctionsImpl.java | 2 +- .../eu/midnightdust/neoforge/MidnightLibNeoForge.java | 6 +++--- settings.gradle | 2 +- 10 files changed, 12 insertions(+), 28 deletions(-) diff --git a/common/src/main/java/eu/midnightdust/core/MidnightLib.java b/common/src/main/java/eu/midnightdust/core/MidnightLib.java index e1282db..7057d20 100755 --- a/common/src/main/java/eu/midnightdust/core/MidnightLib.java +++ b/common/src/main/java/eu/midnightdust/core/MidnightLib.java @@ -3,8 +3,6 @@ package eu.midnightdust.core; import eu.midnightdust.core.config.MidnightLibConfig; import eu.midnightdust.lib.config.AutoCommand; import eu.midnightdust.lib.config.MidnightConfig; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.util.Util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,7 +17,6 @@ public class MidnightLib { public static final String MOD_ID = "midnightlib"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); - @Environment(EnvType.CLIENT) public static void onInitializeClient() { try { if (Util.getOperatingSystem() != Util.OperatingSystem.OSX) { diff --git a/common/src/main/java/eu/midnightdust/core/screen/MidnightConfigOverviewScreen.java b/common/src/main/java/eu/midnightdust/core/screen/MidnightConfigOverviewScreen.java index f7f3fcb..54a5806 100755 --- a/common/src/main/java/eu/midnightdust/core/screen/MidnightConfigOverviewScreen.java +++ b/common/src/main/java/eu/midnightdust/core/screen/MidnightConfigOverviewScreen.java @@ -2,8 +2,6 @@ package eu.midnightdust.core.screen; import eu.midnightdust.core.MidnightLib; import eu.midnightdust.lib.config.MidnightConfig; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.ButtonWidget; @@ -17,7 +15,6 @@ import java.util.Objects; import eu.midnightdust.lib.config.MidnightConfigListWidget; -@Environment(EnvType.CLIENT) public class MidnightConfigOverviewScreen extends Screen { public MidnightConfigOverviewScreen(Screen parent) { diff --git a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java index 6a8f556..b6fd499 100755 --- a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java +++ b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java @@ -3,8 +3,6 @@ package eu.midnightdust.lib.config; import com.google.gson.*; import com.google.gson.stream.*; import eu.midnightdust.lib.util.PlatformFunctions; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.*; import net.minecraft.client.resource.language.I18n; @@ -83,7 +81,6 @@ public abstract class MidnightConfig { instance.loadValuesFromJson(); } - @Environment(EnvType.CLIENT) public void addClientEntry(Field field, EntryInfo info) { Entry e = info.entry; if (e != null && info.dataType != null) { @@ -215,11 +212,9 @@ public abstract class MidnightConfig { public void onTabInit(String tabName, MidnightConfigListWidget list, MidnightConfigScreen screen) { } - @Environment(EnvType.CLIENT) public static Screen getScreen(Screen parent, String modid) { return configInstances.get(modid).getScreen(parent); } - @Environment(EnvType.CLIENT) public Screen getScreen(Screen parent) { return new MidnightConfigScreen(parent, modid); } diff --git a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfigListWidget.java b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfigListWidget.java index 6e35061..476ef90 100644 --- a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfigListWidget.java +++ b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfigListWidget.java @@ -1,7 +1,5 @@ package eu.midnightdust.lib.config; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gl.RenderPipelines; import net.minecraft.client.gui.DrawContext; @@ -12,7 +10,6 @@ import net.minecraft.text.Text; import java.util.List; -@Environment(EnvType.CLIENT) public class MidnightConfigListWidget extends ElementListWidget { public boolean renderHeaderSeparator = true; diff --git a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfigScreen.java b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfigScreen.java index 5afdfb6..48f7246 100644 --- a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfigScreen.java +++ b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfigScreen.java @@ -1,8 +1,6 @@ package eu.midnightdust.lib.config; import com.google.common.collect.Lists; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.tab.GridScreenTab; @@ -28,7 +26,6 @@ import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Predicate; -@Environment(EnvType.CLIENT) public class MidnightConfigScreen extends Screen { public MidnightConfig instance; public final String translationPrefix, modid; diff --git a/fabric/src/main/java/eu/midnightdust/fabric/core/MidnightLibFabric.java b/fabric/src/main/java/eu/midnightdust/fabric/core/MidnightLibFabric.java index 2538458..b616bb5 100644 --- a/fabric/src/main/java/eu/midnightdust/fabric/core/MidnightLibFabric.java +++ b/fabric/src/main/java/eu/midnightdust/fabric/core/MidnightLibFabric.java @@ -1,10 +1,11 @@ package eu.midnightdust.fabric.core; import eu.midnightdust.core.MidnightLib; -import net.fabricmc.api.*; +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.api.DedicatedServerModInitializer; public class MidnightLibFabric implements DedicatedServerModInitializer, ClientModInitializer { - @Override @Environment(EnvType.CLIENT) + @Override public void onInitializeClient() { MidnightLib.onInitializeClient(); MidnightLib.registerAutoCommand(); diff --git a/gradle.properties b/gradle.properties index 449fdb1..6491a29 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ org.gradle.jvmargs=-Xmx3172M -minecraft_version=1.21.9-rc1 +minecraft_version=1.21.9 supported_versions= -yarn_mappings=1.21.9-rc1+build.2 +yarn_mappings=1.21.9+build.1 enabled_platforms=fabric,neoforge archives_base_name=midnightlib @@ -13,9 +13,9 @@ curseforge_id=488090 modrinth_id=codAaoxh fabric_loader_version=0.17.2 -fabric_api_version=0.133.13+1.21.9 +fabric_api_version=0.133.14+1.21.9 -neoforge_version=21.6.0-beta +neoforge_version=21.9.3-beta yarn_mappings_patch_neoforge_version = 1.21+build.4 mod_menu_version = 9.0.0 \ No newline at end of file diff --git a/neoforge/src/main/java/eu/midnightdust/lib/util/neoforge/PlatformFunctionsImpl.java b/neoforge/src/main/java/eu/midnightdust/lib/util/neoforge/PlatformFunctionsImpl.java index 5e92f60..c6ea4c9 100644 --- a/neoforge/src/main/java/eu/midnightdust/lib/util/neoforge/PlatformFunctionsImpl.java +++ b/neoforge/src/main/java/eu/midnightdust/lib/util/neoforge/PlatformFunctionsImpl.java @@ -22,7 +22,7 @@ public class PlatformFunctionsImpl { return FMLPaths.CONFIGDIR.get(); } public static boolean isClientEnv() { - return FMLEnvironment.dist.isClient(); + return FMLEnvironment.getDist().isClient(); } public static boolean isModLoaded(String modid) { return ModList.get().isLoaded(modid); diff --git a/neoforge/src/main/java/eu/midnightdust/neoforge/MidnightLibNeoForge.java b/neoforge/src/main/java/eu/midnightdust/neoforge/MidnightLibNeoForge.java index 57e2d6b..2ccbb3f 100644 --- a/neoforge/src/main/java/eu/midnightdust/neoforge/MidnightLibNeoForge.java +++ b/neoforge/src/main/java/eu/midnightdust/neoforge/MidnightLibNeoForge.java @@ -23,15 +23,15 @@ public class MidnightLibNeoForge { public static List> commands = new ArrayList<>(); public MidnightLibNeoForge() { - if (FMLEnvironment.dist == Dist.CLIENT) MidnightLib.onInitializeClient(); + if (FMLEnvironment.getDist() == Dist.CLIENT) MidnightLib.onInitializeClient(); } - @EventBusSubscriber(modid = "midnightlib", bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) + @EventBusSubscriber(modid = "midnightlib", value = Dist.CLIENT) public static class MidnightLibBusEvents { @SubscribeEvent public static void onPostInit(FMLClientSetupEvent event) { ModList.get().forEachModContainer((modid, modContainer) -> { - if (MidnightConfig.configClass.containsKey(modid) && !MidnightLib.hiddenMods.contains(modid)) { + if (MidnightConfig.configInstances.containsKey(modid) && !MidnightLib.hiddenMods.contains(modid)) { modContainer.registerExtensionPoint(IConfigScreenFactory.class, (minecraftClient, screen) -> MidnightConfig.getScreen(screen, modid)); } }); diff --git a/settings.gradle b/settings.gradle index 653a2fe..eb1c254 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,7 +9,7 @@ pluginManagement { include("common") include("fabric") -//include("neoforge") +include("neoforge") //include("quilt") rootProject.name = "midnightlib" \ No newline at end of file