Quality Lib


Provides a library for modders to easily interface with Quality and add quality stats to any item/entity.

Internal
3 months ago
2.0
2.23K
Transportation Logistics Trains Combat Armor Mining Fluids Logistic network Manufacturing Power Storage

g Error in assignID

4 months ago

I'm getting the error
Failed to load mods: Error in assignID: entity with name 'sSasha__quality-lib__uncommon-surface-drill-placer' does not exist.

Source: sSasha__quality-lib__uncommon-surface-drill (item).

Mods to be disabled:
• quality-lib (2.0.4)

I see others have had a similar error and it came from flow control but it was supposedly fixed. This error is referring to the drill for the subsurface mod but it has an uncommon version and quality effects for it so I don't know why this is happening. Here's a mod list:
49.791 Checksum for core: 2871805093
49.791 Checksum of base: 961148251
49.791 Checksum of common-prototypes-graphics: 0
49.791 Checksum of fdsl: 2767918288
49.791 Checksum of Robocharger-Updated: 1623621404
49.791 Checksum of squeak-through-2: 1745124569
49.791 Checksum of wood-universe-assets: 0
49.791 Checksum of zzzzStopChasingBeltItems: 2659967425
49.791 Checksum of aai-vehicles-miner: 2507206877
49.791 Checksum of alien-biomes-graphics: 0
49.791 Checksum of ArmouredBiters: 443371832
49.791 Checksum of cf-lib: 0
49.791 Checksum of DiscoScience: 2800209080
49.791 Checksum of elevated-rails: 1723922474
49.791 Checksum of even-distribution: 281457414
49.791 Checksum of far-reach: 2454916370
49.791 Checksum of Flare Stack: 951114723
49.791 Checksum of flib: 728527376
49.791 Checksum of FluidMustFlow: 2395490020
49.791 Checksum of InserterFuelLeech: 172455391
49.791 Checksum of inventory-repair: 2908806630
49.791 Checksum of Krastorio2Assets: 0
49.791 Checksum of lignumis-assets: 0
49.791 Checksum of metal-and-stars-graphics: 1541608299
49.791 Checksum of metal-and-stars-graphics-2: 1541608299
49.791 Checksum of mf-buildings-graphics-1: 0
49.791 Checksum of mf-core: 637900547
49.791 Checksum of mf-logistics-graphics-1: 0
49.791 Checksum of minimalist-rails: 1594300637
49.791 Checksum of ModuleInserterSimplified: 2708727588
49.791 Checksum of muluna-graphics: 0
49.791 Checksum of Orphan Finder: 3018051455
49.791 Checksum of Pi-C_lib: 0
49.791 Checksum of pollution-as-surface-property: 3197598176
49.791 Checksum of pump: 1786745942
49.791 Checksum of qol_research: 3109955847
49.791 Checksum of quality: 3659920990
49.791 Checksum of quality_glassware: 1213931034
49.791 Checksum of show-max-underground-distance: 1201560390
49.791 Checksum of Side Inserters: 216212179
49.791 Checksum of smarter-belt-immunity: 3685130302
49.791 Checksum of SpidertronEnhancements: 1211155759
49.791 Checksum of tile-upgrade-planner: 352732611
49.791 Checksum of Wood-Walls: 1213059523
49.791 Checksum of ChangeInserterDropLane: 154718258
49.791 Checksum of CharacterModHelper: 3492869231
49.791 Checksum of mf-buildings: 1904052849
49.791 Checksum of mf-logistics: 809524054
49.791 Checksum of Milestones: 3589694464
49.791 Checksum of RateCalculator: 1295360039
49.791 Checksum of space-age: 2640575863
49.791 Checksum of StatsGui: 4033436165
49.791 Checksum of Subsurface: 120438098
49.791 Checksum of aai-containers: 3369487779
49.791 Checksum of advanced_target_priorities: 2146524825
49.791 Checksum of Age-of-Production-Graphics: 0
49.791 Checksum of belt-quality: 3215525058
49.791 Checksum of bioprocessing-tab: 793909576
49.791 Checksum of Clones: 52057242
49.791 Checksum of Cold_biters: 2529328967
49.791 Checksum of common-prototypes: 1914878874
49.791 Checksum of corrundum: 3883511800
49.791 Checksum of cubium: 2060148315
49.791 Checksum of EditorExtensions: 3808487822
49.791 Checksum of enhanced-shadows: 4148917133
49.791 Checksum of est-tiny-storage-tank: 3808200603
49.791 Checksum of ev-assets: 3758649094
49.791 Checksum of Factorio-Tiberium: 197822815
49.791 Checksum of factorissimo-2-notnotmelon: 3493180736
49.791 Checksum of fulgora-coralmium-agriculture: 3343439777
49.791 Checksum of genshin-impact-skin: 2914700503
49.791 Checksum of long_stack_inserter: 3202763561
49.791 Checksum of muluna-utility-constants: 1648984795
49.791 Checksum of planet-arrakis: 2589204838
49.791 Checksum of PlanetsLib: 718596307
49.791 Checksum of se-space-trains: 2418856103
49.791 Checksum of secretas: 1420881616
49.791 Checksum of snouz-big-accumulator: 4046211528
49.791 Checksum of snouz-big-solar-panel: 2595663607
49.791 Checksum of snouz_better_substation: 2050693629
49.791 Checksum of space-platform-for-ground: 4102301496
49.791 Checksum of SpidertronPatrols: 873737043
49.791 Checksum of terrapalus: 343101547
49.791 Checksum of vulcanus-sulfuric-bacteria: 1183057798
49.791 Checksum of whats_a_spoilage: 2287164769
49.791 Checksum of Cerys-Moon-of-Fulgora: 2998146904
49.791 Checksum of ev-mining-drills: 1253372737
49.791 Checksum of janus: 3766502194
49.791 Checksum of lex-aircraft: 196741113
49.791 Checksum of minime: 1084202931
49.791 Checksum of tenebris-prime: 1991450782
49.791 Checksum of maraxsis: 522463271
49.791 Checksum of Moshine-assets: 220603080
49.791 Checksum of planet-muluna: 2777744483
49.791 Checksum of Aircraft-space-age: 2822118123
49.791 Checksum of astroponics: 1474058859
49.791 Checksum of castra: 2843046036
49.791 Checksum of dea-dia-system: 65984421
49.791 Checksum of metal-and-stars: 274869703
49.791 Checksum of Moshine: 95923354
49.791 Checksum of lignumis: 2196383836
49.791 Checksum of Age-of-Production: 55025737

