public static void PostPatch() { FishPatcher.Patch(harmony); TechTypePatcher.Patch(); CraftTreeTypePatcher.Patch(); PingTypePatcher.Patch(); EnumPatcher.Patch(harmony); CraftDataPatcher.Patch(harmony); CraftTreePatcher.Patch(harmony); ConsoleCommandsPatcher.Patch(harmony); LanguagePatcher.Patch(harmony); PrefabDatabasePatcher.PostPatch(harmony); SpritePatcher.Patch(); KnownTechPatcher.Patch(harmony); BioReactorPatcher.Patch(); OptionsPanelPatcher.Patch(harmony); ItemsContainerPatcher.Patch(harmony); PDAPatcher.Patch(harmony); PDAEncyclopediaPatcher.Patch(harmony); ItemActionPatcher.Patch(harmony); LootDistributionPatcher.Patch(harmony); WorldEntityDatabasePatcher.Patch(harmony); IngameMenuPatcher.Patch(harmony); TooltipPatcher.Patch(harmony); Logger.Debug("Saving TechType Cache"); TechTypePatcher.cacheManager.SaveCache(); Logger.Debug("Saving CraftTreeType Cache"); CraftTreeTypePatcher.cacheManager.SaveCache(); }
public static void PostPatch() { FishPatcher.Patch(harmony); TechTypePatcher.Patch(); CraftTreeTypePatcher.Patch(); PingTypePatcher.Patch(); TechCategoryPatcher.Patch(); TechGroupPatcher.Patch(); BackgroundTypePatcher.Patch(); EquipmentTypePatcher.Patch(); EnumPatcher.Patch(harmony); CraftDataPatcher.Patch(harmony); CraftTreePatcher.Patch(harmony); ConsoleCommandsPatcher.Patch(harmony); LanguagePatcher.Patch(harmony); PrefabDatabasePatcher.PostPatch(harmony); SpritePatcher.Patch(harmony); KnownTechPatcher.Patch(harmony); BioReactorPatcher.Patch(); OptionsPanelPatcher.Patch(harmony); ItemsContainerPatcher.Patch(harmony); PDALogPatcher.Patch(harmony); PDAPatcher.Patch(harmony); PDAEncyclopediaPatcher.Patch(harmony); ItemActionPatcher.Patch(harmony); LootDistributionPatcher.Patch(harmony); WorldEntityDatabasePatcher.Patch(harmony); LargeWorldStreamerPatcher.Patch(harmony); IngameMenuPatcher.Patch(harmony); TooltipPatcher.Patch(harmony); SurvivalPatcher.Patch(harmony); CustomSoundPatcher.Patch(harmony); Logger.Debug("Saving TechType Cache"); TechTypePatcher.cacheManager.SaveCache(); Logger.Debug("Saving CraftTreeType Cache"); CraftTreeTypePatcher.cacheManager.SaveCache(); Logger.Debug("Saving PingType Cache"); PingTypePatcher.cacheManager.SaveCache(); }
internal static void Initialize() { CustomFishPatcher.Patch(harmony); TechTypePatcher.Patch(harmony); CraftTreeTypePatcher.Patch(harmony); CraftDataPatcher.Patch(harmony); CraftTreePatcher.Patch(harmony); DevConsolePatcher.Patch(harmony); LanguagePatcher.Patch(harmony); ResourcesPatcher.Patch(harmony); PrefabDatabasePatcher.Patch(harmony); SpritePatcher.Patch(); KnownTechPatcher.Patch(harmony); BioReactorPatcher.Patch(harmony); OptionsPanelPatcher.Patch(harmony); ItemsContainerPatcher.Patch(harmony); PDAPatcher.Patch(harmony); ItemActionPatcher.Patch(harmony); }
private static void Initialize() { var harmony = HarmonyInstance.Create("com.ahk1221.smlhelper"); FishPatcher.Patch(harmony); TechTypePatcher.Patch(); CraftTreeTypePatcher.Patch(); PingTypePatcher.Patch(); EnumPatcher.Patch(harmony); CraftDataPatcher.Patch(harmony); CraftTreePatcher.Patch(harmony); DevConsolePatcher.Patch(harmony); LanguagePatcher.Patch(harmony); PrefabDatabasePatcher.Patch(harmony); SpritePatcher.Patch(); KnownTechPatcher.Patch(harmony); BioReactorPatcher.Patch(harmony); OptionsPanelPatcher.Patch(harmony); ItemsContainerPatcher.Patch(harmony); PDAPatcher.Patch(harmony); PDAEncyclopediaPatcher.Patch(harmony); ItemActionPatcher.Patch(harmony); LootDistributionPatcher.Patch(harmony); WorldEntityDatabasePatcher.Patch(harmony); IngameMenuPatcher.Patch(harmony); TooltipPatcher.Patch(harmony); Logger.Debug("Saving TechType Cache"); TechTypePatcher.cacheManager.SaveCache(); Logger.Debug("Saving CraftTreeType Cache"); CraftTreeTypePatcher.cacheManager.SaveCache(); }
private static CustomCraftTreeRoot CreateCustomTree(out CraftTree.Type craftType, List <IDecorationItem> decorationItems) { var rootNode = CraftTreeTypePatcher.CreateCustomCraftTreeAndType(DecorationsFabID, out craftType); // POSTERS var postersTab = rootNode.AddTabNode("Posters", LanguageHelper.GetFriendlyWord("Posters"), SpriteManager.Get(TechType.PosterKitty)); postersTab.AddCraftingNode(TechType.PosterAurora, TechType.PosterExoSuit1, TechType.PosterExoSuit2, TechType.PosterKitty, TechType.Poster); // LAB ELEMENTS var labEquipmentTab = rootNode.AddTabNode("LabElements", LanguageHelper.GetFriendlyWord("LabElements"), SpriteManager.Get(TechType.LabEquipment1)); // Lab elements -> Equipments Tab var analyzersTab = labEquipmentTab.AddTabNode("NonFunctionalAnalyzers", LanguageHelper.GetFriendlyWord("NonFunctionalAnalyzers"), SpriteManager.Get(TechType.LabEquipment3)); analyzersTab.AddCraftingNode(TechType.LabEquipment1, TechType.LabEquipment2, TechType.LabEquipment3); // Lab elements -> Open glass containers Tab var openedGlassConteinersTab = labEquipmentTab.AddTabNode("OpenedGlassContainers", LanguageHelper.GetFriendlyWord("OpenedGlassContainers"), new Atlas.Sprite(ImageUtils.LoadTextureFromFile("./QMods/DecorationsMod/Assets/labcontaineropen2.png"))); openedGlassConteinersTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "LabContainerOpen3"), DecorationItemsHelper.getTechType(decorationItems, "LabContainerOpen2"), DecorationItemsHelper.getTechType(decorationItems, "LabContainerOpen1")); // Lab elements -> Glass containers Tab var glassContainersTab = labEquipmentTab.AddTabNode("GlassContainers", LanguageHelper.GetFriendlyWord("GlassContainers"), SpriteManager.Get(TechType.LabContainer2)); glassContainersTab.AddCraftingNode(TechType.LabContainer, TechType.LabContainer2, TechType.LabContainer3, DecorationItemsHelper.getTechType(decorationItems, "LabContainer4")); // Lab elements -> Furnitures Tab //var labFurnituresTab = labEquipmentTab.AddTabNode("LabFurnitures", LanguageHelper.GetFriendlyWord("LabFurnitures"), AssetsHelper.Assets.LoadAsset<Sprite>("labshelves")); // Lab elements items if (!ConfigSwitcher.SpecimenAnalyzer_asBuildable) { labEquipmentTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "DecorationsSpecimenAnalyzer")); } if (!ConfigSwitcher.LabCart_asBuildable) { labEquipmentTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "LabCart")); } labEquipmentTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "LabShelf"), DecorationItemsHelper.getTechType(decorationItems, "DecorationLabTube"), DecorationItemsHelper.getTechType(decorationItems, "LabRobotArm")); // ELECTRONICS //var electronicsTab = rootNode.AddTabNode("Electronics", LanguageHelper.GetFriendlyWord("Electronics"), AssetsHelper.Assets.LoadAsset<Sprite>("computer3")); // Wall monitors var wallMonitorsTab = rootNode.AddTabNode("WallMonitors", LanguageHelper.GetFriendlyWord("WallMonitors"), AssetsHelper.Assets.LoadAsset <Sprite>("computer3")); wallMonitorsTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "WallMonitor1"), DecorationItemsHelper.getTechType(decorationItems, "WallMonitor2"), DecorationItemsHelper.getTechType(decorationItems, "WallMonitor3")); // Circuit boxes var circuitBoxesTab = rootNode.AddTabNode("CircuitBoxes", LanguageHelper.GetFriendlyWord("CircuitBoxes"), AssetsHelper.Assets.LoadAsset <Sprite>("circuitbox3")); circuitBoxesTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "CircuitBox1"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox1b"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox2"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox2b"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox2c"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox2d"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox3"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox3b"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox3c"), DecorationItemsHelper.getTechType(decorationItems, "CircuitBox3d")); //var circuitBoxTab1 = electronicsTab.AddTabNode("CircuitBoxTab1", LanguageHelper.GetFriendlyWord("CircuitBoxTab1"), AssetsHelper.Assets.LoadAsset<Sprite>("circuitbox2")); //var circuitBoxTab2 = electronicsTab.AddTabNode("CircuitBoxTab2", LanguageHelper.GetFriendlyWord("CircuitBoxTab2"), AssetsHelper.Assets.LoadAsset<Sprite>("circuitbox3")); // DRINKS & FOOD var barKitchenTab = rootNode.AddTabNode("DrinksAndFood", LanguageHelper.GetFriendlyWord("DrinksAndFood"), AssetsHelper.Assets.LoadAsset <Sprite>("barbottle05icon")); barKitchenTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "BarCup1"), DecorationItemsHelper.getTechType(decorationItems, "BarCup2"), DecorationItemsHelper.getTechType(decorationItems, "BarNapkins"), DecorationItemsHelper.getTechType(decorationItems, "BarBottle1"), DecorationItemsHelper.getTechType(decorationItems, "BarBottle2"), DecorationItemsHelper.getTechType(decorationItems, "BarBottle3"), DecorationItemsHelper.getTechType(decorationItems, "BarBottle4"), DecorationItemsHelper.getTechType(decorationItems, "BarBottle5"), DecorationItemsHelper.getTechType(decorationItems, "BarFood1"), DecorationItemsHelper.getTechType(decorationItems, "BarFood2")); if (ConfigSwitcher.EnableNutrientBlock) { barKitchenTab.AddCraftingNode(TechType.NutrientBlock); } // OFFICE SUPPLIES var officeSuppliesTab = rootNode.AddTabNode("OfficeSupplies", LanguageHelper.GetFriendlyWord("OfficeSupplies"), AssetsHelper.Assets.LoadAsset <Sprite>("clipboardicon")); if (!ConfigSwitcher.EmptyDesk_asBuildable) { officeSuppliesTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "DecorationsEmptyDesk")); } officeSuppliesTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "Folder1"), DecorationItemsHelper.getTechType(decorationItems, "Folder3"), DecorationItemsHelper.getTechType(decorationItems, "Clipboard"), DecorationItemsHelper.getTechType(decorationItems, "PaperTrash"), DecorationItemsHelper.getTechType(decorationItems, "Pen"), DecorationItemsHelper.getTechType(decorationItems, "PenHolder"), DecorationItemsHelper.getTechType(decorationItems, "DecorativePDA")); // LEVIATHAN DOLLS var faunaTab = rootNode.AddTabNode("LeviathanDolls", LanguageHelper.GetFriendlyWord("LeviathanDolls"), AssetsHelper.Assets.LoadAsset <Sprite>("reaperleviathanicon")); faunaTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "ReefBackDoll"), DecorationItemsHelper.getTechType(decorationItems, "SeaTreaderDoll"), DecorationItemsHelper.getTechType(decorationItems, "ReaperLeviathanDoll"), DecorationItemsHelper.getTechType(decorationItems, "GhostLeviathanDoll"), DecorationItemsHelper.getTechType(decorationItems, "SeaDragonDoll"), DecorationItemsHelper.getTechType(decorationItems, "SeaEmperorDoll")); // SKELETONS var skeletonsTab = rootNode.AddTabNode("SkeletonsParts", LanguageHelper.GetFriendlyWord("GenericSkeletonName"), AssetsHelper.Assets.LoadAsset <Sprite>("reaperskullicon")); skeletonsTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "GenericSkeleton1"), DecorationItemsHelper.getTechType(decorationItems, "GenericSkeleton2"), DecorationItemsHelper.getTechType(decorationItems, "GenericSkeleton3"), DecorationItemsHelper.getTechType(decorationItems, "ReaperSkullDoll"), DecorationItemsHelper.getTechType(decorationItems, "ReaperSkeletonDoll"), DecorationItemsHelper.getTechType(decorationItems, "SeaDragonSkeleton")); // ACCESSORIES var accessoriesTab = rootNode.AddTabNode("Accessories", LanguageHelper.GetFriendlyWord("Accessories"), SpriteManager.Get(TechType.LuggageBag)); accessoriesTab.AddCraftingNode(TechType.LuggageBag); if (!ConfigSwitcher.SofaStr1_asBuidable) { accessoriesTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "SofaStr1")); } if (!ConfigSwitcher.SofaStr2_asBuidable) { accessoriesTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "SofaStr2")); } if (!ConfigSwitcher.SofaStr3_asBuidable) { accessoriesTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "SofaStr3")); } if (!ConfigSwitcher.SofaCorner2_asBuidable) { accessoriesTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "SofaCorner2")); } accessoriesTab.AddCraftingNode(TechType.Cap1, TechType.Cap2); // TOYS var toysTab = rootNode.AddTabNode("Toys", LanguageHelper.GetFriendlyWord("Toys"), SpriteManager.Get(TechType.ArcadeGorgetoy)); toysTab.AddCraftingNode(TechType.StarshipSouvenir, TechType.ArcadeGorgetoy, TechType.ToyCar); if (!ConfigSwitcher.Forklift_asBuidable) { toysTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "ForkLiftDoll")); } toysTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "CuddleFishDoll")); if (!ConfigSwitcher.MarkiDoll1_asBuildable) { toysTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "MarkiDoll1")); } if (!ConfigSwitcher.MarkiDoll2_asBuildable) { toysTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "MarkiDoll2")); } if (!ConfigSwitcher.JackSepticEye_asBuildable) { toysTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "JackSepticEyeDoll")); } if (!ConfigSwitcher.EatMyDiction_asBuidable) { toysTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "MarlaCat")); } return(rootNode); }
private static CustomCraftTreeRoot CreateFloraTree(out CraftTree.Type craftType, List <IDecorationItem> decorationItems) { var rootNode = CraftTreeTypePatcher.CreateCustomCraftTreeAndType(FloraFabID, out craftType); // Plant Air var plantAirTab = rootNode.AddTabNode("PlantAirTab", LanguageHelper.GetFriendlyWord("PlantAirTab"), AssetsHelper.Assets.LoadAsset <Sprite>("landplant1icon")); plantAirTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "LandPlant1"), DecorationItemsHelper.getTechType(decorationItems, "LandPlant2"), DecorationItemsHelper.getTechType(decorationItems, "LandPlant3"), DecorationItemsHelper.getTechType(decorationItems, "LandPlant4"), DecorationItemsHelper.getTechType(decorationItems, "LandPlant5"), DecorationItemsHelper.getTechType(decorationItems, "Fern2"), DecorationItemsHelper.getTechType(decorationItems, "Fern4")); // Tree Air var treeAirTab = rootNode.AddTabNode("TreeAirTab", LanguageHelper.GetFriendlyWord("TreeAirTab"), AssetsHelper.Assets.LoadAsset <Sprite>("landtree1seedicon")); treeAirTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "LandTree1"), DecorationItemsHelper.getTechType(decorationItems, "JungleTree1"), DecorationItemsHelper.getTechType(decorationItems, "JungleTree2"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant3a"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant3b"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant6a"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant6b")); // Tropical var tropicalPlantTab = rootNode.AddTabNode("TropicalPlantTab", LanguageHelper.GetFriendlyWord("TropicalPlantTab"), AssetsHelper.Assets.LoadAsset <Sprite>("tropicalplant1bicon")); tropicalPlantTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant1a"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant1b"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant2a"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant2b"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant7a"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant7b"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant10a"), DecorationItemsHelper.getTechType(decorationItems, "TropicalPlant10b")); // Existing air seeds from the game if (ConfigSwitcher.EnableRegularAirSeeds) { var regularAirSeedsTab = rootNode.AddTabNode("RegularAirSeedsTab", LanguageHelper.GetFriendlyWord("RegularAirSeedsTab"), SpriteManager.Get(TechType.BulboTreePiece)); var edibleRegularAirTab = regularAirSeedsTab.AddTabNode("EdibleRegularAirTab", LanguageHelper.GetFriendlyWord("EdibleRegularAirTab"), SpriteManager.Get(TechType.MelonSeed)); edibleRegularAirTab.AddCraftingNode(TechType.BulboTreePiece, TechType.PurpleVegetable, TechType.HangingFruit, TechType.MelonSeed); var decorativeBigAirTab = regularAirSeedsTab.AddTabNode("DecorativeBigAirTab", LanguageHelper.GetFriendlyWord("DecorativeBigAirTab"), SpriteManager.Get(TechType.OrangePetalsPlantSeed)); decorativeBigAirTab.AddCraftingNode(TechType.FernPalmSeed, TechType.OrangePetalsPlantSeed, TechType.PurpleVasePlantSeed, TechType.OrangeMushroomSpore); var decorativeSmallAirTab = regularAirSeedsTab.AddTabNode("DecorativeSmallAirTab", LanguageHelper.GetFriendlyWord("DecorativeSmallAirTab"), SpriteManager.Get(TechType.PinkFlowerSeed)); decorativeSmallAirTab.AddCraftingNode(TechType.PinkMushroomSpore, TechType.PurpleRattleSpore, TechType.PinkFlowerSeed); } // Existing water seeds from the game if (ConfigSwitcher.EnableRegularWaterSeeds) { var regularWaterSeedsTab = rootNode.AddTabNode("RegularWaterSeedsTab", LanguageHelper.GetFriendlyWord("RegularWaterSeedsTab"), SpriteManager.Get(TechType.CreepvineSeedCluster)); var decorativeMediumWaterTab = regularWaterSeedsTab.AddTabNode("DecorativeMediumWaterTab", LanguageHelper.GetFriendlyWord("DecorativeMediumWaterTab"), SpriteManager.Get(TechType.SeaCrownSeed)); decorativeMediumWaterTab.AddCraftingNode(TechType.GabeSFeatherSeed, TechType.RedGreenTentacleSeed, TechType.SeaCrownSeed, TechType.ShellGrassSeed); var decorativeBushesWaterTab = regularWaterSeedsTab.AddTabNode("DecorativeBushesWaterTab", LanguageHelper.GetFriendlyWord("DecorativeBushesWaterTab"), SpriteManager.Get(TechType.PurpleStalkSeed)); decorativeBushesWaterTab.AddCraftingNode(TechType.PurpleBranchesSeed, TechType.RedRollPlantSeed, TechType.RedBushSeed, TechType.PurpleStalkSeed, TechType.SpottedLeavesPlantSeed); var regularSmallWaterTab = regularWaterSeedsTab.AddTabNode("RegularSmallWaterTab", LanguageHelper.GetFriendlyWord("RegularSmallWaterTab"), SpriteManager.Get(TechType.AcidMushroomSpore)); regularSmallWaterTab.AddCraftingNode(TechType.AcidMushroomSpore, TechType.WhiteMushroomSpore, TechType.JellyPlantSeed, TechType.SmallFanSeed, TechType.PurpleFanSeed, TechType.PurpleTentacleSeed); var decorativeBigWaterTab = regularWaterSeedsTab.AddTabNode("DecorativeBigWaterTab", LanguageHelper.GetFriendlyWord("DecorativeBigWaterTab"), SpriteManager.Get(TechType.MembrainTreeSeed)); decorativeBigWaterTab.AddCraftingNode(TechType.BluePalmSeed, TechType.EyesPlantSeed, TechType.MembrainTreeSeed, TechType.RedConePlantSeed, TechType.RedBasketPlantSeed, TechType.SnakeMushroomSpore, TechType.SpikePlantSeed); var functionalBigWaterTab = regularWaterSeedsTab.AddTabNode("FunctionalBigWaterTab", LanguageHelper.GetFriendlyWord("FunctionalBigWaterTab"), SpriteManager.Get(TechType.CreepvineSeedCluster)); functionalBigWaterTab.AddCraftingNode(TechType.CreepvinePiece, TechType.CreepvineSeedCluster, TechType.BloodOil, TechType.PurpleBrainCoralPiece, TechType.KooshChunk); } // Plant Water var plantWaterTab = rootNode.AddTabNode("PlantWaterTab", LanguageHelper.GetFriendlyWord("PlantWaterTab"), AssetsHelper.Assets.LoadAsset <Sprite>("spottedreedsicon")); plantWaterTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "GreenReeds1"), DecorationItemsHelper.getTechType(decorationItems, "GreenReeds6"), DecorationItemsHelper.getTechType(decorationItems, "LostRiverPlant2"), DecorationItemsHelper.getTechType(decorationItems, "LostRiverPlant4"), DecorationItemsHelper.getTechType(decorationItems, "PlantMiddle11")); // Tree Water var treeWaterTab = rootNode.AddTabNode("TreeWaterTab", LanguageHelper.GetFriendlyWord("TreeWaterTab"), AssetsHelper.Assets.LoadAsset <Sprite>("floatingstone1icon")); treeWaterTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "CrabClawKelp2"), DecorationItemsHelper.getTechType(decorationItems, "CrabClawKelp1"), DecorationItemsHelper.getTechType(decorationItems, "CrabClawKelp3"), DecorationItemsHelper.getTechType(decorationItems, "PyroCoral1"), DecorationItemsHelper.getTechType(decorationItems, "PyroCoral2"), DecorationItemsHelper.getTechType(decorationItems, "PyroCoral3"), DecorationItemsHelper.getTechType(decorationItems, "FloatingStone1")); // Coral Water var coralWaterTab = rootNode.AddTabNode("CoralWaterTab", LanguageHelper.GetFriendlyWord("CoralWaterTab"), AssetsHelper.Assets.LoadAsset <Sprite>("flora_smalldeco10icon")); coralWaterTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "BrownCoralTubes1"), DecorationItemsHelper.getTechType(decorationItems, "BrownCoralTubes2"), DecorationItemsHelper.getTechType(decorationItems, "BrownCoralTubes3"), DecorationItemsHelper.getTechType(decorationItems, "BlueCoralTubes1"), DecorationItemsHelper.getTechType(decorationItems, "SmallDeco10")); // Amphibious plants var amphibiousPlantsTab = rootNode.AddTabNode("AmphibiousPlantsTab", LanguageHelper.GetFriendlyWord("AmphibiousPlantsTab"), AssetsHelper.Assets.LoadAsset <Sprite>("covetreeicon")); amphibiousPlantsTab.AddCraftingNode(DecorationItemsHelper.getTechType(decorationItems, "SmallDeco3"), DecorationItemsHelper.getTechType(decorationItems, "CoveTree1"), DecorationItemsHelper.getTechType(decorationItems, "SmallDeco11"), DecorationItemsHelper.getTechType(decorationItems, "SmallDeco13"), DecorationItemsHelper.getTechType(decorationItems, "SmallDeco14"), DecorationItemsHelper.getTechType(decorationItems, "SmallDeco15Red"), DecorationItemsHelper.getTechType(decorationItems, "SmallDeco17Purple")); return(rootNode); }
/// <summary> /// Your first method call to start a new custom crafting tree.<br/> /// Creating a new CraftTree only makes sense if you're going to use it in a new type of <see cref="GhostCrafter"/>. /// </summary> /// <param name="name">The name for the new <see cref="CraftTree.Type" /> enum.</param> /// <param name="craftTreeType">The new enum instance for your custom craft tree type.</param> /// <returns> /// Returns the root node for your custom craft tree, as a new <see cref="ModCraftTreeRoot"/> instance.<br/> /// Build up your custom crafting tree from this root node.<br/> /// This tree will be automatically patched into the game. No further calls into <see cref="CraftTreeHandler"/> required.<para/> /// For more advanced usage, you can replace the default value of <see cref="ModCraftTreeRoot.CraftTreeCreation"/> with your own custom function. /// </returns> /// <seealso cref="ModCraftTreeNode"/> /// <seealso cref="ModCraftTreeLinkingNode"/> /// <seealso cref="ModCraftTreeTab"/> /// <seealso cref="ModCraftTreeCraft"/> ModCraftTreeRoot ICraftTreeHandler.CreateCustomCraftTreeAndType(string name, out CraftTree.Type craftTreeType) { return(CraftTreeTypePatcher.CreateCustomCraftTreeAndType(name, out craftTreeType)); }