From 55e592e542b6a0fd20e46987b7f4870bb7e85814 Mon Sep 17 00:00:00 2001 From: DemonWav Date: Sat, 13 Dec 2014 23:59:49 -0600 Subject: Don't decrement ItemStack when CreatureSpawnEvent is canceled - addresses SPIGOT-87 --- nms-patches/ItemMonsterEgg.patch | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'nms-patches') diff --git a/nms-patches/ItemMonsterEgg.patch b/nms-patches/ItemMonsterEgg.patch index a53df16b..39d62af2 100644 --- a/nms-patches/ItemMonsterEgg.patch +++ b/nms-patches/ItemMonsterEgg.patch @@ -1,5 +1,5 @@ ---- ../work/decompile-8eb82bde//net/minecraft/server/ItemMonsterEgg.java 2014-12-03 10:52:09.804159084 +0000 -+++ src/main/java/net/minecraft/server/ItemMonsterEgg.java 2014-12-03 10:51:53.380159449 +0000 +--- ../work/decompile-8eb82bde/net/minecraft/server/ItemMonsterEgg.java 2014-12-15 13:53:30.086979118 +0000 ++++ src/main/java/net/minecraft/server/ItemMonsterEgg.java 2014-12-15 13:53:30.086979118 +0000 @@ -19,7 +19,8 @@ } @@ -23,12 +23,19 @@ if (!EntityTypes.eggInfo.containsKey(Integer.valueOf(i))) { return null; } else { -@@ -123,7 +130,7 @@ +@@ -123,8 +130,13 @@ entityinsentient.aI = entityinsentient.yaw; entityinsentient.aG = entityinsentient.yaw; entityinsentient.prepare(world.E(new BlockPosition(entityinsentient)), (GroupDataEntity) null); - world.addEntity(entity); -+ world.addEntity(entity, spawnReason); // CraftBukkit - entityinsentient.x(); +- entityinsentient.x(); ++ // CraftBukkit start - don't return an entity when CreatureSpawnEvent is canceled ++ if (!world.addEntity(entity, spawnReason)) { ++ entity = null; ++ } else { ++ entityinsentient.x(); ++ } ++ // CraftBukkit end } } + -- cgit v1.2.3