Resource Spawner Overhaul

by orzelek
Overhauls resource spawning system.
27 days ago
0.14 - 0.16
Owner: orzelek
Source: N/A
License: CC BY-NC 4.0
Created: 2 years ago
Latest Version: 3.7.8 (27 days ago)
Factorio version: 0.14 - 0.16
Downloaded: 583742 times

Factorio 0.16.x+ note: RSO doesn't work with map preview - there will be no ores there with RSO active

This mod overrides in-game Perlin noise based resource/units spawning system by region divided spawning system.

It changes resource spawning to be region based - by default regions are big which promotes using of trains. Resources will be more sparse so more logistics will be required to supply your base. As a bonus resources further away from start location will be more rich.
Important - frequency of resources works differently with RSO active. Frequency set in map settings menu will make resource more or less frequent in comparison to other resources. Enemy base frequency works normally (there will be more or less bases based on setting).

RSO also controls spawning of biter bases to make it easier for a player to move further into the wilds, but don't expect resources to be biter-free.

Mods that don't modify resources should work without problems. Support is present for most of large mods (Bob's mods, Yuoki industries, Uranium power) and some of smaller ones.

If you receive information about not supported ores (will be printed after game start) please post in discussions tab and I'll try to add support for them (please write which mod adds the ores if possible).

