RimWorld

RimWorld

QualityBuilder
Bug-reports / Suggestions.
Don't know what it is. Showed just after it loaded the map:

System.NullReferenceException: Object reference not set to an instance of an object at QualityBuilder.QualityBuilder.getDesignationOnThing (Verse.Thing thing) [0x00000] in <filename unknown>:0 at QualityBuilder.QualityBuilder.hasDesignation (Verse.Thing t) [0x00000] in <filename unknown>:0 at QualityBuilder.CompQualityBuilder.PostSpawnSetup () [0x00000] in <filename unknown>:0 at Verse.ThingWithComps.SpawnSetup (Verse.Map map) [0x00000] in <filename unknown>:0 at Verse.Building.SpawnSetup (Verse.Map map) [0x00000] in <filename unknown>:0 at Verse.GenSpawn.Spawn (Verse.Thing newThing, IntVec3 loc, Verse.Map map, Rot4 rot) [0x00000] in <filename unknown>:0 at Verse.GenSpawn.Spawn (Verse.Thing newThing, IntVec3 loc, Verse.Map map) [0x00000] in <filename unknown>:0 at MapGenerator.GenStep_CreateBlueprintSingle.TrySetCellAs (IntVec3 c, Verse.Map map, Verse.ThingDef thingDef, Rot4 thingRot, Verse.ThingDef stuffDef, Verse.TerrainDef terrainDef, Verse.PawnKindDef pawnKindDef, Verse.ThingDef itemDef, MapGenerator.MapGeneratorBlueprintDef blueprint) [0x00000] in <filename unknown>:0 at MapGenerator.GenStep_CreateBlueprintSingle.MakeBlueprintRoom (Verse.Map map, CellRect mapRect, MapGenerator.MapGeneratorBlueprintDef blueprint, Verse.ThingDef stuffDef) [0x00000] in <filename unknown>:0 at MapGenerator.GenStep_CreateBlueprintSingle.ScatterBlueprintAt (IntVec3 loc, Verse.Map map, MapGenerator.MapGeneratorBlueprintDef blueprint, Verse.ThingDef& wallStuff, System.Collections.Generic.List`1 listOfUsedCells) [0x00000] in <filename unknown>:0 at MapGenerator.GenStep_CreateBlueprintSingle.ScatterAt (IntVec3 loc, Verse.Map map, Int32 stackCount) [0x00000] in <filename unknown>:0 at Verse.GenStep_Scatterer.Generate (Verse.Map map) [0x00000] in <filename unknown>:0 at Verse.MapGenerator.GenerateContentsIntoMap (Verse.MapGeneratorDef def, Verse.Map map) [0x00000] in <filename unknown>:0 Verse.Log:Error(String) Verse.MapGenerator:GenerateContentsIntoMap(MapGeneratorDef, Map) Verse.MapGenerator:GenerateMap(IntVec3, Int32, MapParent, Action`1, MapGeneratorDef) Verse.Game:InitNewGame() Verse.Root_Play:<Start>m__737() Verse.LongEventHandler:RunEventFromAnotherThread(Action) Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__733()
< >
Showing 1-15 of 100 comments
Also it seems to have problems with «Map Reroll». Bug-report is here:

https://steamhost.cn/steamcommunity_com/workshop/filedetails/discussion/761315214/154644787622990414/

Great modification, by the way. I hope it could be easily fixed.
Last edited by тетеря, блин; 13 Jan, 2017 @ 4:00pm
Hatti  [developer] 14 Jan, 2017 @ 3:49am 
Thanks for reporting and also the link to the map reroll bug. Both are a bug different. I guess, your game didnt crashed after the error? Do you use any other mods that alters the map generation like alienrace or misc map generator?

But will add a safety catch into qualitybuilder:)
Last edited by Hatti; 14 Jan, 2017 @ 4:24am
Hatti  [developer] 21 Jan, 2017 @ 8:11am 
fixed on newest release
Red Toxon 7 Feb, 2017 @ 9:46pm 
Hello, I am getting an error on starting my game with your mod. It's not breaking anything that I'm aware of, but I felt you should know about it.
Type ModInitializer probably needs a StaticConstructorOnStartup attribute, because it has a field obj of type GameObject. All assets must be loaded in the main thread.
Verse.Log:Warning(String) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:36)
Verse.StaticConstructorOnStartupUtility:ReportProbablyMissingAttributes() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\StaticConstructorOnStartup.cs:58)
Verse.PlayDataLoader:<DoPlayLoad>m__6F8() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Defs\Databases\PlayDataLoader.cs:256)
Verse.LongEventHandler:ExecuteToExecuteWhenFinished() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:351)
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:268)
Verse.LongEventHandler:LongEventsUpdate(Boolean&) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:181)
Verse.Root:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:96)
Hatti  [developer] 8 Feb, 2017 @ 3:58pm 
This is just a warning and can be ignored. The warning comes from the "hook" into the game to modify it at the right time to be mod order independant
gatherer818 12 Feb, 2017 @ 6:55am 
Suggestion: can this be improved to add an option to turn on the QualityBuilder flag even on constructions without a quality? (for example, I have a mod adding Advanced Geothermal Generators that take a lot of plasteel and components, both of which I'm always starving for. While my best builder is busy making a new Hospital Bed, my 4-skill Construction Bots like to wander away from the granite walls I have them making and try to complete the Advanced Geothermal Generator on their own, and they fail and waste half the materials... I'd like to be able to flag complex and expensive structures to have only my master builder make them, please!)
Tarmph 28 Mar, 2017 @ 3:45pm 
not so much a bug but a conflict between Humanoid alien races and quality builder. race retricted building with qualtity such as an elder thing bed can go unbuilt because the best builder isn't of a race that is allowed to build it thus HAF prevents the construction, but since the racially appropriate builder doesn't have the highest skill Quality Builder block the construction. The only work around I've found is to use Quality builder's own tool for removing the skill restriction.
The Word-Mule 15 Jul, 2017 @ 2:54pm 
This mod seems to throw an error after I deconstruct a statue.

