TModLoader v1.4.4.9
TModLoader source code documentation
Loading...
Searching...
No Matches

◆ AddRecipe()

static void Terraria.Recipe.AddRecipe ( )
inlinestaticprivate

Definition at line 15835 of file Recipe.cs.

15836 {
15837 if (currentRecipe.requiredTile.Count > 0 && currentRecipe.requiredTile[0] == 13)
15838 {
15839 currentRecipe.AddConsumeItemCallback(ConsumptionRules.Alchemy);
15840 }
15841 ReplaceCondition(ref currentRecipe.needGraveyardBiome, Condition.InGraveyard);
15842 ReplaceCondition(ref currentRecipe.needSnowBiome, Condition.InSnow);
15843 ReplaceCondition(ref currentRecipe.needWater, Condition.NearWater);
15844 ReplaceCondition(ref currentRecipe.needLava, Condition.NearLava);
15845 ReplaceCondition(ref currentRecipe.needHoney, Condition.NearHoney);
15846 ReplaceCondition(ref currentRecipe.needEverythingSeed, Condition.ZenithWorld);
15847 ReplaceDecraftCondition(ref currentRecipe.crimson, Condition.CrimsonWorld);
15848 ReplaceDecraftCondition(ref currentRecipe.corruption, Condition.CorruptWorld);
15849 currentRecipe.ReplaceItemUseFlagWithGroup(ref currentRecipe.anyWood, RecipeGroupID.Wood);
15850 currentRecipe.ReplaceItemUseFlagWithGroup(ref currentRecipe.anySand, RecipeGroupID.Sand);
15851 currentRecipe.ReplaceItemUseFlagWithGroup(ref currentRecipe.anyPressurePlate, RecipeGroupID.PressurePlate);
15852 currentRecipe.ReplaceItemUseFlagWithGroup(ref currentRecipe.anyIronBar, RecipeGroupID.IronBar);
15853 currentRecipe.ReplaceItemUseFlagWithGroup(ref currentRecipe.anyFragment, RecipeGroupID.Fragment);
15854 currentRecipe.requiredItem.RemoveAll((Item item) => item.IsAir);
15855 currentRecipe.requiredTile.RemoveAll((int tile) => tile == -1);
15856 currentRecipe.acceptedGroups.RemoveAll((int group) => group == -1);
15857 Main.recipe[numRecipes] = currentRecipe;
15858 currentRecipe.RecipeIndex = numRecipes;
15859 if (RecipeLoader.FirstRecipeForItem[currentRecipe.createItem.type] == null)
15860 {
15862 }
15864 numRecipes++;
15865 static void ReplaceCondition(ref bool field, Condition cond)
15866 {
15867 if (field)
15868 {
15869 currentRecipe.AddCondition(cond);
15870 }
15871 field = false;
15872 }
15874 {
15875 if (field)
15876 {
15877 currentRecipe.AddDecraftCondition(cond);
15878 }
15879 field = false;
15880 }
15881 }
Contains recipe group ids suitable for use in M:Terraria.Recipe.AddRecipeGroup(System....
This is where all Recipe hooks are gathered and called.
static void ResetCurrentRecipe()
Definition Recipe.cs:15883
static int numRecipes
Definition Recipe.cs:58
static Recipe currentRecipe
Definition Recipe.cs:60
record Condition(LocalizedText Description, Func< bool > Predicate)
Definition Condition.cs:10

References Terraria.Recipe.ConsumptionRules.Alchemy, Terraria.Condition(), Terraria.Recipe.currentRecipe, Terraria.ModLoader.RecipeLoader.FirstRecipeForItem, Terraria.ID.RecipeGroupID.Fragment, Terraria.ID.RecipeGroupID.IronBar, Terraria.Item.IsAir, Terraria.Recipe.numRecipes, Terraria.ID.RecipeGroupID.PressurePlate, Terraria.Main.recipe, Terraria.Recipe.ResetCurrentRecipe(), Terraria.ID.RecipeGroupID.Sand, and Terraria.ID.RecipeGroupID.Wood.

Referenced by Terraria.Recipe.AddAshWoodFurnitureArmorAndItems(), Terraria.Recipe.AddBalloonFurniture(), Terraria.Recipe.AddBambooFurniture(), Terraria.Recipe.AddCoralFurniture(), Terraria.Recipe.AddLesionFurniture(), Terraria.Recipe.AddNebulaFurniture(), Terraria.Recipe.AddSandstoneFurniture(), Terraria.Recipe.AddSolarFurniture(), Terraria.Recipe.AddSpiderFurniture(), Terraria.Recipe.AddStardustFurniture(), Terraria.Recipe.AddVortexFurniture(), Terraria.Recipe.CreateReversePlatformRecipes(), Terraria.Recipe.CreateReverseWallRecipes(), and Terraria.Recipe.SetupRecipes().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: