From 8db0dbfc44231627c6095a72fcc8eebe04e5fd3e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 30 Jun 2016 16:15:38 +1000
Subject: [PATCH] SPIGOT-1405: Call EntityChangeBlockEvent for Rabbits eating
 Carrots

---
 nms-patches/EntityRabbit.patch | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/nms-patches/EntityRabbit.patch b/nms-patches/EntityRabbit.patch
index b9bcabf1df..0ecf78558d 100644
--- a/nms-patches/EntityRabbit.patch
+++ b/nms-patches/EntityRabbit.patch
@@ -15,3 +15,27 @@
  
      protected void r() {
          this.goalSelector.a(1, new PathfinderGoalFloat(this));
+@@ -412,9 +418,23 @@
+                     Integer integer = (Integer) iblockdata.get(BlockCarrots.AGE);
+ 
+                     if (integer.intValue() == 0) {
++                        // CraftBukkit start
++                        if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.c, blockposition.getX(), blockposition.getY(), blockposition.getZ(), Blocks.AIR, 0).isCancelled()) {
++                            return;
++                        }
++                        // CraftBukkit end
+                         world.setTypeAndData(blockposition, Blocks.AIR.getBlockData(), 2);
+                         world.setAir(blockposition, true);
+                     } else {
++                        // CraftBukkit start
++                        if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(
++                                this.c,
++                                blockposition.getX(), blockposition.getY(), blockposition.getZ(),
++                                block, block.toLegacyData(iblockdata.set(BlockCarrots.AGE, Integer.valueOf(integer.intValue() - 1)))
++                        ).isCancelled()) {
++                            return;
++                        }
++                        // CraftBukkit end
+                         world.setTypeAndData(blockposition, iblockdata.set(BlockCarrots.AGE, Integer.valueOf(integer.intValue() - 1)), 2);
+                         world.triggerEffect(2001, blockposition, Block.getCombinedId(iblockdata));
+                     }