From 8d415cbbc51eca2c8d6e90646606cca8326d13ec Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 23 Jun 2016 23:33:57 -0400 Subject: [PATCH] IllegalPacketEvent Fired for invalid data from players that represents hacking attempts diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java index 51d27351d..437575003 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -56,6 +56,7 @@ import org.bukkit.inventory.CraftingInventory; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.InventoryView; import org.bukkit.util.NumberConversions; +import com.destroystokyo.paper.event.player.IllegalPacketEvent; // Paper import co.aikar.timings.MinecraftTimings; // Paper // CraftBukkit end @@ -2236,8 +2237,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { CraftEventFactory.handleEditBookEvent(player, itemstack1); // CraftBukkit } } catch (Exception exception) { - PlayerConnection.LOGGER.error("Couldn\'t handle book info", exception); - this.disconnect("Invalid book data!"); // CraftBukkit + IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidBookEdit", "Invalid book data!", exception); // Paper } } else { String s1; @@ -2286,8 +2286,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { CraftEventFactory.handleEditBookEvent(player, itemstack2); // CraftBukkit } } catch (Exception exception1) { - PlayerConnection.LOGGER.error("Couldn\'t sign book", exception1); - this.disconnect("Invalid book data!"); // CraftBukkit + IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidBookSign", "Invalid book data!", exception1); // Paper } } else if ("MC|TrSel".equals(s)) { try { @@ -2298,8 +2297,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { ((ContainerMerchant) container).d(j); } } catch (Exception exception2) { - PlayerConnection.LOGGER.error("Couldn\'t select trade", exception2); - this.disconnect("Invalid trade data!"); // CraftBukkit + IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidTrade", "Invalid trade data!", exception2); // Paper } } else { TileEntity tileentity; @@ -2440,8 +2438,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { iinventory.update(); } } catch (Exception exception5) { - PlayerConnection.LOGGER.error("Couldn\'t set beacon", exception5); - this.disconnect("Invalid beacon data!"); // CraftBukkit + IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidBeacon", "Invalid beacon data!", exception5); // Paper } } } else if ("MC|ItemName".equals(s)) { @@ -2540,7 +2537,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { this.player.playerConnection.sendPacket(new PacketPlayOutSetSlot(-2, k, this.player.inventory.getItem(k))); this.player.playerConnection.sendPacket(new PacketPlayOutHeldItemSlot(this.player.inventory.itemInHandIndex)); } catch (Exception exception7) { - PlayerConnection.LOGGER.error("Couldn\'t pick item", exception7); + IllegalPacketEvent.process(player.getBukkitEntity(), "InvalidPickItem", "Invalid PickItem", exception7); // Paper } } // CraftBukkit start -- 2.12.2.windows.2