From 9d02da81cfb2c654dbe8cd1b84d88498d9a0cfd3 Mon Sep 17 00:00:00 2001 From: Jonathing Date: Fri, 8 Nov 2024 15:52:47 -0500 Subject: [PATCH] Bump CoreMods to 5.2 (#10161) Full Changelog: https://gist.github.com/Jonathing/c3ad28b2a048ac839a7baba5417ee870 The key features are: - ES6 language support - Thoroughly updated ASMAPI, with full documentation - Bug fixes (some optional for backwards-compatibility) - Partial internal code cleanup - Request CoreMods to not apply fix for ASMAPI.findFirstInstructionBefore by default --- .../java/net/minecraftforge/fml/loading/FMLLoader.java | 9 +++++++++ settings.gradle | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/fmlloader/src/main/java/net/minecraftforge/fml/loading/FMLLoader.java b/fmlloader/src/main/java/net/minecraftforge/fml/loading/FMLLoader.java index 94006fa508..9ec3dd687f 100644 --- a/fmlloader/src/main/java/net/minecraftforge/fml/loading/FMLLoader.java +++ b/fmlloader/src/main/java/net/minecraftforge/fml/loading/FMLLoader.java @@ -57,6 +57,9 @@ public class FMLLoader { LOGGER.debug(CORE, "Detected version data : {}", versionInfo); LOGGER.debug(CORE, "FML {} loading", LauncherVersion.getVersion()); + // Allows us to communicate properties with other services through ModLauncher + setupBlackboardKeys(); + checkPackage(ITransformationService.class, "4.0", "ModLauncher"); accessTransformer = getPlugin(env, "accesstransformer", "1.0", "AccessTransformer"); /*eventBus =*/ getPlugin(env, "eventbus", "1.0", "EventBus"); @@ -120,6 +123,12 @@ public class FMLLoader { return providers.get(0); } + private static void setupBlackboardKeys() { + LOGGER.debug(CORE, "Requesting CoreMods to not apply the fix for ASMAPI.findFirstInstructionBefore by default"); + var blackboardKey = TypesafeMap.Key.getOrCreate(Launcher.INSTANCE.blackboard(), "coremods.use_old_findFirstInstructionBefore", Boolean.class); + Launcher.INSTANCE.blackboard().computeIfAbsent(blackboardKey, k -> true); + } + static void setupLaunchHandler(final IEnvironment environment, final Map arguments) { final String launchTarget = environment.getProperty(IEnvironment.Keys.LAUNCHTARGET.get()).orElse("MISSING"); arguments.put("launchTarget", launchTarget); diff --git a/settings.gradle b/settings.gradle index 3edd427d28..5959ca233e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -28,7 +28,7 @@ dependencyResolutionManagement { library('securemodules', 'net.minecraftforge:securemodules:2.2.19') // Needs unsafe library('unsafe', 'net.minecraftforge:unsafe:0.9.2') library('accesstransformers', 'net.minecraftforge:accesstransformers:8.2.0') - library('coremods', 'net.minecraftforge:coremods:5.1.13') + library('coremods', 'net.minecraftforge:coremods:5.2.1') library('nashorn', 'org.openjdk.nashorn:nashorn-core:15.4') // Needed by coremods, because the JRE no longer ships JS library('eventbus', 'net.minecraftforge:eventbus:6.2.8') library('typetools', 'net.jodah:typetools:0.6.3') // Needed by EventBus because of lambdas