4 months ago

Given that it's referring to a 'placer' it's probably another weird edge case with a modded multi-prototype entity. I'll take a look. Thanks for narrowing down which mod it was, by the way.

4 months ago

The error has been fixed, though it looks like the Surface Miner doesn't seem to properly scale its Mining Speed with Quality. I'll look into that at a later date.

4 months ago

It indeed worked and now I can use the better quality mod, but it's setting all of my recyclers to eject from the side even though I have the option disabled. Is this just a case of my mod incompatibility?

4 months ago

Nope, just a silly bug in Better Quality. Was accidentally checking if the setting existed at all instead of checking if the setting value was true/false. Should be fixed now. Sorry about that!

4 months ago

I hate to keep bringing up issues but the quality belts are also finicky. When crafted they do not inherit the quality bonus until you put them in your inventory. This means that quality belts that touch your inventory can no longer be used to craft the next tier because they're now a different item. Example: if I intend to craft legendary green belts, I cannot touch any of the preceding legendary belt tiers or they can no longer be used as ingredients because the recipe takes 45 items/s legendary blue belts, not 90 items/s blue belts.

4 months ago
(updated 4 months ago)

I should have added that to the known issues, but I must have forgot. Unfortunately, there are a lot of edge cases that aren't currently covered by the mod that would require a lot of work to fix due to how limited the modding API is. In this case, recipes can't have optional ingredients in this game, so the only way to fix this issue is to either add thousands of conditional recipes and somehow figure out the code to switch them on the fly or keep track of quality items and swap them back to their originals based on where they are.

Option one would massively inflate load times and doesn't really seem feasible at all while option two would have a UPS impact, something that I, as a very inexperienced Factorio modder, wanted to avoid entirely out of fear of creating a lot of lag for people.

The current situation essentially predicates on the idea that items that go into your inventory are used for building, whereas items for crafting should stay within their given chain of logistics and crafting machines. Obviously that is not ideal.

If you're wondering why quality items are even a thing at all, there's two reasons. First, it shows the quality stats in the inventory, which is nice but ultimately not needed. Second, belts have a ton of hardcoded logic behind how they're placed, and if you simply replace entities as they're spawned, it causes belts to freak out, placing undergrounds all over the place. If you look at the known issues you'll see a bunch of fixed issues there relating to belts. Creating quality items fixed those issues but also has side effects, as you've noticed.

Fixing all of these issues is probably possible, it's just that I'm very new to Factorio modding (this is literally my second mod ever, and it is an offshoot of my first mod ever) and am most definitely out of my depth here. The last thing I want to do is fuck up peoples' saves or cause UPS problems so I'm taking these more finicky issues very seriously.

Also, please don't feel bad about bringing up issues. This mod (and Better Quality, for that matter) has become significantly more robust as a result of people posting various issues and incompatibilities with mods, and I've learned a lot in a very short amount of time as a result.

4 months ago

I see, I can work around it for now but hopefully there's some way to get it fixed. The other belt quality mod doesn't work and the creator isn't responsive from what I can tell but you've been helpful and thank you for your time.

4 months ago

Sorry for taking so long. Quality Lib 2.1.0 has been released which attempts to sidestep this issue by reverting Quality items back to their original counterparts when they leave your inventory. This covers dropping items on the ground, moving items from one inventory to another via the GUI, and using CTRL+Click to spread items across entities. Let me know if you run into any issues!

New response