Pawn Onesan threw exception while executing toil's finish action (0), curJob=Deconstruct A=Thing_SculptureSmall1595294: System.NullReferenceException: Object reference not set to an instance of an object at Verse.ThingMaker.MakeThing (Verse.ThingDef def, Verse.ThingDef stuff) [0x00000] in <filename unknown>:0 at RimWorld.GenConstruct.PlaceBlueprintForBuild (Verse.BuildableDef sourceDef, IntVec3 center, Verse.Map map, Rot4 rotation, RimWorld.Faction faction, Verse.ThingDef stuff) [0x00000] in <filename unknown>:0 at QualityBuilder._JobDriver_Deconstruct.afterFinishToil (Verse.AI.Toil cur, QualityBuilder.CompQualityBuilder cmp, IntVec3 center, Rot4 rotation, Verse.ThingDef stuffDef, Verse.ThingDef buildingDef) [0x00000] in <filename unknown>:0 at QualityBuilder._JobDriver_Deconstruct+<>c__DisplayClass0_0.<MakeNewToils>b__0 () [0x00000] in <filename unknown>:0 at Verse.AI.Toil.Cleanup () [0x00000] in <filename unknown>:0 Verse.Log:Error(String) Verse.AI.Toil:Cleanup() Verse.AI.JobDriver:TryActuallyStartNextToil() Verse.AI.JobDriver:ReadyForNextToil() Verse.AI.JobDriver:TryActuallyStartNextToil() Verse.AI.JobDriver:ReadyForNextToil() RimWorld.<MakeNewToils>c__IteratorF:<>m__37() Verse.AI.JobDriver:DriverTick() Verse.AI.Pawn_JobTracker:JobTrackerTick() Verse.Pawn:Tick() Verse.TickList:Tick() Verse.TickManager:DoSingleTick() Verse.TickManager:TickManagerUpdate() Verse.Game:UpdatePlay() Verse.Root_Play:Update()
Laetoutou 25 Jan, 2018 @ 1:05pm 
It's not fixed for me, your mod doesn't work prbably because I've reroll map. Can you solve it please ?
Jobby Yagyu 16 Jun, 2018 @ 1:44pm 
Would it be possible to add an option to set the minimum level to build something (i.e. 10 & above), instead of only the best constructor? Say I want comfy seats but we don't need Jimmy the autistic savant, just a qualified tradesman will do.
It doesn't make sense that I set the quality on a set of stools to "normal", then nobody but my level 20 builder will do it.
Last edited by Jobby Yagyu; 8 Jul, 2018 @ 3:39am
Twilight 7 Sep, 2018 @ 2:14am 
The context menu never appears, and the log says at the end of the call stack:
"QualityBuilder: ÊVT0
Verse.Log:Error(String, Boolean)"

"ÊVT0"? It's always nice to have undefind log messages. Anyway i post this as constructive criticism, because i'd like this mod to work and some people have it in use. I'dont use a lot of mods (like around 15, mostly gui conviniences) but whatever combination, this thing just throws exceptions. I think this mod is heavily vulnerable to side-effects by other mods..

At one point, RimWorld claimed it should use some static constructor to be loaded from a different thread. Without QualityBuilder, everything works in any combination and doesn't throw any exception.

Anyway, keep up the good work!
Last edited by Twilight; 7 Sep, 2018 @ 2:30am
Twilight 7 Sep, 2018 @ 2:29am 
Ok, at some mod combination i got the context menu with the quality settings, but the building process didn't do anything afterwards.

Still looking.

I am testing with a freshly made mini map for testing from the current R19 build.

At them moment i narrowed it down to *not* loading Replace Stuff, Fences & Floors, Cleaning Area, Coloured Mood Bar and Conduit Deconstruct. Then it sems to work for a bit.
Twilight 7 Sep, 2018 @ 2:40am 
One question:
how does it handle pre-existing stuff, before the mod is used?
I see the quality marker only on new stuff.
Twilight 7 Sep, 2018 @ 2:47am 
Im testing this on double beds (wood) and at some point of constructing/deconstruction, the bed task loses the 'quality builder' setting. Even if it didn't succed in making to the set quality. The task icon also vanises, and architec->order->set quality builder never does anything.
Strange.
Twilight 7 Sep, 2018 @ 3:41am 
Ok, i loaded my savegame once more with every mod enabled that i had before too. And for that moment, it worked. Strange indeed.

Can it be that the mod has a problem when it has already seen a savegame? the message "quality settings addwed to 75 items" vs "quality settings added to 0 items" could point to that.

I added every other mod one by one, to see when the point came it breaks. My last candidates where "Replace Stuff" and "Conduit Deconstruct".

It seems to work rather randomly..
Maybe it's the load order?
< >
Showing 1-15 of 100 comments
Per page: 1530 50