--- a/net/minecraft/world/level/block/BlockCactus.java +++ b/net/minecraft/world/level/block/BlockCactus.java @@ -22,6 +22,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShapeCollision; +import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit + public class BlockCactus extends Block { public static final BlockStateInteger AGE = BlockProperties.AGE_15; @@ -58,7 +60,7 @@ int j = (Integer) iblockdata.getValue(BlockCactus.AGE); if (j == 15) { - worldserver.setBlockAndUpdate(blockposition1, this.defaultBlockState()); + CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition1, this.defaultBlockState()); // CraftBukkit IBlockData iblockdata1 = (IBlockData) iblockdata.setValue(BlockCactus.AGE, 0); worldserver.setBlock(blockposition, iblockdata1, 4); @@ -115,7 +117,9 @@ @Override public void entityInside(IBlockData iblockdata, World world, BlockPosition blockposition, Entity entity) { + CraftEventFactory.blockDamage = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); // CraftBukkit entity.hurt(DamageSource.CACTUS, 1.0F); + CraftEventFactory.blockDamage = null; // CraftBukkit } @Override