Paper/Spigot-Server-Patches/0142-Reimplement-PlayerEditBookEvent.patch
2016-06-08 23:42:46 -05:00

62 lines
3.2 KiB
Diff

From ee9f584a42f7ea0a771c35d252472f2fe8d66250 Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
Date: Sat, 23 Apr 2016 19:51:19 -0400
Subject: [PATCH] Reimplement PlayerEditBookEvent
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 58b8468..2ce8aa9 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2226,9 +2226,11 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
if (itemstack.getItem() == Items.WRITABLE_BOOK && itemstack.getItem() == itemstack1.getItem()) {
itemstack1.a("pages", (NBTBase) itemstack.getTag().getList("pages", 8));
+ CraftEventFactory.handleEditBookEvent(player, itemstack1); // Paper
}
} catch (Exception exception) {
PlayerConnection.LOGGER.error("Couldn\'t handle book info", exception);
+ this.disconnect("Invalid Book Data!"); // Paper
}
} else {
String s1;
@@ -2266,9 +2268,11 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
itemstack1.a("pages", (NBTBase) nbttaglist);
itemstack1.setItem(Items.WRITTEN_BOOK);
+ CraftEventFactory.handleEditBookEvent(player, itemstack1); // Paper
}
} catch (Exception exception1) {
PlayerConnection.LOGGER.error("Couldn\'t sign book", exception1);
+ this.disconnect("Invalid Book Data!"); // Paper
}
} else if ("MC|TrSel".equals(s)) {
try {
@@ -2329,6 +2333,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
} catch (Exception exception3) {
PlayerConnection.LOGGER.error("Couldn\'t set command block", exception3);
+ this.disconnect("Invalid Command Block Data!"); // Paper
}
} else if ("MC|AutoCmd".equals(s)) {
if (!this.minecraftServer.getEnableCommandBlock()) {
@@ -2396,6 +2401,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
} catch (Exception exception4) {
PlayerConnection.LOGGER.error("Couldn\'t set command block", exception4);
+ this.disconnect("Invalid Command Block Data!"); // Paper
}
} else {
int k;
@@ -2419,6 +2425,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
} catch (Exception exception5) {
PlayerConnection.LOGGER.error("Couldn\'t set beacon", exception5);
+ this.disconnect("Invalid Beacon Data!"); // Paper
}
}
} else if ("MC|ItemName".equals(s)) {
--
2.8.3