module Skittles
{
  imports
  {
    Base
  }

  craftRecipe Make Cured Meat
  {
    timedAction = SliceMeat,
    Time = 30,
    onCreate = AdjustStates,
    onTest = TryMeat,
    ToolTip = Cure meat,
    Tags = InHandCraft;Cooking,
	category = Preservation,
	xpAward = Cooking:10,
    inputs
		{
		item 1 [Base.Beef;Base.Smallbirdmeat;Base.ChickenFillet;Base.Chicken;Base.ChickenWings;Base.FishFillet;Base.FrogMeat;Base.Pork;Base.PorkChop;Base.MuttonChop;Base.Rabbitmeat;Base.Sausage;Base.Smallanimalmeat;Base.Steak;Base.TurkeyFillet;Base.TurkeyLegs;Base.TurkeyWings;Base.Venison] mode:destroy flags[InheritFoodAge;ItemCount] mappers[meatType],
		item 5 tags[Salt],
		}
		outputs
		{
			item 1 mapper:meatType,
		}
		itemMapper meatType
		{
			Skittles.CuredBeef = Base.Beef,
			Skittles.CuredBird = Base.Smallbirdmeat,
			Skittles.CuredChickenFillet = Base.ChickenFillet,
			Skittles.CuredChickenLeg = Base.Chicken,
			Skittles.CuredChickenWing = Base.ChickenWings,
			Skittles.CuredFish = Base.FishFillet,
			Skittles.CuredFrog = Base.FrogMeat,	
			Skittles.CuredMutton = Base.MuttonChop,
			Skittles.CuredPork = Base.Pork,
			Skittles.CuredPorkChop = Base.PorkChop,
			Skittles.CuredRabbit = Base.Rabbitmeat,
			Skittles.CuredSausage = Base.Sausage,
			Skittles.CuredRodent = Base.Smallanimalmeat,
			Skittles.CuredSteak = Base.Steak,
			Skittles.CuredTurkey = Base.TurkeyFillet,
			Skittles.CuredTurkeyLeg = Base.TurkeyLegs,
			Skittles.CuredTurkeyWing = Base.TurkeyWings,
			Skittles.CuredVenison = Base.Venison,
		}
  }

  craftRecipe Make Pemmican Meat
  {
    timedAction = SliceMeat,
    Time = 30,
    onCreate = AdjustStatesPemmican,
    Tags = InHandCraft;Cooking,
    category = Preservation,
	xpAward = Cooking:10,
    inputs
    {
      item 1 [Base.Pork;Base.Beef;Base.Venison] flags[ItemCount] mode:destroy,
      item 2 [Base.Lard;Skittles.Schmaltz;Skittles.Tallow] flags[ItemCount] mode:destroy,
      item 3 [Base.BerryGeneric1;Base.BerryGeneric2;Base.BerryGeneric3;Base.BerryGeneric4;Base.BerryGeneric5;Base.BeautyBerry;Base.BerryBlack;Base.BerryBlue;Base.BeautyBerry;Base.HollyBerry;Base.WinterBerry;Base.Strewberrie] flags[ItemCount] mode:destroy,
    }
    outputs
    {
      item 1 Skittles.Pemmican,
    }  
  }

  craftRecipe Reduce Meat Lard
  {
    timedAction = MixingBowl,
    Time = 30,
    Tags = InHandCraft;Cooking,
    category = Preservation,
	xpAward = Cooking:5;Butchering:5,
    inputs
    {
      item 1 tags[DullKnife;SharpKnife;MeatCleaver] mode:keep flags[MayDegradeLight],
      item 4 [Base.Pork] flags[ItemCount],
      item 1 [Base.PanForged;Base.Pan;Base.Saucepan;Base.SaucepanCopper;Base.Pot;Base.PotForged] mode:keep,
    }
    outputs
    {
      item 8 Base.Lard,
    }
  }
  
