RimWorld

RimWorld

While You Are Nearby
Winter 3 May, 2022 @ 2:02am
Bug : BurnItForFuel
Receive the following error when only wood and coal fuel types are toggled on the fuel list.
No error this thrown when WYAN is disabled.

Cannot do ClosestThingReachable searching everything without restriction.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch4 (string)
Verse.GenClosest:EarlyOutSearch (Verse.IntVec3,Verse.Map,Verse.ThingRequest,System.Collections.Generic.IEnumerable`1<Verse.Thing>,System.Predicate`1<Verse.Thing>)
Verse.GenClosest:ClosestThingReachable (Verse.IntVec3,Verse.Map,Verse.ThingRequest,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>,System.Collections.Generic.IEnumerable`1<Verse.Thing>,int,int,bool,Verse.RegionType,bool)
(wrapper dynamic-method) BurnItForFuel.HarmonyPatches:BurnItForFuel.HarmonyPatches.FindBestFuel_Patch0 (Verse.Pawn,Verse.Thing)
(wrapper dynamic-method) BurnItForFuel.HarmonyPatches:BurnItForFuel.HarmonyPatches.FindBestFuel_Postfix_Patch0 (Verse.Pawn,Verse.Thing,Verse.Thing&)
(wrapper dynamic-method) RimWorld.RefuelWorkGiverUtility:RimWorld.RefuelWorkGiverUtility.FindBestFuel_Patch1 (Verse.Pawn,Verse.Thing)
(wrapper dynamic-method) RimWorld.RefuelWorkGiverUtility:RimWorld.RefuelWorkGiverUtility.CanRefuel_Patch1 (Verse.Pawn,Verse.Thing,bool)
RimWorld.WorkGiver_Refuel:HasJobOnThing (Verse.Pawn,Verse.Thing,bool)
RimWorld.JobGiver_Work/<>c__DisplayClass3_1:<TryIssueJobPackage>b__0 (Verse.Thing)
Verse.GenClosest/<>c__DisplayClass2_0:<ClosestThingReachable>b__0 (Verse.Thing)
Verse.GenClosest:<ClosestThing_Global>g__Process|5_0 (Verse.Thing,Verse.GenClosest/<>c__DisplayClass5_0&)
Verse.GenClosest:ClosestThing_Global (Verse.IntVec3,System.Collections.IEnumerable,single,System.Predicate`1<Verse.Thing>,System.Func`2<Verse.Thing, single>)
Verse.GenClosest:ClosestThingReachable (Verse.IntVec3,Verse.Map,Verse.ThingRequest,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>,System.Collections.Generic.IEnumerable`1<Verse.Thing>,int,int,bool,Verse.RegionType,bool)
(wrapper dynamic-method) RimWorld.JobGiver_Work:RimWorld.JobGiver_Work.TryIssueJobPackage_Patch2 (RimWorld.JobGiver_Work,Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch3 (Verse.AI.Pawn_JobTracker,Verse.ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch6 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch1 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch5 (Verse.Pawn)
(wrapper dynamic-method) Verse.TickList:Verse.TickList.Tick_Patch2 (Verse.TickList)
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch4 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch1 (Verse.Game)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)


(Will post this on BurnItForFuel page aswell)
Last edited by Winter; 3 May, 2022 @ 2:19am
< >
Showing 1-1 of 1 comments
pureMJ  [developer] 4 May, 2022 @ 8:53pm 
@WinterWolf
Based on the stacktrace, BurnItForFuel mod needs to prevent that from happening.

Specifically at this line:
https://github.com/jptrrs/BurnItForFuel/blob/248143f3ea32fc246044f42ead8a9982e2f9504c/Source/HarmonyPatch.cs#L99
that mods should make sure the "thing request" passed in is never "everything".

This is error is benign (basically it logs the error and abort the operation). It should do damage except the job will be cancel (so BurnItForFuel wouldn't work)

The reason you happens to find this mod trigger this error is probably just luck. In a different game set up you might find vanilla game trigger that error too.
< >
Showing 1-1 of 1 comments
Per page: 1530 50