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); }