From 91b161f8b89a9ac2e8cd1d575ffc06b0f37dfcb9 Mon Sep 17 00:00:00 2001 From: Su5eD Date: Thu, 6 Jun 2024 19:08:12 +0200 Subject: [PATCH] Add datagen entrypoint hook Fixes #1128 --- .../mod/mixin/boot/DatagenModLoaderMixin.java | 16 ++++++++++++++++ .../mod/mixin/boot/ServerMainMixin.java | 1 - src/mod/resources/connectormod.mixins.json | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/mod/java/org/sinytra/connector/mod/mixin/boot/DatagenModLoaderMixin.java diff --git a/src/mod/java/org/sinytra/connector/mod/mixin/boot/DatagenModLoaderMixin.java b/src/mod/java/org/sinytra/connector/mod/mixin/boot/DatagenModLoaderMixin.java new file mode 100644 index 00000000..00abe63f --- /dev/null +++ b/src/mod/java/org/sinytra/connector/mod/mixin/boot/DatagenModLoaderMixin.java @@ -0,0 +1,16 @@ +package org.sinytra.connector.mod.mixin.boot; + +import net.minecraftforge.data.loading.DatagenModLoader; +import org.sinytra.connector.mod.ConnectorLoader; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(value = DatagenModLoader.class, remap = false) +public class DatagenModLoaderMixin { + @Inject(method = "begin", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/fml/ModLoader;gatherAndInitializeMods(Lnet/minecraftforge/fml/ModWorkManager$DrivenExecutor;Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V")) + private static void earlyInit(CallbackInfo ci) { + ConnectorLoader.load(); + } +} diff --git a/src/mod/java/org/sinytra/connector/mod/mixin/boot/ServerMainMixin.java b/src/mod/java/org/sinytra/connector/mod/mixin/boot/ServerMainMixin.java index 308b158b..3981642a 100644 --- a/src/mod/java/org/sinytra/connector/mod/mixin/boot/ServerMainMixin.java +++ b/src/mod/java/org/sinytra/connector/mod/mixin/boot/ServerMainMixin.java @@ -9,7 +9,6 @@ @Mixin(Main.class) public abstract class ServerMainMixin { - @Inject(method = "main", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/server/loading/ServerModLoader;load()V"), remap = false) private static void earlyInit(CallbackInfo ci) { ConnectorLoader.load(); diff --git a/src/mod/resources/connectormod.mixins.json b/src/mod/resources/connectormod.mixins.json index 3bdb554e..2f45104f 100644 --- a/src/mod/resources/connectormod.mixins.json +++ b/src/mod/resources/connectormod.mixins.json @@ -12,6 +12,7 @@ "PlayerListMixin", "PoiTypesMixin", "TagLoaderMixin", + "boot.DatagenModLoaderMixin", "item.ForgeHooksMixin", "item.ItemStackMixin", "item.LateItemStackMixin",