module Skittles
{
  imports
  {
    Base
  }

  craftRecipe MakeCuredMeat
  {
    timedAction = SliceMeat,
    Time = 30,
    onCreate = AdjustStates,
    onTest = TryMeat,
    ToolTip = Cure meat,
    Tags = InHandCraft;Cooking,
    category = Cooking,
    inputs
		{
			item 1 [Base.Pork;Base.Beef;Base.Venison;Base.FishFillet] mode:destroy flags[InheritFoodAge;ItemCount] mappers[meatType],
      item 5 [Base.Salt],
		}
		outputs
		{
			item 1 mapper:meatType,
		}
		itemMapper meatType
		{
			Skittles.CuredPork = Base.Pork,
			Skittles.CuredBeef = Base.Beef,
      Skittles.CuredVenison = Base.Venison,
      Skittles.CuredFish = Base.FishFillet,
		}
  }

  craftRecipe MakePemmicanMeat
  {
    timedAction = MixingBowl,
    Time = 30,
    onCreate = AdjustStatesPemmican,
    Tags = InHandCraft;Cooking,
    category = Cooking,
    inputs
    {
      item 1 [Base.Pork;Base.Beef;Base.Venison] mode:destroy,
      item 2 [Base.Lard] mode:destroy,
      item 4 [Base.BerryGeneric1;Base.BerryGeneric2;Base.BerryGeneric3;Base.BerryGeneric4;Base.BerryGeneric5;Base.BeautyBerry;Base.BerryBlack;Base.BerryBlue] flags[ItemCount] mode:destroy,
    }
    outputs
    {
      item 1 Skittles.Pemmican,
    }
    
  }

  craftRecipe ReduceMeatLard
  {
    timedAction = MixingBowl,
    Time = 30,
    Tags = InHandCraft;Cooking,
    category = Cooking,
    inputs
    {
      item 1 tags[Base.DullKnife;Base.SharpKnife;Base.MeatCleaver] mode:keep flags[MayDegradeLight],
      item 2 [Base.Pork] flags[ItemCount],
      item 1 [Base.PanForged;Base.Pan;Base.Saucepan;Base.SaucepanCopper;Base.Pot;Base.PotForged] mode:keep,
    }
    outputs
    {
      item 1 Base.Lard,
    }
  }


  craftRecipe MakeJarredMeat
  {
    timedAction = MixingBowl,
		Time = 100,
		OnCreate = Recipe.OnCreate.CannedFood,
		Tags = InHandCraft;Cooking,
    category = Cooking,
    inputs
    {
      item 1 [Base.EmptyJar;Base.JarCrafted] mode:destroy,
      item 1 [Base.JarLid] mode:destroy,
      item 1 [Base.Pork;Base.Beef;Base.Venison;Base.FishFillet] flags[ItemCount] mappers[meatType],
			item 2.0 tags[Vinegar],
			item 1.0 [Base.Salt],
			item 1 [*],
			-fluid 1.0 [Water],

    }
		outputs
		{
			item 1 mapper:meatType,
		}
    itemMapper meatType
		{
			Skittles.CannedPork = Base.Pork,
			Skittles.CannedBeef = Base.Beef,
      Skittles.CannedVenison = Base.Venison,
      Skittles.CannedFish = Base.FishFillet,
		}
    
  }

  craftRecipe OpenJarOfFoodMeat
	{
    timedAction = Making,
		Time = 30,
		OnCreate = Recipe.OnCreate.OpenCannedFood,
		Tags = InHandCraft;Cooking;CanBeDoneInDark,
    category = Cooking,
		inputs
		{
			item 1 [Skittles.CannedPork;Skittles.CannedBeef;Skittles.CannedVenison;Skittles.CannedFish] flags[AllowRottenItem;InheritFoodAge;ItemCount] mappers[foodType],
		}
		outputs
		{
			item 1 mapper:foodType,
		}
		itemMapper foodType
		{
			Skittles.CannedPork_Open = Skittles.CannedPork,
      Skittles.CannedBeef_Open = Skittles.CannedBeef,
      Skittles.CannedVenison_Open = Skittles.CannedVenison,
      Skittles.CannedFish_Open = Skittles.CannedFish,
			
		}
	}

  craftRecipe CrushSaltRock
  {
    timedAction = Making,
    Time = 30,
    Tags = InHandCraft;Cooking,
    category = Cooking,
    inputs
		{

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

  craftRecipe MakeMashedBerry
  {
    timedAction = Making,
    Time = 30,
    Tags = InHandCraft;Cooking,
    category = Cooking,
    inputs
		{

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

  craftRecipe MakeJam
  {
    timedAction = Making,
    Time = 100,
    Tags = InHandCraft;Cooking,
    category = Cooking,
    inputs
		{
			item 1 [Base.PanForged;Base.Pan;Base.Saucepan;Base.SaucepanCopper;Base.Pot;Base.PotForged] mode:keep,
      item 30 [Skittles.MashedBerries],
      item 10 [Base.Sugar;Base.SugarBrown],
		}
		outputs
		{
			item 1 Base.JamFruit,
		}
  }

  
}