public static void RegisterFloraFabricator(List <IDecorationItem> decorationItems)
        {
            Logger.Log("Creating flora craft tree...");
            CustomCraftTreeRoot customTreeRootNode = CreateFloraTree(out CraftTree.Type craftType, decorationItems);

            FloraTreeType = craftType;

            Logger.Log("Registering flora fabricator...");
            // Create a new TechType for the fabricator
            FloraFabTechType = TechTypePatcher.AddTechType(FloraFabID,
                                                           LanguageHelper.GetFriendlyWord("FloraFabricatorName"),
                                                           LanguageHelper.GetFriendlyWord("FloraFabricatorDescription"),
                                                           true);
            // Add new TechType to the buildables (Interior Module group)
            CraftDataPatcher.customBuildables.Add(FloraFabTechType);
            CraftDataPatcher.AddToCustomGroup(TechGroup.InteriorModules, TechCategory.InteriorModule, FloraFabTechType);
            // Set buildable prefab
            CustomPrefabHandler.customPrefabs.Add(new CustomPrefab(FloraFabID, $"Submarine/Build/{FloraFabID}", FloraFabTechType, GetFloraFabPrefab));
            // Set custom sprite for the Habitat Builder Tool menu
            CustomSpriteHandler.customSprites.Add(new CustomSprite(FloraFabTechType, AssetsHelper.Assets.LoadAsset <Sprite>("fabricator_icon_green")));
            // Create and associate recipe to the new TechType
            var customFabRecipe = new TechDataHelper()
            {
                _craftAmount = 1,
                _ingredients = new List <IngredientHelper>(new IngredientHelper[4] {
                    new IngredientHelper(TechType.Titanium, 1),
                    new IngredientHelper(TechType.ComputerChip, 1),
                    new IngredientHelper(TechType.Kyanite, 1),
                    new IngredientHelper(TechType.PrecursorIonCrystal, 1)
                }),
                _techType = FloraFabTechType
            };

            CraftDataPatcher.customTechData[FloraFabTechType] = customFabRecipe;
        }
        public static CustomCraftTreeRoot CreateCustomCraftTreeAndType(string name, out CraftTree.Type craftTreeType)
        {
            CustomCraftTreeRoot2 customCraftTreeRoot2 = CraftTreeTypePatcher2.CreateCustomCraftTreeAndType(name, out craftTreeType);

            CraftTreePatcher2.CustomTrees.Remove(craftTreeType);

            var customCraftTreeRoot = new CustomCraftTreeRoot(craftTreeType, name);

            CraftTreePatcher.CustomTrees.Add(craftTreeType, customCraftTreeRoot);

            return(customCraftTreeRoot);
        }