Everything Spoilage

by Magi3r

The Ultimate Gleba-Experience for Every Planet! Adds spoiling to almost every item. Very customizable. With 3 modes: Normal A balanced experience with the addition of spoilage to most items and many ways to get rid of it Peak Gleba: All will become spoilage Random Absolute Chaos! All items spoil into random things.

Overhaul
4 months ago
2.0
711
Factorio: Space Age Icon Space Age Mod
Manufacturing

b Incompatible with Pyanodon's

6 days ago
(updated 6 days ago)
Failed to load mods: __pypostprocessing__/lib/metas/item.lua:26: Item auog-paddock does not exist
stack traceback:

    [C]: in function 'error'
    __pypostprocessing__/lib/metas/item.lua:26: in function 'ITEM'
    __pypostprocessing__/data-final-fixes.lua:10: in function <__pypostprocessing__/data-final-fixes.lua:7>
    (...tail calls...)
    __pypostprocessing__/data-final-fixes.lua:36: in main chunk

When running with Py on random mode, Everything Spoilage fails to start.

5 days ago

First of all: Why would you ever do this ...? Do you hate yourself? Or do you just like to suffer?

And second:
Could you give us the complete modlist you are using?

5 days ago
(updated 5 days ago)

First of all: Why would you ever do this ...? Do you hate yourself? Or do you just like to suffer?

I was wanting to start a fun side-save. It's not like Everything Spoilage: Random would make pY strictly harder - just weirder.

And second:
Could you give us the complete modlist you are using?

In addition to your mod, I was running the following:

  Milestones = "1.4.7",
  Placeables = "1.5.4",
  SpeedControl = "2.0.1",
  ["aai-loaders"] = "0.2.7",
  ["aai-loaders-stacking-filtering-py-fork"] = "0.1.2",
  base = "2.0.72",
  ["drills-of-drills"] = "2.0.4",
  ["elevated-rails"] = "2.0.72",
  ["enable-all-feature-flags"] = "1.0.2",
  ["factories-in-tight-spaces"] = "0.1.24",
  factoryplanner = "2.0.43",
  flib = "0.16.5",
  ["inserter-throughput"] = "0.1.6",
  ["mining-patch-planner"] = "1.7.14",
  ["not-enough-parameters"] = "1.0.1",
  ["ore-eraser-2"] = "0.2.4",
  py_quick_start = "3.0.2",
  pyalienlife = "3.0.61",
  pyalienlifegraphics = "3.0.11",
  pyalienlifegraphics2 = "3.0.2",
  pyalienlifegraphics3 = "3.0.4",
  pyalternativeenergy = "3.1.36",
  pyalternativeenergygraphics = "3.0.6",
  pycoalprocessing = "3.0.44",
  pycoalprocessinggraphics = "3.0.9",
  pycranes = "1.1.1",
  pyfusionenergy = "3.0.17",
  pyfusionenergygraphics = "3.0.4",
  pyhightech = "3.0.18",
  pyhightechgraphics = "3.0.3",
  pyindustry = "3.0.20",
  pyindustrygraphics = "3.0.3",
  pymodpack = "3.0.0",
  pypetroleumhandling = "3.0.22",
  pypetroleumhandlinggraphics = "3.0.5",
  pypostprocessing = "3.0.41",
  pyrawores = "3.0.25",
  pyraworesgraphics = "3.0.4"

I'm pretty sure I know what the error is because of Drills of Drills (one of my mods) had a similar issue arising from a prototype being created... and then renamed in final-fixes after I ran, leading to weird crashes.
The issue is caused by line 36 of pypostprocessing, where it's trying to map out spoil chains and loops to apply automatic spoil_level modification to change default inserter priority.

5 days ago

I THINK this might be fixed by moving random mode changes to final fixes - just because maybe the name change happens in updates, I'm not sure. I'll experiment and get back to you on that.

4 days ago
(updated 4 days ago)

Okay - tinkering with it.

I think adding an optional dependency on pypostprocessing fixes your side of the issue, and there may be an issue on Py's end as well - it looks like their spoil_level stuff may not be properly guaranteeing non-nil when indexing their tables? This is definitely not an easy one to detangle...

Alternatively, you can completely sidestep the issue entirely by optional dependency on pypostprocessing + moving your logic to data-final-fixes. However, that may create a new bug in the form of:

Your logic for filtering out uncraftables is through hardcoding, and Py adds new uncraftables. So you can get items that spoil into Py's additional placeholder variables, for example.

New response