  craftRecipe Make Jarred Meat
  {
    timedAction = MixingBowl,
		Time = 100,
		OnCreate = Recipe.OnCreate.CannedFood,
		Tags = InHandCraft;Cooking,
    category = Preservation,
	xpAward = Cooking:10,
    inputs
    {
		item 1 [Base.EmptyJar;Base.JarCrafted] mode:destroy,
		item 1 [Base.JarLid] mode:destroy,
		item 5 [Base.Beef;Base.Smallbirdmeat;Base.ChickenFillet;Base.FishFillet;Base.FrogMeat;Base.MuttonChop;Base.Pork;Base.Rabbitmeat;Base.Smallanimalmeat;Base.TurkeyFillet;Base.Venison] flags[ItemCount] mappers[meatType] mode:destroy,
		item 2.0 tags[Vinegar],
		item 1.0 tags[Salt],
		item 1 [*],
		-fluid 1.0 [Water],
    }
		outputs
		{
			item 1 mapper:meatType,
		}
    itemMapper meatType
		{
			Skittles.CannedBeef = Base.Beef,
			Skittles.CannedBird = Base.Smallbirdmeat,
			Skittles.CannedChicken = Base.ChickenFillet,
			Skittles.CannedFish = Base.FishFillet,
			Skittles.CannedFrog = Base.FrogMeat,	
			Skittles.CannedMutton = Base.MuttonChop,
			Skittles.CannedPork = Base.Pork,
			Skittles.CannedRabbit = Base.Rabbitmeat,
			Skittles.CannedRodent = Base.Smallanimalmeat,
			Skittles.CannedTurkey = Base.TurkeyFillet,
			Skittles.CannedVenison = Base.Venison,
		}
    
  }

  craftRecipe Open Jar Of Meat
	{
    timedAction = OpenTinCan,
		Time = 30,
		OnCreate = Recipe.OnCreate.OpenCannedFood,
		Tags = InHandCraft;Cooking;CanBeDoneInDark,
    category = Preservation,
	xpAward = Cooking:10,
		inputs
		{
			item 1 [Skittles.CannedBeef;Skittles.CannedBird;Skittles.CannedChicken;Skittles.CannedFish;Skittles.CannedFrog;Skittles.CannedMutton;Skittles.CannedPork;Skittles.CannedRabbit;Skittles.CannedRodent;Skittles.CannedTurkey;Skittles.CannedVenison] flags[AllowRottenItem;InheritFoodAge;ItemCount] mappers[foodType],
		}
		outputs
		{
			item 1 mapper:foodType,
		}
		itemMapper foodType
		{
			Skittles.CannedBeef_Open = Skittles.CannedBeef,
			Skittles.CannedBird_Open = Skittles.CannedBird,
			Skittles.CannedChicken_Open = Skittles.CannedChicken,
			Skittles.CannedFish_Open = Skittles.CannedFish,
			Skittles.CannedFrog_Open = Skittles.CannedFrog,	
			Skittles.CannedMutton_Open = Skittles.CannedMutton,
			Skittles.CannedPork_Open = Skittles.CannedPork,
			Skittles.CannedRabbit_Open = Skittles.CannedRabbit,
			Skittles.CannedRodent_Open = Skittles.CannedRodent,
			Skittles.CannedTurkey_Open = Skittles.CannedTurkey,
			Skittles.CannedVenison_Open = Skittles.CannedVenison,
			
		}
	}

  craftRecipe Crush Salt Rock
  {
    timedAction = Making,
    Time = 30,
    Tags = InHandCraft;Cooking,
    category = Preservation,
	xpAward = Cooking:10,
    inputs
		{

			item 1 tags[MortarPestle] mode:keep,
			item 2 [Skittles.SaltRock],
		}
		outputs
		{
			item 1 Base.Salt,
		}
  }

  craftRecipe Make Mashed Berry
  {
    timedAction = MixingMortarPestle,
    Time = 30,
    Tags = InHandCraft;Cooking,
    category = Preservation,
	xpAward = Cooking:10,
    inputs
		{

			item 1 tags[MortarPestle] mode:keep,
			item 5 [Base.BerryGeneric1;Base.BerryGeneric2;Base.BerryGeneric3;Base.BerryGeneric4;Base.BerryGeneric5;Base.BeautyBerry;Base.BerryBlack;Base.BerryBlue;Base.Strewberrie] flags[ItemCount] mode:destroy,
		}
		outputs
		{
			item 15 Skittles.MashedBerries,
		}
  }

  craftRecipe Make Jam Spread
  {
    timedAction = MixingMortarPestle,
    Time = 100,
    Tags = InHandCraft;Cooking,
    category = Preservation,
	xpAward = Cooking:10,
    inputs
		{
			item 1 [Base.PanForged;Base.Pan;Base.Saucepan;Base.SaucepanCopper;Base.Pot;Base.PotForged] mode:keep,
			item 1 [Base.JarLid] mode:destroy,
			item 1 [Base.EmptyJar;Base.JarCrafted] mode:destroy,
			item 15 [Skittles.MashedBerries;Skittles.MashedFruits] flags[ItemCount] mode:destroy,
			item 10 [Base.Sugar;Base.SugarBrown],
		}
		outputs
		{
			item 1 Skittles.JamSpread,
		}
  }

  
}