Changing a researchPrerequisite in Vegetable Garden using a patch doesn't work

Started by PartyCowboy, August 06, 2019, 10:39:11 AM

Previous topic - Next topic

PartyCowboy

Hi, I'm trying to make a patch for Vegetable Garden that changes the researchPrerequisite for the RecipeDef "VG_MakebulkPemmican", but it doesn't work, any way I tried.

Here's the code I tried using:
<!--Reaaally weird thing. I had to remove it first, before inserting the one of my own, which is exactly the same, but with a different researchPrerequisite...
    <li Class="PatchOperationReplace">
    <xpath>*/RecipeDef[defName = "VG_MakebulkPemmican"]/researchPrerequisite</xpath>
    <value>
    <researchPrerequisite>TS_PrimitiveCooking</researchPrerequisite>
    </value>
    </li>-->
<li Class="PatchOperationRemove">
<xpath>*/RecipeDef[defName = "VG_MakebulkPemmican"]</xpath>
</li>
<li Class="PatchOperationInsert">
<xpath>*/RecipeDef</xpath>
<value>
    <RecipeDef Name="MakePemmican">
      <defName>VG_MakebulkPemmican</defName>
      <label>make bulk pemmican</label>
      <description>Make pemmican, a preserved combination of meat and plant food. It doesn't taste amazing, but lasts a year without refrigeration.</description>
      <jobString>Making pemmican.</jobString>
      <workAmount>1800</workAmount>
      <workSpeedStat>CookSpeed</workSpeedStat>
      <requiredGiverWorkType>Cooking</requiredGiverWorkType>
      <effectWorking>Cook</effectWorking>
      <soundWorking>Recipe_CookMeal</soundWorking>
      <allowMixingIngredients>true</allowMixingIngredients>
      <ingredientValueGetterClass>IngredientValueGetter_Nutrition</ingredientValueGetterClass>
      <ingredients>
        <li>
          <filter>
            <categories>
              <li>MeatRaw</li>
            </categories>
          </filter>
          <count>1</count>
        </li>
        <li>
          <filter>
            <categories>
              <li>PlantFoodRaw</li>
            </categories>
          </filter>
          <count>1</count>
        </li>
      </ingredients>
      <products>
        <Pemmican>64</Pemmican>
      </products>
      <fixedIngredientFilter>
        <categories>
          <li>FoodRaw</li>
        </categories>
        <disallowedCategories>
          <li>AnimalProductRaw</li>
        </disallowedCategories>
        <specialFiltersToDisallow>
          <li>AllowPlantFood</li>
        </specialFiltersToDisallow>
      </fixedIngredientFilter>
      <defaultIngredientFilter>
        <categories>
          <li>FoodRaw</li>
        </categories>
        <disallowedThingDefs>
          <li>Meat_Human</li>
          <li>Meat_Megaspider</li>
        </disallowedThingDefs>
      </defaultIngredientFilter>
      <workSkill>Cooking</workSkill>
      <researchPrerequisite>TS_PrimitiveCooking</researchPrerequisite>
    <recipeUsers>
           <li>ElectricStove</li>
      <li>FueledStove</li>
        </recipeUsers>
  </RecipeDef>
</value>
</li>
<!--End of weird bit and it still doesn't work :(-->


As you can see, I first tried doing it with a PatchOperationReplace, but this error popped up:
Could not resolve cross-reference: No Verse.ResearchProjectDef named Pemmican found to give to Verse.RecipeDef VG_MakebulkPemmican

Then I tried doing it the roundabout way by first removing it, then putting it back in, except with the researchPrerequisite changed, but then the same error popped up again!

I am baffled as to why it won't work, since I've done it dozens of times for other mods...
I appreciate any and all who have a solution for this.
Thanks

PartyCowboy