int y = srcy + k;
int z = srcz + j;
Block block = world.getBlock(x, y, z);
if((stackDmg == 0 && block instanceof BlockBush && !(block instanceof ISpecialFlower) && (!(block instanceof IGrassHornExcempt) || ((IGrassHornExcempt) block).canUproot(world, x, y, z))) || (stackDmg == 1 && block instanceof BlockLeavesBase))
coords.add(new ChunkCoordinates(x, y, z));
}
Collections.shuffle(coords, rand);
int count = Math.min(coords.size(), 32 + stackDmg * 16);
for(int i = 0; i < count; i++) {
ChunkCoordinates currCoords = coords.get(i);
List<ItemStack> items = new ArrayList();
Block block = world.getBlock(currCoords.posX, currCoords.posY, currCoords.posZ);
int meta = world.getBlockMetadata(currCoords.posX, currCoords.posY, currCoords.posZ);
items.addAll(block.getDrops(world, currCoords.posX, currCoords.posY, currCoords.posZ, meta, 0));