Version history:
v 3.7.8
- updated support for DyWorld mod
v 3.7.7
- added support for Fixed Tiberium mod
- updated support for Xander mod (update by Repofme1)
- added Fossil Roots mod to be ignored by RSO so that it works with RSO present
v 3.7.6
- added support for Hardcrafting Plus mod (created by Expresso)
v 3.7.5
- modified support for Bio Industries to avoid dependency issues - requires Bio Industries 2.6.5 to work
v 3.7.4
- added support for finite water mod - might need more balancing, requires version at least 0.0.7 to work properly
v 3.7.3
- added support for KPOT titanium
- upgraded support for all minable (needs latest version of the mod)
- fixed various issues with resources size being set to none in map settings
v 3.7.2
- fixed crash in configuration changed event
v 3.7.1
- added support for Bio Industries mod water option
- added support for DP77's Ores mod (created by DiegoPro77)
- added support for Cargo Ships mod (suppres the warning only since mod spawns it's resources in code)
v 3.7.0
- added support for FMRx mod
- added option to disable ores from starting area, oil option extended to disable all fluid resources in starting area
v 3.6.5
- fixed crash when Agnel's and Anonymods are present
v 3.6.4
- fixed issue with bob's ores thorium when it's forced to be present from settings in certain mod configurations
- adjusted how distance and size exponents work to make factors below 1 work properly
v 3.6.2/3.6.3
- fixed potential issue with detection of disabled ores
v 3.6.1
- fixed oil in starting area setting
v 3.6.0
- fixed size and richness map settings to be applied correctly (thanks to morsk for noticing that something is wrong)
v 3.5.14
- added support for All Mineable mod
v 3.5.13
- added support for Cncs sulfur and Dp77s sulfur
- added support for low spec version of Darkstar Utilities
v 3.5.12
- added support for PyHightTech ores
v 3.5.11
- added support for new ores from PyCoal mod
v 3.5.10
- updated support for Hard Crafting mod
v 3.5.9
- added support for Liquid Science mod
v 3.5.8
- fixed potential desync issues caused by use of global variables (thanks to Mylon for noticing and showing how to find them)
- fixed rare case where ore/base could not spawn if it was in same vertical line as different ore/base in same chunk
v 3.5.7
- added support for MadClown01's Extended AngelBob Minerals
v 3.5.6
- removed Yaiom support since it doesn't work properly
- fixed Homeworld sand support
- added Yaiom support
- removed SigmaOne's Nuclear mod fluorine ore from start area
v 3.5.4
- added support for IceMod (provided by darkfrei)
- adjusted XanderMod config (reduced ore density, removed pitchblende from start)
- fixed regenerate function with bob's mods present
- added rso-regenerate command
v 3.5.3
- added dependencies back to fix issues with bobores
v 3.5.2
- added support for Factorio Plus Plus
v 3.5.1
- added option to disable oil in starting area
- added support for Napus Mod, Hydraulic Pumpjacks and Drug Lab
v 3.5.0
- first release for 0.16 - increase iron ore richness a bit and removed uranium from starting area (along with 0.16 release notes)

v 3.4.8
- added support for DyWorld 0.5.1
v 3.4.7
- added support for DyWorld 0.5
v 3.4.6
- added support for DyWorld
- added support for PyFusionEnergy
v 3.4.5
- updated Anonymods config - adds support for new metalurgy changes
- updated Xander mod config
v 3.4.4
- fixed issue that could lead to ore being spawned on water by mistake
v 3.4.3
- added support for Darkstar utilities
- added protection from unrecognized resource settings and additional logging for this case
v 3.4.2
- modified way in which ore regen is reported (goes to game log now)
v 3.4.0/3.4.1
- rewrote positional seed generation to prevent overflow issues
- added remote resetGeneration method to tell RSO that it should reset it's internals and treat whole map as new
v 3.3.13
- updated config for Xander mod (provided by Repofme1)
v 3.3.12
- added support for Xander mod
v 3.3.11
- added support for SigmaOne Nuclear mod
v 3.3.10
- fixed angels infinite ore threshold setting range
- added support for portal research mod
v 3.3.7/v 3.3.9
- fixed issue with remote interface for disabling of chunk generation
v 3.3.6
- updated fluid generation to make bigger fields possible
v 3.3.5
- fixed crash when resource landed fully in water
v 3.3.4
- improved resource collission detection to reduce overlaps
- tweaked starting area spawning algorithm
v 3.3.3
- modified oil spawning to be more grouped in case it landed near water
v 3.3.2
- removed surprise ore regen on load
v 3.3.1
- lowered minimums for richness settings
- fixed region generation that caused ores to go missing in about 1/7th cases
- fixed multiple ore generation that could fail to place new ore properly
v 3.3.0
- fixed conflicts with sulfur ore
- fixed random generator creation to prevent symmetrical ore generation
v 3.2.6
- revised spawning of enemy bases to prevent crashes at very long distances and allow them to be bigger
v 3.2.5
- added support for omnimod (provided by EmperorZelos)
- increased search range and amount of tries for spawning of fluids (should help alleviate issues with water spawning)
v 3.2.4
- added distance exponents to settings
v 3.2.3
- added thorium ore support for bob's mods
v 3.2.2
- fixed potential crash if for some reason there are no valid ores to spawn
v 3.2.1
- added validation to prevent potential rng error
v 3.2.0
- rewrote handling of resource configuration to make mod compatible with upcoming mod validation
v 3.1.7
- rebalanced bob's mods ores
- added support for primordial ooze mod
v 3.1.6
- increased limit for region size to 100 and enemy base size to 20
v 3.1.5
- fixed resource regeneration not ignoring start area
- added Angel's infinite ore integration settings to mod settings system
v 3.1.4
- update angel's ores config (provided by Arch666Angel) - fixes fluid counts on resources
- updated fluids config for bobs ores
v 3.1.3
- fixed issues with resource regeneration
v 3.1.2
- fixed issue with multi resource generation
v 3.1.1
- fixed vanilla biter generation option
- added tree removal option (known issue - some trees might remain and it's not an easy fix)
v 3.1.0
- added mod settings using new setting system
- moved to built in random generator for resource generation
v 3.0.1
- tweaked resource generation (more oil wells, uranium a bit less rich)
v 3.0.0
- first version for 0.15, please use forum for comments/issues - not tested extensively (

v 2.3.5
- boosted range scaling for richness and size a bit more to not be very inferior compared to vanilla
- fixed issue with runTest remote call function
v 2.3.4
- updated Angels ore config (provided by Arch666Angel)
- added fixes to platforms mod integration (provided by Dreadicon)
- buffed richness scaling with distance
v 2.3.3
- added new RsoMod variable defined in data.lua to allow for RSO detection on data stage
- added new remote interface disableStartingArea to disable generation of starting area ores
v 2.3.2
- added support for Cnc's Sulfur mod
v 2.3.1
- fixed desync with water maze support
- made quartz a bit more rich for AnonyMods
v 2.3.0
- added beta support for AnonyMods (might be unbalanced/difficult to play)
- added special handling for platforms mod (thanks to Dreadicon)
v 2.2.9
- added support for Infinium ore mod
v 2.2.8
- added remote interface that allows other mods to control order of map generation (potential integration with Water Maze mod)
Known issue with above is that ore patches might be a bit cut when this callback is in use - this is not easy to fix atm.
v 2.2.7
- added support for Andrew's ore 0.14.8, please make sure to also upgrade Andrew's ore
v 2.2.6
- fixed issue with starting area spawn when RSO is added to running game
v 2.2.5
- fixed issue with Bukket mod support when it was not present
v 2.2.4
- added support for Bukket mod
v 2.2.3
- added support for Andrews ores
- added support for Beyond
v 2.2.2
- added support for HardCrafting 0.5.0
v 2.2.1
- fixed starting area resource duplication on upgrade/load
v 2.2.0
- added multiple starting location support - for details please see instructions on the forum thread (

v 2.1.0
- updated for Factorio 0.14