From e36dbe12d58e5c0e49fb104e5050796afb0f060f Mon Sep 17 00:00:00 2001 From: Jozufozu Date: Fri, 24 Jan 2025 16:32:35 -0600 Subject: [PATCH] Post merge fixes - Move ForgeVanillinConfig -> NeoForgeVanillinConfig - Fix references to old forge config builder - Move mixin declaration to mods.toml - Remove jij'd mixinextras --- .../dev/engine_room/vanillin/Vanillin.java | 2 +- .../vanillin/resources/vanillin.mixins.json | 2 +- vanillinNeoForge/build.gradle.kts | 5 ---- .../vanillin/NeoForgeVanillinConfig.java | 28 +++++++++---------- .../vanillin/VanillinNeoForgeClient.java | 21 +++++++++++--- .../resources/META-INF/neoforge.mods.toml | 3 ++ 6 files changed, 36 insertions(+), 25 deletions(-) rename vanillinForge/src/main/java/dev/engine_room/vanillin/ForgeVanillinConfig.java => vanillinNeoForge/src/main/java/dev/engine_room/vanillin/NeoForgeVanillinConfig.java (79%) diff --git a/common/src/vanillin/java/dev/engine_room/vanillin/Vanillin.java b/common/src/vanillin/java/dev/engine_room/vanillin/Vanillin.java index 8eefa0c6f..b6685402c 100644 --- a/common/src/vanillin/java/dev/engine_room/vanillin/Vanillin.java +++ b/common/src/vanillin/java/dev/engine_room/vanillin/Vanillin.java @@ -12,6 +12,6 @@ public class Vanillin { public static final Logger CONFIG_LOGGER = LoggerFactory.getLogger(ID + "/config"); public static ResourceLocation rl(String path) { - return new ResourceLocation(ID, path); + return ResourceLocation.fromNamespaceAndPath(ID, path); } } diff --git a/common/src/vanillin/resources/vanillin.mixins.json b/common/src/vanillin/resources/vanillin.mixins.json index b7f3c9a42..58beed818 100644 --- a/common/src/vanillin/resources/vanillin.mixins.json +++ b/common/src/vanillin/resources/vanillin.mixins.json @@ -2,7 +2,7 @@ "required" : true, "minVersion" : "0.8", "package" : "dev.engine_room.vanillin.mixin", - "compatibilityLevel" : "JAVA_17", + "compatibilityLevel" : "JAVA_21", "refmap" : "vanillin.refmap.json", "client" : [ "text.BakedGlyphMixin", diff --git a/vanillinNeoForge/build.gradle.kts b/vanillinNeoForge/build.gradle.kts index 891fc05d6..ff167e4c6 100644 --- a/vanillinNeoForge/build.gradle.kts +++ b/vanillinNeoForge/build.gradle.kts @@ -42,10 +42,6 @@ loom { add(main, "vanillin.refmap.json") } - forge { - mixinConfig("vanillin.mixins.json") - } - runs { configureEach { property("forge.logging.markers", "") @@ -70,7 +66,6 @@ dependencies { compileOnly(project(path = common, configuration = "vanillinResources")) compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:0.4.1")!!) - implementation(include("io.github.llamalad7:mixinextras-forge:0.4.1")!!) // JiJ flywheel proper include(project(path = platform, configuration = "flywheelRemap")) diff --git a/vanillinForge/src/main/java/dev/engine_room/vanillin/ForgeVanillinConfig.java b/vanillinNeoForge/src/main/java/dev/engine_room/vanillin/NeoForgeVanillinConfig.java similarity index 79% rename from vanillinForge/src/main/java/dev/engine_room/vanillin/ForgeVanillinConfig.java rename to vanillinNeoForge/src/main/java/dev/engine_room/vanillin/NeoForgeVanillinConfig.java index 5504545c2..4c391b8d7 100644 --- a/vanillinForge/src/main/java/dev/engine_room/vanillin/ForgeVanillinConfig.java +++ b/vanillinNeoForge/src/main/java/dev/engine_room/vanillin/NeoForgeVanillinConfig.java @@ -13,24 +13,24 @@ import dev.engine_room.vanillin.config.ModOverrides; import dev.engine_room.vanillin.config.VisualConfigValue; import dev.engine_room.vanillin.config.VisualOverride; import dev.engine_room.vanillin.config.VisualOverrideValue; -import net.minecraftforge.common.ForgeConfigSpec; -import net.minecraftforge.fml.ModList; -import net.minecraftforge.fml.ModLoadingContext; -import net.minecraftforge.fml.config.ModConfig; -import net.minecraftforge.forgespi.language.IModInfo; +import net.neoforged.fml.ModList; +import net.neoforged.fml.ModLoadingContext; +import net.neoforged.fml.config.ModConfig; +import net.neoforged.neoforge.common.ModConfigSpec; +import net.neoforged.neoforgespi.language.IModInfo; -public class ForgeVanillinConfig { - public static final ForgeVanillinConfig INSTANCE = new ForgeVanillinConfig(VanillaVisuals.CONFIGURATOR); +public class NeoForgeVanillinConfig { + public static final NeoForgeVanillinConfig INSTANCE = new NeoForgeVanillinConfig(VanillaVisuals.CONFIGURATOR); private final Configurator configurator; - private final ForgeConfigSpec clientSpec; + private final ModConfigSpec clientSpec; private final ConfigSection blockEntities; private final ConfigSection entities; - private ForgeVanillinConfig(Configurator configurator) { + private NeoForgeVanillinConfig(Configurator configurator) { this.configurator = configurator; - var builder = new ForgeConfigSpec.Builder(); + var builder = new ModConfigSpec.Builder(); // Seems like we need to register all field ahead of time so this constructor must run after VanillaVisuals#init var blockEntities = setup(builder, configurator.blockEntities.values(), "block_entities"); @@ -49,7 +49,7 @@ public class ForgeVanillinConfig { } public void registerSpecs(ModLoadingContext context) { - context.registerConfig(ModConfig.Type.CLIENT, clientSpec); + context.getActiveContainer().registerConfig(ModConfig.Type.CLIENT, clientSpec); } private static ModOverrides modOverrides() { @@ -111,8 +111,8 @@ public class ForgeVanillinConfig { } } - private static Map> setup(ForgeConfigSpec.Builder builder, Collection configuredVisuals, String push) { - var out = new HashMap>(); + private static Map> setup(ModConfigSpec.Builder builder, Collection configuredVisuals, String push) { + var out = new HashMap>(); builder.push(push); for (var configured : configuredVisuals) { @@ -126,7 +126,7 @@ public class ForgeVanillinConfig { return out; } - private record ConfigSection(Map> config, Map> overrides) { + private record ConfigSection(Map> config, Map> overrides) { void apply(Collection values) { for (var configured : values) { var key = configured.configKey(); diff --git a/vanillinNeoForge/src/main/java/dev/engine_room/vanillin/VanillinNeoForgeClient.java b/vanillinNeoForge/src/main/java/dev/engine_room/vanillin/VanillinNeoForgeClient.java index bb9ce2d47..c2479ad28 100644 --- a/vanillinNeoForge/src/main/java/dev/engine_room/vanillin/VanillinNeoForgeClient.java +++ b/vanillinNeoForge/src/main/java/dev/engine_room/vanillin/VanillinNeoForgeClient.java @@ -1,15 +1,28 @@ package dev.engine_room.vanillin; -import dev.engine_room.vanillin.visuals.VanillaVisuals; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModLoadingContext; import net.neoforged.fml.common.Mod; -import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.fml.event.config.ModConfigEvent; @Mod(value = Vanillin.ID, dist = Dist.CLIENT) public class VanillinNeoForgeClient { - public VanillinNeoForgeClient(IEventBus modEventBus) { - IEventBus neoEventBus = NeoForge.EVENT_BUS; + public VanillinNeoForgeClient() { + var modLoadingContext = ModLoadingContext.get(); + + IEventBus modEventBus = modLoadingContext.getActiveContainer() + .getEventBus(); + VanillaVisuals.init(); + NeoForgeVanillinConfig.INSTANCE.registerSpecs(modLoadingContext); + + modEventBus.addListener(event -> { + if (event.getConfig() + .getModId() + .equals(Vanillin.ID)) { + NeoForgeVanillinConfig.INSTANCE.apply(); + } + }); } } diff --git a/vanillinNeoForge/src/main/resources/META-INF/neoforge.mods.toml b/vanillinNeoForge/src/main/resources/META-INF/neoforge.mods.toml index bb9481215..8e55373f4 100644 --- a/vanillinNeoForge/src/main/resources/META-INF/neoforge.mods.toml +++ b/vanillinNeoForge/src/main/resources/META-INF/neoforge.mods.toml @@ -14,6 +14,9 @@ authors = "Jozufozu, PepperCode1" displayURL = "${mod_homepage}" displayTest = "IGNORE_ALL_VERSION" +[[mixins]] +config = "vanillin.mixins.json" + [[dependencies.${ vanillin_id }]] modId = "minecraft" type = "required"