@Override protected NonNullList<ItemStack> harvestBlock(World world, BlockPos pos) { NonNullList<ItemStack> harvested = NonNullList.create(); harvested.add(new ItemStack(Blocks.CHORUS_FLOWER)); float chance = ForgeEventFactory.fireBlockHarvesting(harvested, world, pos, BLOCK_STATE, 0, 1.0F, false, null); harvested.removeIf(next -> world.rand.nextFloat() > chance); PacketFXSignal packet = new PacketFXSignal(PacketFXSignal.VisualFXType.BLOCK_BREAK, PacketFXSignal.SoundFXType.BLOCK_BREAK, pos, BLOCK_STATE); NetworkUtil.sendNetworkPacket(packet, pos, world); world.setBlockToAir(pos); return harvested; } }