aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/mixin
diff options
context:
space:
mode:
authornextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com>2022-06-05 10:39:49 +0100
committernextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com>2022-06-05 10:39:49 +0100
commit17826161c67f6adf5976d7993ac0a229193e2eb6 (patch)
treef4172013d2db0986f0bb123040be1dc5b5823b3d /src/main/java/cc/polyfrost/oneconfig/mixin
parent087f5404658a1543834f16a89e3436f8399297f6 (diff)
parent72c024213e7c61411ce12f6032f8ef0659408c3a (diff)
downloadOneConfig-17826161c67f6adf5976d7993ac0a229193e2eb6.tar.gz
OneConfig-17826161c67f6adf5976d7993ac0a229193e2eb6.tar.bz2
OneConfig-17826161c67f6adf5976d7993ac0a229193e2eb6.zip
Merge remote-tracking branch 'origin/master'
# Conflicts: # src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java # src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java # src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicButton.java # src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicElement.java # src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java # src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java # src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java # src/main/java/cc/polyfrost/oneconfig/utils/GuiUtils.java # src/main/java/cc/polyfrost/oneconfig/utils/commands/annotations/Command.java # src/main/java/cc/polyfrost/oneconfig/utils/commands/arguments/ArgumentParser.java
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/mixin')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/mixin/MinecraftMixin.java21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/mixin/MinecraftMixin.java b/src/main/java/cc/polyfrost/oneconfig/mixin/MinecraftMixin.java
index e40c5fc..6618094 100644
--- a/src/main/java/cc/polyfrost/oneconfig/mixin/MinecraftMixin.java
+++ b/src/main/java/cc/polyfrost/oneconfig/mixin/MinecraftMixin.java
@@ -3,15 +3,16 @@ package cc.polyfrost.oneconfig.mixin;
import cc.polyfrost.oneconfig.OneConfig;
import cc.polyfrost.oneconfig.events.EventManager;
import cc.polyfrost.oneconfig.events.event.*;
-import cc.polyfrost.oneconfig.libs.mixinextras.injector.ModifyExpressionValue;
import net.minecraft.client.Minecraft;
import net.minecraft.util.Timer;
import net.minecraftforge.client.event.GuiOpenEvent;
+import net.minecraftforge.fml.common.eventhandler.Event;
import org.objectweb.asm.Opcodes;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.ModifyArg;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(Minecraft.class)
@@ -49,14 +50,18 @@ public class MinecraftMixin {
EventManager.INSTANCE.post(new TickEvent(Stage.END));
}
- @ModifyExpressionValue(method = "displayGuiScreen", at = @At(value = "NEW", target = "Lnet/minecraftforge/client/event/GuiOpenEvent;<init>(Lnet/minecraft/client/gui/GuiScreen;)V", remap = false), remap = true)
- private GuiOpenEvent onGuiOpenEvent(GuiOpenEvent screen) {
- ScreenOpenEvent event = new ScreenOpenEvent(screen.gui);
- EventManager.INSTANCE.post(event);
- if (event.isCancelled) {
- screen.setCanceled(true);
+ @ModifyArg(method = "displayGuiScreen", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/fml/common/eventhandler/EventBus;post(Lnet/minecraftforge/fml/common/eventhandler/Event;)Z", remap = false), remap = true)
+ private Event onGuiOpenEvent(Event a) {
+ if (a instanceof GuiOpenEvent) {
+ GuiOpenEvent forgeEvent = (GuiOpenEvent) a;
+ ScreenOpenEvent event = new ScreenOpenEvent(forgeEvent.gui);
+ EventManager.INSTANCE.post(event);
+ if (event.isCancelled) {
+ forgeEvent.setCanceled(true);
+ }
+ return forgeEvent;
}
- return screen;
+ return a;
}
@Inject(method = "runGameLoop", at = @At(value = "FIELD", target = "Lnet/minecraft/util/Timer;renderPartialTicks:F", opcode = Opcodes.PUTFIELD, shift = At.Shift.AFTER))