summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/mixins
diff options
context:
space:
mode:
authorRoman / Linnea Gräf <nea@nea.moe>2023-06-24 19:03:52 +0200
committerGitHub <noreply@github.com>2023-06-24 19:03:52 +0200
commit847100cb50dea171d494e541bc3a19bf8438ba3d (patch)
treec5f3064dc3c4beeab793c7e78eab36bf1ce655ea /src/main/java/at/hannibal2/skyhanni/mixins
parent105bc5ee1593a8c16842026c600fc9ffcd2977e5 (diff)
downloadskyhanni-847100cb50dea171d494e541bc3a19bf8438ba3d.tar.gz
skyhanni-847100cb50dea171d494e541bc3a19bf8438ba3d.tar.bz2
skyhanni-847100cb50dea171d494e541bc3a19bf8438ba3d.zip
Merge pull request #256
* Remove old update data after each update * VoltHighlighter * VoltHighlighter
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/mixins')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetHandlerPlayClient.java10
1 files changed, 10 insertions, 0 deletions
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 bd4107369..8d2f6c5d3 100644
--- a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetHandlerPlayClient.java
+++ b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinNetHandlerPlayClient.java
@@ -1,15 +1,19 @@
package at.hannibal2.skyhanni.mixins.transformers;
+import at.hannibal2.skyhanni.events.EntityEquipmentChangeEvent;
import at.hannibal2.skyhanni.mixins.hooks.NetHandlerPlayClientHookKt;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.network.NetHandlerPlayClient;
+import net.minecraft.entity.Entity;
import net.minecraft.network.Packet;
import net.minecraft.network.play.INetHandlerPlayClient;
+import net.minecraft.network.play.server.S04PacketEntityEquipment;
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.callback.CallbackInfo;
+import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
@Mixin(value = NetHandlerPlayClient.class, priority = 1001)
public abstract class MixinNetHandlerPlayClient implements INetHandlerPlayClient {
@@ -21,4 +25,10 @@ public abstract class MixinNetHandlerPlayClient implements INetHandlerPlayClient
private void onSendPacket(Packet<?> packet, CallbackInfo ci) {
NetHandlerPlayClientHookKt.onSendPacket(packet, ci);
}
+
+ @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)
+ public void onEntityEquipment(S04PacketEntityEquipment packetIn, CallbackInfo ci, Entity entity) {
+ new EntityEquipmentChangeEvent(entity, packetIn.getEquipmentSlot(), packetIn.getItemStack()).postAndCatch();
+ }
+
}