if(amountToDrop > itemstack.stackSize)
{
amountToDrop = itemstack.stackSize;
}
itemstack.stackSize -= amountToDrop;
EntityItem entityitem = new EntityItem(world, (float)x + xOffset, (float)y + yOffset, (float)z + zOffset, new ItemStack(itemstack.getItem(), amountToDrop, itemstack.getItemDamage()));
if(itemstack.getTagCompound() != null)
{
entityitem.getEntityItem().setTagCompound(itemstack.getTagCompound());
}
float motionMultiplier = 0.05F;
entityitem.motionX = (float)world.rand.nextGaussian() * motionMultiplier;
entityitem.motionY = (float)world.rand.nextGaussian() * motionMultiplier + 0.2F;
entityitem.motionZ = (float)world.rand.nextGaussian() * motionMultiplier;