module Base
{
	imports
	{
		Base
	}
	
	craftRecipe PrepareTomatoSauce
    {
        timedAction = MixingBowl,
        time = 120,
        NeedToBeLearn = false,
        category = Cooking,
        Tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:10,
        inputs
        {
            item 2 [Base.Tomato;Base.CannedTomatoOpen] flags[ItemCount],
            item 1 tags[base:Spoon] mode:keep flags[MayDegradeVeryLight],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
            item 1 [Base.Pot;Base.PotForged;Base.Saucepan;Base.SaucepanCopper] mode:destroy flags[IsEmpty] mappers[TomatoDiff],
            item 1 [Base.Garlic;Base.WildGarlic2;Base.WildGarlicDried;Base.PowderedGarlic],
            item 2 [Base.Salt;Base.SeasoningSalt],
        }
		outputs
		{
			item 1 mapper:TomatoDiff,
		}
		itemMapper TomatoDiff
		{
			Base.PotTomatoSauce = Base.Pot,
			Base.ForgedPotTomatoSauce = Base.PotForged,
			Base.SaucepanTomateSauce = Base.Saucepan,
			Base.SaucepanCopperTomateSauce = Base.SaucepanCopper,
		}
	}
	
	craftRecipe PrepareTomatoSauceJarredTomato
    {
        timedAction = MixingBowl,
        time = 120,
        NeedToBeLearn = false,
        category = Cooking,
        Tags = AnySurfaceCraft;Cooking,
        xpAward = Cooking:10,
        inputs
        {
            item 23 [Base.CannedTomato_Open],
            item 1 tags[base:Spoon] mode:keep flags[MayDegradeVeryLight],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
            item 1 [Base.Pot;Base.PotForged;Base.Saucepan;Base.SaucepanCopper] mode:destroy flags[IsEmpty] mappers[TomatoDiff],
            item 1 [Base.Garlic;Base.WildGarlic2;Base.WildGarlicDried;Base.PowderedGarlic],
            item 2 [Base.Salt;Base.SeasoningSalt],
        }
		outputs
		{
			item 1 mapper:TomatoDiff,
		}
		itemMapper TomatoDiff
		{
			Base.PotTomatoSauce = Base.Pot,
			Base.ForgedPotTomatoSauce = Base.PotForged,
			Base.SaucepanTomateSauce = Base.Saucepan,
			Base.SaucepanCopperTomateSauce = Base.SaucepanCopper,
		}
	}

