Vintagestory.GameContent.BEBehaviorFruiting.FromTreeAttributes C# (CSharp) Method

FromTreeAttributes() public method

public FromTreeAttributes ( ITreeAttribute tree, IWorldAccessor worldForResolving ) : void
tree ITreeAttribute
worldForResolving IWorldAccessor
return void
        public override void FromTreeAttributes(ITreeAttribute tree, IWorldAccessor worldForResolving)
        {
            base.FromTreeAttributes(tree, worldForResolving);

            if (positionsCount == 0) positionsCount = tree.GetInt("count");
            if (positionsCount == 0) positionsCount = 10;
            if (fruitPoints == null) fruitPoints = new FruitData[positionsCount];

            for (int i = 0; i < positionsCount; i++)
            {
                double td = tree.GetDouble("td" + i);
                int var = tree.GetInt("var" + i);
                int tc = tree.GetInt("tc" + i);

                FruitData val = fruitPoints[i];
                if (val == null)
                {
                    val = new FruitData(-1, td, this, null);
                    fruitPoints[i] = val;
                }
                if (Api is ICoreClientAPI && val.variant >= 0)  //there was an existing FruitData at this position
                {
                    manager.RemoveFruit(fruitCodeBases[val.variant] + val.currentStage, positions[i]);
                }
                val.variant = var;
                val.currentStage = tc;
                val.transitionDate = td;

                if (Api is ICoreClientAPI && val.variant >= 0 && val.currentStage > 0)
                {
                    val.SetRandomRotation(Api.World, i, positions[i], this.Blockentity.Pos);
                    manager.AddFruit(new AssetLocation(fruitCodeBases[val.variant] + val.currentStage), positions[i], val);
                }
            }


        }