aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/mixins
diff options
context:
space:
mode:
authorBrady <thatgravyboat@gmail.com>2024-06-08 06:48:29 -0230
committerGitHub <noreply@github.com>2024-06-08 11:18:29 +0200
commitf9cafb766115d5342f7d7e1f8b9e3a56504f0273 (patch)
treecd325dbd48a4f8cde6f7e3c74e49cf0ebef99cad /src/main/java/at/hannibal2/skyhanni/mixins
parentf677ce0fa1cab31feccab6eff2e5c35e2524d8a3 (diff)
downloadskyhanni-f9cafb766115d5342f7d7e1f8b9e3a56504f0273.tar.gz
skyhanni-f9cafb766115d5342f7d7e1f8b9e3a56504f0273.tar.bz2
skyhanni-f9cafb766115d5342f7d7e1f8b9e3a56504f0273.zip
Backend: Packet Events (#2025)
Co-authored-by: Cal <cwolfson58@gmail.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/mixins')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/hooks/NetHandlerPlayClientHook.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/hooks/NetworkManagerHook.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetHandlerPlayClient.java7
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetworkManager.java6
4 files changed, 8 insertions, 23 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/hooks/NetHandlerPlayClientHook.kt b/src/main/java/at/hannibal2/skyhanni/mixins/hooks/NetHandlerPlayClientHook.kt
deleted file mode 100644
index b18d80613..000000000
--- a/src/main/java/at/hannibal2/skyhanni/mixins/hooks/NetHandlerPlayClientHook.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.hannibal2.skyhanni.mixins.hooks
-
-import at.hannibal2.skyhanni.events.PacketEvent
-import net.minecraft.network.Packet
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
-
-fun onSendPacket(packet: Packet<*>, ci: CallbackInfo) {
- if (PacketEvent.SendEvent(packet).postAndCatch()) ci.cancel()
-} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/hooks/NetworkManagerHook.kt b/src/main/java/at/hannibal2/skyhanni/mixins/hooks/NetworkManagerHook.kt
deleted file mode 100644
index 71f6aaba9..000000000
--- a/src/main/java/at/hannibal2/skyhanni/mixins/hooks/NetworkManagerHook.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.hannibal2.skyhanni.mixins.hooks
-
-import at.hannibal2.skyhanni.events.PacketEvent
-import net.minecraft.network.Packet
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
-
-fun onReceivePacket(packet: Packet<*>, ci: CallbackInfo) {
- if (PacketEvent.ReceiveEvent(packet).postAndCatch()) ci.cancel()
-}
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetHandlerPlayClient.java b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetHandlerPlayClient.java
index 879e41061..b8bb676db 100644
--- a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetHandlerPlayClient.java
+++ b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetHandlerPlayClient.java
@@ -1,7 +1,7 @@
package at.hannibal2.skyhanni.mixins.transformers;
import at.hannibal2.skyhanni.events.EntityEquipmentChangeEvent;
-import at.hannibal2.skyhanni.mixins.hooks.NetHandlerPlayClientHookKt;
+import at.hannibal2.skyhanni.events.minecraft.packet.PacketSentEvent;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.entity.Entity;
import net.minecraft.network.Packet;
@@ -18,7 +18,10 @@ public abstract class MixinNetHandlerPlayClient implements INetHandlerPlayClient
@Inject(method = "addToSendQueue", at = @At("HEAD"), cancellable = true)
private void onSendPacket(Packet<?> packet, CallbackInfo ci) {
- NetHandlerPlayClientHookKt.onSendPacket(packet, ci);
+ NetHandlerPlayClient handler = (NetHandlerPlayClient) (Object) this;
+ if (new PacketSentEvent(handler, packet).post()) {
+ ci.cancel();
+ }
}
@Inject(method = "handleEntityEquipment", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;setCurrentItemOrArmor(ILnet/minecraft/item/ItemStack;)V", shift = At.Shift.AFTER), locals = LocalCapture.CAPTURE_FAILHARD)
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetworkManager.java b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetworkManager.java
index 11d7ed309..a00348021 100644
--- a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetworkManager.java
+++ b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetworkManager.java
@@ -1,6 +1,6 @@
package at.hannibal2.skyhanni.mixins.transformers;
-import at.hannibal2.skyhanni.mixins.hooks.NetworkManagerHookKt;
+import at.hannibal2.skyhanni.events.minecraft.packet.PacketReceivedEvent;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import net.minecraft.network.NetworkManager;
@@ -15,8 +15,8 @@ public abstract class MixinNetworkManager extends SimpleChannelInboundHandler<Pa
@Inject(method = "channelRead0*", at = @At("HEAD"), cancellable = true)
private void onReceivePacket(ChannelHandlerContext context, Packet<?> packet, CallbackInfo ci) {
- if (packet != null) {
- NetworkManagerHookKt.onReceivePacket(packet, ci);
+ if (packet != null && new PacketReceivedEvent(packet).post()) {
+ ci.cancel();
}
}
}