From 6e1b3d13c1940c62ceec0d750dbe22cd4577c767 Mon Sep 17 00:00:00 2001 From: Matthias <48327140+Matthias1590@users.noreply.github.com> Date: Mon, 24 Jul 2023 18:14:55 +0200 Subject: [PATCH] Fix INIT_POST not being invoked (#418) * Fix INIT_POST not being invoked * Fix formatting * Register callback for INIT_POST event in test mod --- .../dev/architectury/mixin/fabric/client/MixinScreen.java | 4 ++-- .../main/java/dev/architectury/test/events/DebugEvents.java | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/client/MixinScreen.java b/fabric/src/main/java/dev/architectury/mixin/fabric/client/MixinScreen.java index 97401fa8..73e8e6af 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/client/MixinScreen.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/client/MixinScreen.java @@ -71,8 +71,8 @@ public abstract class MixinScreen implements ScreenInputDelegate { } } - @Inject(method = "init(Lnet/minecraft/client/Minecraft;II)V", at = @At(value = "RETURN")) - private void postInit(Minecraft minecraft, int i, int j, CallbackInfo ci) { + @Inject(method = "rebuildWidgets", at = @At(value = "RETURN")) + private void postInit(CallbackInfo ci) { ClientGuiEvent.INIT_POST.invoker().init((Screen) (Object) this, getAccess()); } } diff --git a/testmod-common/src/main/java/dev/architectury/test/events/DebugEvents.java b/testmod-common/src/main/java/dev/architectury/test/events/DebugEvents.java index 4a36ef71..f01b5e39 100644 --- a/testmod-common/src/main/java/dev/architectury/test/events/DebugEvents.java +++ b/testmod-common/src/main/java/dev/architectury/test/events/DebugEvents.java @@ -290,6 +290,9 @@ public class DebugEvents { TestMod.SINK.accept(toSimpleName(screen) + " initializes"); return EventResult.pass(); }); + ClientGuiEvent.INIT_POST.register(((screen, access) -> { + TestMod.SINK.accept(toSimpleName(screen) + " initialized"); + })); InteractionEvent.CLIENT_LEFT_CLICK_AIR.register((player, hand) -> { TestMod.SINK.accept(player.getScoreboardName() + " left clicks air" + logSide(player.level())); });