--- a/net/minecraft/server/BlockChorusFlower.java +++ b/net/minecraft/server/BlockChorusFlower.java @@ -4,6 +4,8 @@ import java.util.Random; import javax.annotation.Nullable; +import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit + public class BlockChorusFlower extends Block { public static final BlockStateInteger AGE = BlockProperties.ab; @@ -58,8 +60,12 @@ } if (flag && b((IWorldReader) worldserver, blockposition1, (EnumDirection) null) && worldserver.isEmpty(blockposition.up(2))) { - worldserver.setTypeAndData(blockposition, this.b.a((IBlockAccess) worldserver, blockposition), 2); - this.b(worldserver, blockposition1, i); + // CraftBukkit start - add event + if (CraftEventFactory.handleBlockSpreadEvent(worldserver, blockposition, blockposition1, this.getBlockData().set(BlockChorusFlower.AGE, Integer.valueOf(i)), 2)) { + worldserver.setTypeAndData(blockposition, this.b.a((IBlockAccess) worldserver, blockposition), 2); + this.b(worldserver, blockposition1, i); + } + // CraftBukkit end } else if (i < 4) { j = random.nextInt(4); if (flag1) { @@ -73,18 +79,30 @@ BlockPosition blockposition2 = blockposition.shift(enumdirection); if (worldserver.isEmpty(blockposition2) && worldserver.isEmpty(blockposition2.down()) && b((IWorldReader) worldserver, blockposition2, enumdirection.opposite())) { - this.b(worldserver, blockposition2, i + 1); - flag2 = true; + // CraftBukkit start - add event + if (CraftEventFactory.handleBlockSpreadEvent(worldserver, blockposition, blockposition2, this.getBlockData().set(BlockChorusFlower.AGE, Integer.valueOf(i + 1)), 2)) { + this.b(worldserver, blockposition2, i + 1); + flag2 = true; + } + // CraftBukkit end } } if (flag2) { worldserver.setTypeAndData(blockposition, this.b.a((IBlockAccess) worldserver, blockposition), 2); } else { - this.a((World) worldserver, blockposition); + // CraftBukkit - add event + if (CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, this.getBlockData().set(BlockChorusFlower.AGE, Integer.valueOf(5)), 2)) { + this.a((World) worldserver, blockposition); + } + // CraftBukkit end } } else { - this.a((World) worldserver, blockposition); + // CraftBukkit - add event + if (CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, this.getBlockData().set(BlockChorusFlower.AGE, Integer.valueOf(5)), 2)) { + this.a((World) worldserver, blockposition); + } + // CraftBukkit end } }