	craftRecipe BottlingTomatoSauce
	{
		timedAction = MixingBowl,
		time = 60,
		NeedToBeLearn = false,
		category = Cooking,
		tags = InHandCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 1 [Base.PotTomatoSauce;Base.ForgedPotTomatoSauce;Base.SaucepanTomateSauce;Base.SaucepanCopperTomateSauce] mode:destroy mappers[SauceDiff] flags[IsCookedFoodItem],
			item 1 tags[base:GlassBottle;base:GlassBottleSmall] mode:destroy flags[IsEmpty],
		}
		outputs
		{
			item 1 Base.BottledTomatoSauce,
			item 1 mapper:SauceDiff,
		}
		itemMapper SauceDiff
		{
			Base.Pot = Base.PotTomatoSauce,
			Base.PotForged = Base.ForgedPotTomatoSauce,
			Base.Saucepan = Base.SaucepanTomateSauce,
			Base.SaucepanCopper = Base.SaucepanCopperTomateSauce,
		}
	}
	
	craftRecipe BowlTomatoSauce
	{
		timedAction = MixingBowl,
		time = 60,
		NeedToBeLearn = false,
		category = Cooking,
		tags = InHandCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 1 [Base.PotTomatoSauce;Base.ForgedPotTomatoSauce;Base.SaucepanTomateSauce;Base.SaucepanCopperTomateSauce] mode:destroy mappers[SauceDiff] flags[IsCookedFoodItem],
            item 1 [Base.Bowl;Base.ClayBowl] mode:destroy,
		}
		outputs
		{
			item 1 Base.TomatoSauce,
			item 1 mapper:SauceDiff,
		}
		itemMapper SauceDiff
		{
			Base.Pot = Base.PotTomatoSauce,
			Base.PotForged = Base.ForgedPotTomatoSauce,
			Base.Saucepan = Base.SaucepanTomateSauce,
			Base.SaucepanCopper = Base.SaucepanCopperTomateSauce,
		}
	}
	
	craftRecipe OpenBottledTomatoSauce
    {
        timedAction = OpenTinCan,
        time = 30,
        category = Cooking,
        Tags = InHandCraft;Cooking,
        inputs
        {
			item 1 [Base.BottledTomatoSauce] mode:destroy,
		}
		outputs
		{
			item 1 Base.BottledTomatoSauceOpen,
		}
	}
	
	craftRecipe PrepareVinegar(Apples)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 24 [Base.Apple],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareVinegar(Pineapple)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 24 [Base.Pineapple],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareVinegar(Strewberries)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 24 [Base.Strewberrie],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareVinegar(Grapes)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 24 [Base.Grapes],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareVinegar(Mangos)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 24 [Base.Mango],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareVinegar(Bananas)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 24 [Base.Banana],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareVinegar(Pears)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 24 [Base.Pear],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareVinegar(Cherries)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 24 [Base.Cherry],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareCheeseStart
	{
		timedAction = MixingBucket,
		time = 20,
		NeedToBeLearn = False,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty;Prop2] mappers[PotMilkDiff],
			item 1 tags[base:Spoon] mode:keep flags[MayDegradeVeryLight;Prop1],
			item 2 [Base.Salt;Base.SeasoningSalt],
			item 1 tags[base:Vinegar],
			item 1 [*],
			-fluid 2.0 [CowMilk;SheepMilk],
		}
		outputs
		{
			item 1 mapper:PotMilkDiff,
		}
		itemMapper PotMilkDiff
		{
			Base.CheeseStart = Base.Pot,
			Base.ForgedCheeseStart = Base.PotForged,
		}
	}
	
	craftRecipe StrainSourmilk
	{
		timedAction = MixingBucket,
		time = 20,
		NeedToBeLearn = False,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 1 [Base.CheeseStart;Base.ForgedCheeseStart;Base.Sourmilk;Base.ForgedSourmilk] mode:destroy mappers[PotSourMilkDiff] flags[IsCookedFoodItem;Prop2],
			item 1 [Base.CheeseCloth;Base.DishCloth] mode:keep,
			item 1 tags[base:Spoon] mode:keep flags[MayDegradeVeryLight;Prop1],
		}
		outputs
		{
			item 1 Base.FreshCheese,
			item 1 mapper:PotSourMilkDiff,
		}
		itemMapper PotSourMilkDiff
		{
			Base.Pot = Base.CheeseStart,
			Base.Pot = Base.Sourmilk,
			Base.PotForged = Base.ForgedCheeseStart,
			Base.PotForged = Base.ForgedSourmilk,
		}
	}
	
	craftRecipe PrepareVinegar(Blackberries)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 30 [Base.BerryBlack],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe PrepareVinegar(Rose Hips)
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 30 [Base.Rosehips],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FermentedVinegar = Base.Pot,
			Base.ForgedFermentedVinegar = Base.PotForged,
		}
	}
	
	craftRecipe Bottlingvinegar
	{
		timedAction = MixingBowl,
		time = 60,
		NeedToBeLearn = false,
		category = Cooking,
		tags = InHandCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 1 [Base.FermentedVinegar;Base.ForgedFermentedVinegar] mode:destroy mappers[PotFermDiff],
			item 1 tags[base:GlassBottle;base:GlassBottleSmall] mode:destroy flags[IsEmpty],
		}
		outputs
		{
			item 1 Base.BottledVinegarTPP,
			item 1 mapper:PotFermDiff,
		}
		itemMapper PotFermDiff
		{
			Base.Pot = Base.FermentedVinegar,
			Base.PotForged = Base.ForgedFermentedVinegar,
		}
	}
	
	craftRecipe PrepareFishOilStart
	{
		timedAction = SliceFood,
		time = 120,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 10 [Base.FishGuts] flags[ItemCount;Prop2],
			item 1 tags[base:SharpKnife;base:MeatCleaver] mode:keep flags[IsNotDull;SharpnessCheck;Prop1],
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty] mappers[PotDiff],
			item 1 [*],
			-fluid 0.5 [Water],
		}
		outputs
		{
			item 1 mapper:PotDiff,
		}
		itemMapper PotDiff
		{
			Base.FishOilStart = Base.Pot,
			Base.ForgedFishOilStart = Base.PotForged,
		}
	}
	
	craftRecipe BottlingFishOil
	{
		timedAction = MixingBowl,
		time = 60,
		NeedToBeLearn = false,
		category = Cooking,
		tags = InHandCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 1 [Base.FishOilStart;Base.ForgedFishOilStart] mode:destroy mappers[PotFermDiff] flags[IsCookedFoodItem],
			item 1 tags[base:GlassBottle;base:GlassBottleSmall] mode:destroy flags[IsEmpty],
		}
		outputs
		{
			item 1 Base.FishOil,
			item 1 mapper:PotFermDiff,
		}
		itemMapper PotFermDiff
		{
			Base.Pot = Base.FishOilStart,
			Base.PotForged = Base.ForgedFishOilStart,
		}
	}
	
	craftRecipe SliceFreshCheese
    {
        timedAction = SliceMeat_Surface,
        time = 50,
        Tooltip = Tooltip_Recipe_MustCookedSlice,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,
        xpAward = Cooking:3,
        inputs
        {
            item 1 tags[base:sharpknife;base:meatcleaver;base:dullknife;base:pizzacutter] mode:keep flags[SharpnessCheck;Prop1],
            item 1 [Base.FreshCheese] flags[InheritFoodAge;InheritFood;ItemCount;Prop2],
        }
        outputs
        {
            item 8 Base.FreshCheeseSlice,
        }
    }
	
	craftRecipe PrepareEvaporatedMilk
	{
		timedAction = MixingBucket,
		time = 20,
		NeedToBeLearn = False,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 1 [Base.Pot;Base.PotForged] mode:destroy flags[IsEmpty;Prop2]  mappers[EvaporedMilkDiff],
			item 1 tags[base:Spoon] mode:keep flags[MayDegradeVeryLight;Prop1],
			item 1 [*],
			-fluid 1.0 [CowMilk;SheepMilk],
		}
		outputs
		{
			item 1 mapper:EvaporedMilkDiff,
		}
		itemMapper EvaporedMilkDiff
		{
			Base.PotEvaporatedMilk = Base.Pot,
			Base.ForgedPotEvaporatedMilk = Base.PotForged,
		}
	}
	
	craftRecipe BottlingEvaporatedMilk
	{
		timedAction = MixingBowl,
		time = 60,
		NeedToBeLearn = false,
		category = Cooking,
		tags = InHandCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 1 [Base.PotEvaporatedMilk;Base.ForgedPotEvaporatedMilk] mode:destroy mappers[PotEvaporedDiff] flags[IsCookedFoodItem],
			item 1 tags[base:GlassBottle;base:GlassBottleSmall] mode:destroy flags[IsEmpty],
		}
		outputs
		{
			item 1 Base.BottledEvaporatedMilkTPP,
			item 1 mapper:PotEvaporedDiff,
		}
		itemMapper PotEvaporedDiff
		{
			Base.Pot = Base.PotEvaporatedMilk,
			Base.PotForged = Base.ForgedPotEvaporatedMilk,
		}
	}
	
	craftRecipe OpenBottledEvaporatedMilkTPP
    {
        timedAction = OpenTinCan,
        time = 30,
        category = Cooking,
        Tags = InHandCraft;Cooking,
        inputs
        {
			item 1 [Base.BottledEvaporatedMilkTPP] mode:destroy,
		}
		outputs
		{
			item 1 Base.BottledEvaporatedMilkTPPOpen,
		}
	}
	
	craftRecipe PrepareIceCreamTPP
	{
		timedAction = MixingBowl,
		time = 60,
		NeedToBeLearn = false,
		category = Cooking,
		tags = AnySurfaceCraft;Cooking,
		xpAward = Cooking:10,
		inputs
		{
			item 9 [Base.BottledEvaporatedMilkTPPOpen],
			item 4 tags[base:Sugar],
            item 1 [Base.Bowl;Base.ClayBowl] mode:destroy,
		}
		outputs
		{
			item 1 Base.PlainIceCreamTPP,
		}
	}
}