Resource Spawner Overhaul

by orzelek

Overhauls resource spawning system.

17 days ago
0.14 - 1.1
135K

g Issue with iron, copper and stone not generating with RSO and Angels AND angelsmods.refining.disable_ore_override = true

4 years ago

So a while ago I requested a setting within angels so that I could turn off his removal of every other resource setting. This works with vanilla autoplace control (but usually ends up putting 6 different resources in the same spot) and used to work in 0.16 (excluding stone which at the time I didn't mind cause I intend to remove stone). I've tried looking through the mods but can't for the life of me figure out what's going wrong with the iron and copper settings and where the data is being lost. Here's a github of the modpack I'm working with. https://github.com/Ober3550/Oberpack

4 years ago

Is that disable_ore_override a game setting or data stage setting only on Angels Refining side?
I know whats going on in RSO (in mainconfig.lua there is a special override for Angels mods that removes copper/iron and stone) but I'm not sure how to get to the setting in there. From name it looks like data stage setting and that won't be available in control stage. Might need to check for autoplace presence or find other way to figure out that this override is enabled.

4 years ago

Yeah its a setting angels added at my request. Idk how you'd do a check between data and control. Aren't some things loaded between that you could append to?

4 years ago

If it's a setting I should be able to read it - it needs to be a in game setting not in some config file.

4 years ago

Its a setting in my mod. Specifically a startup one

4 years ago

It feels like angels shoukd just make a setting in his angels refining itself instead of some random boolean within the code. Which would make it less of a hassle between three different mods (mine his and yours)

4 years ago

So it's a setting in your mod that Angels mod reads and uses to not disable the ores?

4 years ago

Yes! My mod is Oberhaul

4 years ago

So the setting for angels changing autoplace control is defined for data stage. While RSO runs during the control stage. Which means either I need a setting for both or angels does. I've just added a runtime-global setting in addition to my regular startup setting.

4 years ago

I added this to rso mainconfig and it works well -- angels ores if game.entity_prototypes["angels-ore1"] then fillAngelsOresConfig(config) -- remove no longer needed ores if settings.global["angels-ores-only-rso"].value then config["copper-ore"] = nil config["iron-ore"] = nil end --Theres more methods of getting stone in angels than you can poke a stick at config["stone"] = nil end

4 years ago

I added this to rso mainconfig and it works well
-- angels ores if game.entity_prototypes["angels-ore1"] then fillAngelsOresConfig(config) -- remove no longer needed ores if settings.global["angels-ores-only-rso"].value then config["copper-ore"] = nil config["iron-ore"] = nil end --Theres more methods of getting stone in angels than you can poke a stick at config["stone"] = nil end

4 years ago
(updated 4 years ago)

I looked at your changes and I'm a bit puzzled. I can't find the setting in angel's mod that would look like disable ore override.
Why you have two separate settings - angels-ores-only and angels-ores-only-rso?

And modification to RSO as above is kinda dangerous - it only works with your mod present sice your mod has the setting.
Please change the setting name to something that doesn't imply it comes from angels mods and let me know new name and I'll update the RSO code. Your main overhaul mod seems to include a lot of settings that look like they come from other mods based on their name. This can lead to potential confusion when trying to debug issues in mod combinations.

I'd also appreciate not distributing RSO modified in such way pretending to be same one - it leads to pretty puzzling bug reports when something goes wrong.

4 years ago

The reason I have two settings is because angels manipulates base game generation in data stage and to be able to read settings from my mod into RSO it has to be control stage correct? Unless you come up with the method to generate based on which autoplace controls are enabled this is the easiest way I found to 'fix' it? The first angels-ores-only is read by my mod and sets a boolean that angels reads from. angels-ores-only-rso is rather obviously meant for RSO?

4 years ago

Settings are global and accessible from both data stage and control stage. So using same setting is not a problem.
I'm wondering why angel didn't add the setting into his mod that you would be using instead of current combination based conditional.
It adds complexity because setting only works with certain combination of mods and in RSO I need to make sure that this combination is present to use the setting. Can your overhaul mod work without having angel's mods around?
From what I see currently I'd need to make sure that Angels refining and your mod are present and then make use of the setting to modify ore spawning.

4 years ago

Currently no my mod depends on angels refining. I think I can make it so that it doesn't? But honestly the simplest solution was always asking angels for a setting in his mod. Not some random boolean I have to set.

New response