RimWorld

RimWorld

372 ratings
Consistent Map Stone
2
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.3, 1.4
File Size
Posted
Updated
2.371 MB
Nov 13, 2021 @ 4:53pm
Nov 17, 2022 @ 11:05am
6 Change Notes ( view )

Subscribe to download
Consistent Map Stone

In 1 collection by UdderlyEvelyn
Evelyn's Mods
9 items
Description
For Users
This mod is compatible with literally anything, do not concern yourself with what it does, it's a framework type mod. Feel free to read the below if you really must know, though. You don't need this unless a mod you want to use is dependent on it.

FAQ
Q - Can I add this to an existing save?
A - Absolutely, but understand that if your map was generated without it any mods that use this one will get stone types that are unlikely to line up with the ones on your map. They will, from there on out, be consistent with each other though.

Q - Can I remove this safely without messing up my save?
A - Yep!

Mods That Use This
Soil Relocation https://steamcommunity.com/sharedfiles/filedetails/?id=2654088143
Consistent Deep Drill Stone https://steamcommunity.com/sharedfiles/filedetails/?id=2654916034

For Modders
This mod allows other mods to get what type of stone would be at a place if it were exposed stone terrain. Without modifying how stone types are distributed around the map, this isn't possible, believe it or not. Strangely, by default, it uses a random seed each time. This means that after the map is generated there's no way to know what that seed was and thus no way to find out what stone would go where.

For modders, to get the stone type at a particular cell, add the assembly reference to this mod and then do something like the following:
var sg = Map.GetComponent<CMS.MapComponent_StoneGrid>();
then you can use the following functions on that:

StoneTypeAt(IntVec3) (gives you the ThingDef for the stone type itself)
StoneTerrainAt(IntVec3) (gives you the TerrainDef for the stone type)
StoneChunkAt(IntVec3) (gives you the ThingDef for the chunk of that stone type)

The latter two call the first one and then conveniently drill down to get the relevant values, so if you need to call more than one thing it's more efficient to call the first one and drill down yourself to not duplicate work.

Be sure to add it as a dependency for your mod in the Steam upload so it's easy for users to find and install this dependency!

Like my mods? Help me survive, lol.
Venmo: @UdderlyEvelyn
Paypal: yushatak@gmail.com (I do not check this email, do not contact me through it!)
Ko-Fi: http://ko-fi.com/UdderlyEvelyn
16 Comments
faiora Apr 18 @ 3:54pm 
@Logovore Seems pretty straightforward to me. It sets which types of stone go where, so other mode like soil relocation framework are able to function. Soil relocation framework lets you move dirt around - and I suspect there's no stone under that soil by default, so this mod adds the stone, but in order to do so it has to rework the whole stone generation process.
Soarin Apr 17 @ 12:13pm 
+++ would love 1.5... pls.))))
The Wizard of Nova Scotia Apr 16 @ 3:48pm 
would love 1.5
Anquest Apr 11 @ 12:49pm 
1.5 update please
Logovore Jul 4, 2023 @ 2:50pm 
Can you actually detail what this mod does in the description?
PHCGamer Jun 14, 2023 @ 1:02pm 
Can there be an overlay showing what stone is where? I'm using this with the deep drill mod and want to find a place to put it without a bunch of trial and error.
Yinyang107 Mar 5, 2023 @ 2:30pm 
My map used to be slate (including under soil I dug up), but at some point something happened and now it's all marble. Is there a way to roce this mod to define the whole map as slate?
UdderlyEvelyn  [author] Dec 6, 2022 @ 2:12pm 
If the surface stone is modded in before world-generation time, this mod will work with it just fine. If it is added to the map outside of the regular system, then no, it will remain unaware of it.
irilis Dec 3, 2022 @ 10:30am 
Is it possible for stone type to change if surface stone is changed by other mod? I have patches of "rough-hewn slate" that yield marble chunks with this mod (and "Consistent Deep Drill Stone").