Skip to content

Instantly share code, notes, and snippets.

@notfood
Created August 15, 2020 01:43
Show Gist options
  • Save notfood/cb373471cc7932fb731e49dd3758d1fe to your computer and use it in GitHub Desktop.
Save notfood/cb373471cc7932fb731e49dd3758d1fe to your computer and use it in GitHub Desktop.
Ceramics + FertileFields
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Fertile Fields [1.1]</li>
</mods>
<match Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_FiberFromWood"]/products/N7_PlantFiber</xpath>
<value>
<N7_PlantFiber>20</N7_PlantFiber>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="MineableClay"]/building/mineableYield</xpath>
<value>
<mineableYield>5</mineableYield>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_RawMudbricks"]/ingredients/li[1]/count</xpath>
<value>
<count>5</count>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_RawMudbricks"]/ingredients/li[2]/count</xpath>
<value>
<count>5</count>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_RawBricks"]/ingredients/li[1]/count</xpath>
<value>
<count>5</count>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_RawBricks"]/ingredients/li[2]/count</xpath>
<value>
<count>5</count>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_HardenedCeramic"]/ingredients/li[1]/count</xpath>
<value>
<count>2</count>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_HardenedCeramic"]/ingredients/li[2]/count</xpath>
<value>
<count>3</count>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_Wafer"]/ingredients/li[2]/count</xpath>
<value>
<count>5</count>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_Porcelain"]/ingredients/li[1]/count</xpath>
<value>
<count>6</count>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Make_Porcelain"]/ingredients/li[2]/count</xpath>
<value>
<count>2</count>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Fertile Fields [1.1]</li>
</mods>
<match Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationAdd">
<xpath>Defs/ThingDef[defName="PlantScraps"]/thingCategories</xpath>
<value>
<li>PlantMatter</li>
</value>
</li>
<!-- Replace Ceramics' sand with Fertile Fields' -->
<li Class="PatchOperationRemove">
<xpath>Defs/ThingDef[defName="N7_Sand"]</xpath>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[
defName="Make_RawBricks" or
defName="Make_HardenedCeramic" or
defName="Make_Wafer" or
defName="Make_Porcelain" or
defName="Make_RawBricks" or
defName="Make_HardenedCeramic" or
defName="Make_Wafer" or
defName="Make_Porcelain"
]//thingDefs[li="N7_Sand"]/li</xpath>
<value>
<li>SandPile</li>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Collect50Sand"]/*[self::label or self::description]/text()</xpath>
<value>Collect sand</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Collect50Sand"]/products/N7_Sand</xpath>
<value>
<SandPile>2</SandPile>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Collect25Clay"]/*[self::label or self::description]/text()</xpath>
<value>Collect clay</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="Collect25Clay"]/products/N7_RawClay</xpath>
<value>
<N7_RawClay>1</N7_RawClay>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>
<?xml version="1.0" encoding="utf-8"?>
<Patch>
<Operation Class="PatchOperationFindMod">
<mods>
<li>Fertile Fields [1.1]</li>
</mods>
<match Class="PatchOperationSequence">
<operations>
<!-- Replace Fertile Fields' textures for sand with Ceramics' -->
<li Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="SandPile"]/graphicData/texPath</xpath>
<value>
<texPath>Things/Item/Sand</texPath>
</value>
</li>
<!-- Remove Fertile Fields Content: PFFBricks, BrickWall, Clay -->
<li Class="PatchOperationRemove">
<xpath>Defs/ThingDef[
defName="RFFClay" or
defName="RFFBricks"
]</xpath>
</li>
<li Class="PatchOperationRemove">
<xpath>Defs/RecipeDef[
defName="MakeBricks" or
defName="MakeFastBricks"
]</xpath>
</li>
<!-- Hide Brickwall -->
<li Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="BrickWall"]</xpath>
<value>
<ThingDef>
<defName>BrickWall</defName>
<label>BrickWall-dummy</label>
<thingClass>Building</thingClass>
</ThingDef>
</value>
</li>
<!-- Replace RFFClay with N7_Clay -->
<li Class="PatchOperationReplace">
<xpath>Defs/ThingDef[
defName="Terraform_Gravel-RockyDirt" or
defName="Terraform_Gravel-Sand" or
defName="Terraform_SoilF-Sand"
]/modExtensions/li[@Class="RFF_Code.Terraformer"]/products/RFFClay</xpath>
<value>
<N7_RawClay>1</N7_RawClay>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/ThingDef[
defName="Terraform_RockyDirt-Gravel" or
defName="Terraform_Sand-Gravel" or
defName="Terraform_Sand-SoilF"
]/costList/RFFClay</xpath>
<value>
<N7_RawClay>1</N7_RawClay>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/ThingDef[
defName="Terraform_SoilF-Marsh" or
defName="Terraform_Mud-Marsh" or
defName="Terraform_SoilMarshy-Marsh" or
defName="Terraform_Sand-WaterShallow" or
defName="Terraform_SoilF-WaterShallow" or
defName="Terraform_RockyDirt-WaterShallow" or
defName="Terraform_WaterShallow-WaterDeep" or
defName="Terraform_Marsh-WaterDeep"
]/modExtensions/li[@Class="RFF_Code.Terraformer"]/products/RFFClay</xpath>
<value>
<N7_RawClay>5</N7_RawClay>
</value>
</li>
<!-- Replace products in recipes -->
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="SplitDirt"]/products/RFFClay</xpath>
<value>
<N7_RawClay>1</N7_RawClay>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="SplitDirtBulk"]/products/RFFClay</xpath>
<value>
<N7_RawClay>5</N7_RawClay>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="DirtToClay"]/products/RFFClay</xpath>
<value>
<N7_RawClay>2</N7_RawClay>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="DirtToClayBulk"]/products/RFFClay</xpath>
<value>
<N7_RawClay>10</N7_RawClay>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="MakeClay"]/products/RFFClay</xpath>
<value>
<N7_RawClay>1</N7_RawClay>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[defName="MakeClayBulk"]/products/RFFClay</xpath>
<value>
<N7_RawClay>5</N7_RawClay>
</value>
</li>
<!-- Replace ingredients -->
<li Class="PatchOperationReplace">
<xpath>Defs/RecipeDef[
defName="MakeDirt" or
defName="MakeDirtBulk"
]//thingDefs[li="RFFClay"]/li</xpath>
<value>
<li>N7_RawClay</li>
</value>
</li>
<!-- Replace RFFBrick with N7_FiredBrick -->
<li Class="PatchOperationReplace">
<xpath>Defs/TerrainDef[defName="HBBrickFloor"]/costList/RFFBricks</xpath>
<value>
<N7_FiredBrick>4</N7_FiredBrick>
</value>
</li>
<!-- Remove Fertile Fields Brick Floor -->
<li Class="PatchOperationRemove">
<xpath>Defs/TerrainDef[defName="BrickFloor"]</xpath>
</li>
<!-- Adjust Research Tab Placement -->
<li Class="PatchOperationReplace">
<xpath>Defs/ResearchProjectDef[defName="RFF_Farming"]/researchViewY</xpath>
<value>
<researchViewY>4.5</researchViewY>
</value>
</li>
</operations>
</match>
</Operation>
</Patch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment