The creel rail, the spirit perch and the hod jib stood in the hammer for free. Their recipes are written out of resolved items rather than names, so they are written again once the item database is loaded - and the code that did the writing read a field that nothing ever assigned. It found nothing to reprice on every frame and skipped all three silently, so each piece kept the one recipe it was given at build time: written while ObjectDB was still the stub that holds no items, where every name in the cost failed to resolve and the list came out empty. An empty list is a piece that costs nothing. Found by building one.
Two changes, because either one alone would have hidden the other. The reprice asks the scene for the piece every pass, which is the rule the rest of this mod already follows and survives a world reload; and a recipe is now written only when every name in it resolved. Half a recipe is a discount and none at all is a free buildable, and both are worse than a piece that keeps the price it has for another frame. If a name never resolves - a typo in the config, or an item from a mod that is not installed - the piece keeps the cost it was cloned with and the log says which line to look at.
Discussion
Nothing said yet.
Sign in or make an account to join in.