Skip to content

Commit

Permalink
fix: Fix ScreenInitEvent not firing on repositioning options screen o…
Browse files Browse the repository at this point in the history
…n Forge and NeoForge TwelveIterationMods/ClientTweaks#96
  • Loading branch information
BlayTheNinth committed Feb 22, 2025
1 parent 2a56fc9 commit fd50ba2
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package net.blay09.mods.balm.mixin;

import net.blay09.mods.balm.api.Balm;
import net.blay09.mods.balm.api.event.client.screen.ScreenInitEvent;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.options.OptionsScreen;
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(OptionsScreen.class)
public class OptionsScreenMixin {
@Inject(method = "repositionElements", at = @At("HEAD"))
private void repositionElements(CallbackInfo ci) {
Balm.getEvents().fireEvent(new ScreenInitEvent.Pre((Screen) (Object) this));
}

@Inject(method = "repositionElements", at = @At("RETURN"))
private void repositionElementsPost(CallbackInfo ci) {
Balm.getEvents().fireEvent(new ScreenInitEvent.Post((Screen) (Object) this));
}

}
3 changes: 2 additions & 1 deletion forge/src/main/resources/balm.forge.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
"MouseHandlerAccessor",
"ScreenAccessor",
"MinecraftMixin",
"ModelBakeryMixin"
"ModelBakeryMixin",
"OptionsScreenMixin"
],
"injectors": {
"defaultRequire": 1
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package net.blay09.mods.balm.mixin;

import net.blay09.mods.balm.api.Balm;
import net.blay09.mods.balm.api.event.client.screen.ScreenInitEvent;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.options.OptionsScreen;
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(OptionsScreen.class)
public class OptionsScreenMixin {
@Inject(method = "repositionElements", at = @At("HEAD"))
private void repositionElements(CallbackInfo ci) {
Balm.getEvents().fireEvent(new ScreenInitEvent.Pre((Screen) (Object) this));
}

@Inject(method = "repositionElements", at = @At("RETURN"))
private void repositionElementsPost(CallbackInfo ci) {
Balm.getEvents().fireEvent(new ScreenInitEvent.Post((Screen) (Object) this));
}

}
3 changes: 2 additions & 1 deletion neoforge/src/main/resources/balm.neoforge.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
"KeyMappingMixin",
"MouseHandlerAccessor",
"ScreenAccessor",
"ModelBakeryMixin"
"ModelBakeryMixin",
"OptionsScreenMixin"
],
"injectors": {
"defaultRequire": 1
Expand Down

0 comments on commit fd50ba2

Please sign in to comment.