From bf4c9b5b18cdd0b033af07c7c81726e0f5ad42c0 Mon Sep 17 00:00:00 2001 From: MrPowerGamerBR Date: Tue, 11 Jun 2024 02:06:40 -0300 Subject: [PATCH] Allow setting the packet object in the ClientboundPacketPreDispatchEvent --- ...0001-Add-ClientboundPacketPreDispatchEvent.patch | 13 ++++++++++--- ...0020-Add-ClientboundPacketPreDispatchEvent.patch | 5 +++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/patches/api/0001-Add-ClientboundPacketPreDispatchEvent.patch b/patches/api/0001-Add-ClientboundPacketPreDispatchEvent.patch index 1846949..9527b50 100644 --- a/patches/api/0001-Add-ClientboundPacketPreDispatchEvent.patch +++ b/patches/api/0001-Add-ClientboundPacketPreDispatchEvent.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add ClientboundPacketPreDispatchEvent diff --git a/src/main/java/net/sparklypower/sparklypaper/event/packet/ClientboundPacketPreDispatchEvent.java b/src/main/java/net/sparklypower/sparklypaper/event/packet/ClientboundPacketPreDispatchEvent.java new file mode 100644 -index 0000000000000000000000000000000000000000..6d36dccdc08e7e523771fde4d8d1bb73e430114c +index 0000000000000000000000000000000000000000..91f43f880320508c9f30ae68d603d5342269f177 --- /dev/null +++ b/src/main/java/net/sparklypower/sparklypaper/event/packet/ClientboundPacketPreDispatchEvent.java -@@ -0,0 +1,72 @@ +@@ -0,0 +1,79 @@ +package net.sparklypower.sparklypaper.event.packet; + +import org.bukkit.entity.Player; @@ -31,7 +31,7 @@ index 0000000000000000000000000000000000000000..6d36dccdc08e7e523771fde4d8d1bb73 + private static final HandlerList handlers = new HandlerList(); + private boolean isCancelled = false; + private final Player player; -+ private final Object packet; ++ private Object packet; + + public ClientboundPacketPreDispatchEvent(boolean isAsync, @Nullable Player player, @NotNull Object packet) { + super(isAsync); @@ -61,6 +61,13 @@ index 0000000000000000000000000000000000000000..6d36dccdc08e7e523771fde4d8d1bb73 + return packet; + } + ++ /** ++ * Sets the packet associated with this event. ++ */ ++ public void setPacket(Object packet) { ++ this.packet = packet; ++ } ++ + @NotNull + @Override + public HandlerList getHandlers() { diff --git a/patches/server/0020-Add-ClientboundPacketPreDispatchEvent.patch b/patches/server/0020-Add-ClientboundPacketPreDispatchEvent.patch index a811b8f..338bebf 100644 --- a/patches/server/0020-Add-ClientboundPacketPreDispatchEvent.patch +++ b/patches/server/0020-Add-ClientboundPacketPreDispatchEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add ClientboundPacketPreDispatchEvent diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index f40420a6841f03983b0837e177ea2ae7c3a37ca1..18bfe8706209141ce2174588320e84e91f15c94e 100644 +index f40420a6841f03983b0837e177ea2ae7c3a37ca1..cd3aaa7ddabbb65250c49c40d4668316284daf74 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -442,6 +442,17 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -442,6 +442,18 @@ public class Connection extends SimpleChannelInboundHandler> { return; } @@ -21,6 +21,7 @@ index f40420a6841f03983b0837e177ea2ae7c3a37ca1..18bfe8706209141ce2174588320e84e9 + org.bukkit.Bukkit.getPluginManager().callEvent(event); + if (event.isCancelled()) + return; ++ packet = (Packet) event.getPacket(); + // SparklyPaper end + packet.onPacketDispatch(this.getPlayer());