From d5c9a3c990f79121ba9b10f6839ae606dd67da6a Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Thu, 11 Dec 2014 00:13:27 +0000 Subject: [PATCH] SPIGOT-179: Fix the age counter not being reset for cacti and reeds --- nms-patches/BlockCactus.patch | 14 +++++++++----- nms-patches/BlockReed.patch | 9 ++++----- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/nms-patches/BlockCactus.patch b/nms-patches/BlockCactus.patch index 735984583c..212835fc2c 100644 --- a/nms-patches/BlockCactus.patch +++ b/nms-patches/BlockCactus.patch @@ -1,5 +1,5 @@ ---- ../work/decompile-8eb82bde//net/minecraft/server/BlockCactus.java 2014-11-28 17:43:42.877707440 +0000 -+++ src/main/java/net/minecraft/server/BlockCactus.java 2014-11-28 17:38:18.000000000 +0000 +--- ../work/decompile-8eb82bde/net/minecraft/server/BlockCactus.java 2014-12-11 00:12:27.888272532 +0000 ++++ src/main/java/net/minecraft/server/BlockCactus.java 2014-12-11 00:10:42.528273676 +0000 @@ -3,6 +3,8 @@ import java.util.Iterator; import java.util.Random; @@ -9,13 +9,17 @@ public class BlockCactus extends Block { public static final BlockStateInteger AGE = BlockStateInteger.of("age", 0, 15); -@@ -31,7 +33,8 @@ - world.setTypeUpdate(blockposition1, this.getBlockData()); +@@ -28,10 +30,11 @@ + int j = ((Integer) iblockdata.get(BlockCactus.AGE)).intValue(); + + if (j == 15) { +- world.setTypeUpdate(blockposition1, this.getBlockData()); ++ // world.setTypeUpdate(blockposition1, this.getBlockData()); IBlockData iblockdata1 = iblockdata.set(BlockCactus.AGE, Integer.valueOf(0)); - world.setTypeAndData(blockposition, iblockdata1, 4); + CraftEventFactory.handleBlockGrowEvent(world, blockposition1.getX(), blockposition1.getY(), blockposition1.getZ(), this, 0); // CraftBukkit -+ // world.setTypeAndData(blockposition, iblockdata1, 4); // CraftBukkit ++ world.setTypeAndData(blockposition, iblockdata1, 4); // CraftBukkit this.doPhysics(world, blockposition1, iblockdata1, this); } else { world.setTypeAndData(blockposition, iblockdata.set(BlockCactus.AGE, Integer.valueOf(j + 1)), 4); diff --git a/nms-patches/BlockReed.patch b/nms-patches/BlockReed.patch index 1c2c5f28fb..1409d40a8c 100644 --- a/nms-patches/BlockReed.patch +++ b/nms-patches/BlockReed.patch @@ -1,16 +1,15 @@ ---- ../work/decompile-8eb82bde//net/minecraft/server/BlockReed.java 2014-11-28 17:43:42.957707438 +0000 -+++ src/main/java/net/minecraft/server/BlockReed.java 2014-11-28 17:38:18.000000000 +0000 +--- ../work/decompile-8eb82bde/net/minecraft/server/BlockReed.java 2014-12-11 00:12:28.088272530 +0000 ++++ src/main/java/net/minecraft/server/BlockReed.java 2014-12-11 00:10:59.832273488 +0000 @@ -29,8 +29,13 @@ int j = ((Integer) iblockdata.get(BlockReed.AGE)).intValue(); if (j == 15) { - world.setTypeUpdate(blockposition.up(), this.getBlockData()); -- world.setTypeAndData(blockposition, iblockdata.set(BlockReed.AGE, Integer.valueOf(0)), 4); + // CraftBukkit start + // world.setTypeUpdate(blockposition.up(), this.getBlockData()); -+ // world.setTypeAndData(blockposition, iblockdata.set(BlockReed.AGE, Integer.valueOf(0)), 4); + BlockPosition upPos = blockposition.up(); -+ org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockGrowEvent(world, upPos.getX(), upPos.getY(), upPos.getZ(), this, 0); ++ org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockGrowEvent(world, upPos.getX(), upPos.getY(), upPos.getZ(), this, 0); + world.setTypeAndData(blockposition, iblockdata.set(BlockReed.AGE, Integer.valueOf(0)), 4); + // CraftBukkit end + } else {