Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)

Add PacketSentEvent

Cody b0cbe0b6 6ef90252

+57 -3
+8 -1
src/main/java/net/minecraft/server/NetServerHandler.java
··· 25 25 import org.bukkit.event.block.BlockRedstoneEvent; 26 26 import org.bukkit.event.block.SignChangeEvent; 27 27 import org.bukkit.event.packet.PacketReceivedEvent; 28 + import org.bukkit.event.packet.PacketSentEvent; 28 29 import org.bukkit.event.player.PlayerAnimationEvent; 29 30 import org.bukkit.event.player.PlayerChatEvent; 30 31 import org.bukkit.event.player.PlayerCommandPreprocessEvent; ··· 936 937 } 937 938 //Poseidon End 938 939 940 + // UberBukkit 941 + PacketSentEvent packetSentEvent = new PacketSentEvent(getPlayer(), packet); 942 + Bukkit.getPluginManager().callEvent(packetSentEvent); 943 + if (packetSentEvent.isCancelled()) { 944 + return; 945 + } 946 + packet = packetSentEvent.getPacket(); 939 947 940 - // uberbukkit 941 948 Protocol protocol = Uberbukkit.getProtocolHandler(); 942 949 if (!protocol.canReceivePacket(packet.b())) { 943 950 this.g = this.f;
+2
src/main/java/org/bukkit/event/Event.java
··· 154 154 155 155 PACKET_RECEIVED(Category.PACKET), 156 156 157 + PACKET_SENT(Category.PACKET), 158 + 157 159 158 160 /** 159 161 * Called when a player first starts their connection. Called before UUID is known.
+2 -2
src/main/java/org/bukkit/event/packet/PacketListener.java
··· 5 5 /** 6 6 * @author moderator_man 7 7 */ 8 - public class PacketListener implements Listener 9 - { 8 + public class PacketListener implements Listener { 10 9 public void onPacketReceived(PacketReceivedEvent event) {} 10 + public void onPacketSent(PacketSentEvent event) {} 11 11 }
+36
src/main/java/org/bukkit/event/packet/PacketSentEvent.java
··· 1 + package org.bukkit.event.packet; 2 + 3 + import net.minecraft.server.Packet; 4 + import org.bukkit.entity.Player; 5 + import org.bukkit.event.Event; 6 + import org.jetbrains.annotations.Nullable; 7 + 8 + public class PacketSentEvent extends Event { 9 + private Player player; 10 + private Packet packet; 11 + private boolean cancelled; 12 + 13 + public PacketSentEvent(Player player, Packet packet) { 14 + super(Type.PACKET_SENT); 15 + 16 + this.player = player; 17 + this.packet = packet; 18 + } 19 + 20 + @Nullable 21 + public Player getPlayer() { 22 + return player; 23 + } 24 + 25 + public Packet getPacket() { 26 + return packet; 27 + } 28 + 29 + public boolean isCancelled() { 30 + return cancelled; 31 + } 32 + 33 + public void setCancelled(boolean cancelled) { 34 + this.cancelled = cancelled; 35 + } 36 + }
+9
src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
··· 14 14 import org.bukkit.event.inventory.InventoryTransactionEvent; 15 15 import org.bukkit.event.packet.PacketListener; 16 16 import org.bukkit.event.packet.PacketReceivedEvent; 17 + import org.bukkit.event.packet.PacketSentEvent; 17 18 import org.bukkit.event.painting.PaintingBreakEvent; 18 19 import org.bukkit.event.painting.PaintingPlaceEvent; 19 20 import org.bukkit.event.player.*; ··· 348 349 349 350 switch (type) 350 351 { 352 + // UberBukkit events 353 + case PACKET_SENT: 354 + return new EventExecutor() { 355 + public void execute(Listener listener, Event event) { 356 + ((PacketListener) listener).onPacketSent((PacketSentEvent) event); 357 + } 358 + }; 359 + 351 360 // Poseidon events 352 361 case PACKET_RECEIVED: 353 362 return new EventExecutor()