/// <inheritdoc /> public override void RandomUpdate(World world, Vector3i position, uint data) { LiquidInstance?liquid = world.GetLiquid(position); if (liquid?.Liquid == Liquid.Water && liquid.Level == LiquidLevel.Eight) { world.SetBlock(Mud.AsInstance(), position); } }
/// <inheritdoc /> public override void RandomUpdate(World world, Vector3i position, uint data) { LiquidInstance?liquid = world.GetLiquid(position); if (liquid?.Liquid == Liquid.Water && liquid.Level == LiquidLevel.Eight) { world.SetBlock(Mud.AsInstance(), position); } for (int yOffset = -1; yOffset <= 1; yOffset++) { foreach (Orientation orientation in Orientations.All) { Vector3i otherPosition = orientation.Offset(position) + Vector3i.UnitY * yOffset; if (world.GetBlock(otherPosition)?.Block is IGrassSpreadable grassSpreadable) { grassSpreadable.SpreadGrass(world, otherPosition, this); } } } }