internal static void PerformCraft()
        {
            for (int i = Crafts.Count - 1; i > -1; i--)
            {
                var craft = Crafts[i];
                if (craft.TechType != TechType.None && craft.Manager != null)
                {
                    if (!craft.IsCraftable)
                    {
                        continue;
                    }

                    var techData = DSSHelpers.CheckIfTechDataAvailable(craft, out var pass);

                    if (pass)
                    {
                        if (craft.Manager.RemoveItems(techData.Ingredients))
                        {
                            foreach (TechType item in techData.LinkedItems)
                            {
                                craft.Manager.AddItemToContainer(item.ToInventoryItem());
                            }

                            for (int j = 0; j < techData.craftAmount; j++)
                            {
                                craft.Manager.AddItemToContainer(craft.TechType.ToInventoryItem());
                            }
                        }
                    }
                }
            }
        }
        public static void PerformCraft(FCSOperation craft)
        {
            var techData = DSSHelpers.CheckIfTechDataAvailable(craft, out var pass);

            if (pass)
            {
                if (craft.Manager.RemoveItems(techData.Ingredients))
                {
                    foreach (TechType item in techData.LinkedItems)
                    {
                        craft.Manager.AddItemToContainer(item.ToInventoryItem());
                    }

                    for (int j = 0; j < techData.craftAmount; j++)
                    {
                        craft.Manager.AddItemToContainer(craft.TechType.ToInventoryItem());
                    }
                }
            }
        }