summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2018-07-08 10:25:17 +1000
committermd_5 <git@md-5.net>2018-07-08 10:25:17 +1000
commitab13683d8e636bf10f2fe7702b01c33e4737bba1 (patch)
treeb6c854ba7b78ef904287f80f499ff8c45fc26b5c
parent6103339c08455f72e25a9a10f87bbe5fa4a35f3a (diff)
downloadcraftbukkit-ab13683d8e636bf10f2fe7702b01c33e4737bba1.tar
craftbukkit-ab13683d8e636bf10f2fe7702b01c33e4737bba1.tar.gz
craftbukkit-ab13683d8e636bf10f2fe7702b01c33e4737bba1.tar.lz
craftbukkit-ab13683d8e636bf10f2fe7702b01c33e4737bba1.tar.xz
craftbukkit-ab13683d8e636bf10f2fe7702b01c33e4737bba1.zip
SPIGOT-3987: Preserve attributes when writing in books
-rw-r--r--nms-patches/PlayerConnection.patch18
1 files changed, 8 insertions, 10 deletions
diff --git a/nms-patches/PlayerConnection.patch b/nms-patches/PlayerConnection.patch
index 06ad6f64..e67b4538 100644
--- a/nms-patches/PlayerConnection.patch
+++ b/nms-patches/PlayerConnection.patch
@@ -1593,11 +1593,9 @@
packetdataserializer = packetplayincustompayload.b();
try {
-@@ -1064,15 +2166,25 @@
- }
+@@ -1065,14 +2167,23 @@
if (itemstack.getItem() == Items.WRITABLE_BOOK && itemstack.getItem() == itemstack1.getItem()) {
-+ itemstack1 = new ItemStack(Items.WRITABLE_BOOK); // CraftBukkit
itemstack1.a("pages", (NBTBase) itemstack.getTag().getList("pages", 8));
+ CraftEventFactory.handleEditBookEvent(player, itemstack1); // CraftBukkit
}
@@ -1619,7 +1617,7 @@
packetdataserializer = packetplayincustompayload.b();
try {
-@@ -1106,10 +2218,11 @@
+@@ -1106,10 +2217,11 @@
}
itemstack2.a("pages", (NBTBase) nbttaglist);
@@ -1632,7 +1630,7 @@
}
} else if ("MC|TrSel".equals(s)) {
try {
-@@ -1121,6 +2234,7 @@
+@@ -1121,6 +2233,7 @@
}
} catch (Exception exception2) {
PlayerConnection.LOGGER.error("Couldn\'t select trade", exception2);
@@ -1640,7 +1638,7 @@
}
} else {
TileEntity tileentity;
-@@ -1170,6 +2284,7 @@
+@@ -1170,6 +2283,7 @@
}
} catch (Exception exception3) {
PlayerConnection.LOGGER.error("Couldn\'t set command block", exception3);
@@ -1648,7 +1646,7 @@
}
} else if ("MC|AutoCmd".equals(s)) {
if (!this.minecraftServer.getEnableCommandBlock()) {
-@@ -1237,6 +2352,7 @@
+@@ -1237,6 +2351,7 @@
}
} catch (Exception exception4) {
PlayerConnection.LOGGER.error("Couldn\'t set command block", exception4);
@@ -1656,7 +1654,7 @@
}
} else {
int k;
-@@ -1260,6 +2376,7 @@
+@@ -1260,6 +2375,7 @@
}
} catch (Exception exception5) {
PlayerConnection.LOGGER.error("Couldn\'t set beacon", exception5);
@@ -1664,7 +1662,7 @@
}
}
} else if ("MC|ItemName".equals(s)) {
-@@ -1346,6 +2463,7 @@
+@@ -1346,6 +2462,7 @@
}
} catch (Exception exception6) {
PlayerConnection.LOGGER.error("Couldn\'t set structure block", exception6);
@@ -1672,7 +1670,7 @@
}
} else if ("MC|PickItem".equals(s)) {
packetdataserializer = packetplayincustompayload.b();
-@@ -1358,11 +2476,49 @@
+@@ -1358,11 +2475,49 @@
this.player.playerConnection.sendPacket(new PacketPlayOutHeldItemSlot(this.player.inventory.itemInHandIndex));
} catch (Exception exception7) {
PlayerConnection.LOGGER.error("Couldn\'t pick item", exception7);