--- a/net/minecraft/world/level/block/BlockCrops.java +++ b/net/minecraft/world/level/block/BlockCrops.java @@ -21,6 +21,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShapeCollision; +import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit + public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement { public static final int MAX_AGE = 7; @@ -76,7 +78,7 @@ float f = getGrowthSpeed(this, worldserver, blockposition); if (randomsource.nextInt((int) (25.0F / f) + 1) == 0) { - worldserver.setBlock(blockposition, this.getStateForAge(i + 1), 2); + CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, this.getStateForAge(i + 1), 2); // CraftBukkit } } } @@ -91,7 +93,7 @@ i = j; } - world.setBlock(blockposition, this.getStateForAge(i), 2); + CraftEventFactory.handleBlockGrowEvent(world, blockposition, this.getStateForAge(i), 2); // CraftBukkit } protected int getBonemealAgeIncrease(World world) { @@ -149,7 +151,7 @@ @Override public void entityInside(IBlockData iblockdata, World world, BlockPosition blockposition, Entity entity) { - if (entity instanceof EntityRavager && world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) { + if (entity instanceof EntityRavager && !CraftEventFactory.callEntityChangeBlockEvent(entity, blockposition, Blocks.AIR.defaultBlockState(), !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) { // CraftBukkit world.destroyBlock(blockposition, true, entity); }