public override void OnBlockRemoved()
{
base.OnBlockRemoved();
if (Api is ICoreClientAPI)
{
RemoveRenderedFruits();
}
int dropCount = 0;
for (int i = 0; i < fruitPoints.Length; i++)
{
FruitData val = fruitPoints[i];
if (val.variant < 0 || val.currentStage == 0) continue;
Item item = Api.World.GetItem(new AssetLocation(fruitCodeBases[val.variant] + val.currentStage));
if (item == null) continue;
if (item.Attributes != null && item.Attributes["onGround"].AsBool(false)) continue; // ignore fruits already on the ground
if (val.currentStage == this.ripeStage)
{
dropCount++;
}
else if (Math.Abs(val.currentStage - this.ripeStage) == 1 && Api.World.Rand.NextDouble() > 0.5) dropCount++;
}
if (dropCount > 0)
{
ItemStack stack = new ItemStack(Api.World.GetItem(dropCode), dropCount);
Api.World.SpawnItemEntity(stack, Blockentity.Pos.ToVec3d().Add(0.5, 0.25, 0.5));
}
}