jptrrs / BurnItForFuel

Burn whatever you want on RimWorld.
https://steamcommunity.com/sharedfiles/filedetails/?id=1823276856
MIT License
0 stars 2 forks source link

water fueled passive coolers #1

Closed TinyGecko closed 4 years ago

TinyGecko commented 5 years ago

I play with a mod that changes the fuel for passive coolers from wood to water from the No Water No Life mod.

When I open the Fuel tab it shows all water types accordingly, but when my pawns try to refuel the cooler it says that it can't be done because of missing ingredients. It also generates the following error:

BreadthFirstTraverse with null root region. Verse.Log:Error(String, Boolean) Verse.RegionTraverser:BreadthFirstTraverse(Region, RegionEntryPredicate, RegionProcessor, Int32, RegionType) RimWorld.RefuelWorkGiverUtility:FindAllFuel_Patch2(Pawn, Thing) RimWorld.RefuelWorkGiverUtility:CanRefuel_Patch2(Pawn, Thing, Boolean) RimWorld.WorkGiver_Refuel:HasJobOnThing(Pawn, Thing, Boolean) RimWorld.FloatMenuMakerMap:AddJobGiverWorkOrders(IntVec3, Pawn, List1, Boolean) RimWorld.FloatMenuMakerMap:AddUndraftedOrders(Vector3, Pawn, List1) RimWorld.FloatMenuMakerMap:ChoicesAtFor(Vector3, Pawn) RimWorld.FloatMenuMakerMap:TryMakeFloatMenu(Pawn) RimWorld.Selector:HandleMapClicks() RimWorld.Selector:SelectorOnGUI() RimWorld.MapInterface:HandleLowPriorityInput() RimWorld.UIRoot_Play:UIRootOnGUI() Verse.Root:OnGUI()

I tried to add the following patch but that didn't help. It only added the other fuel types (wood, coal... ) to the fuel tab of coolers too.

    <Operation Class="PatchOperationAdd">
      <xpath>/Defs/ThingDef[defName = "PassiveCooler" or defName = "ImprovedPassiveCooler" or defName = "AdvancedPassiveCooler"]/comps/li[@Class = "CompProperties_Refuelable"]/../../building/fixedStorageSettings/filter/thingDefs</xpath>
      <value>
            <li>Mizu_ClearWater</li>
            <li>Mizu_NormalWater</li>
            <li>Mizu_RawWater</li>
            <li>Mizu_SeaWater</li>
            <li>Mizu_MudWater</li> 
      </value>
  </Operation>

Can you help me please?

jptrrs commented 5 years ago

Well, you didn't share the name of the mod you're using, so I can't be sure, but this bit: "RimWorld.RefuelWorkGiverUtility:FindAllFuel_Patch2" is enough to tell me there is some other active Harmony patch targeting the same game part Burn It For Fuel does. I bet that's causing a conflict. A quick dirty solution could be preventing my mod from touching the affected passive coolers. This should do the trick, it just needs to run after my patches:

`

/Defs/ThingDef[defName = "PassiveCooler" or defName = "ImprovedPassiveCooler" or defName = "AdvancedPassiveCooler"]/comps/li[@Class="BurnItForFuel.CompProperties_SelectFuel"]

`

But if you can link me that mod, maybe I can figure something else up.

TinyGecko commented 5 years ago

Sorry, it is the mod called Silt's Passive Cooler from the workshop. You are right, it includes a patch to change its default fuel to the water types of No Water No Life when this mod is detected.