Jump to content

Malachite as surface ore?


JD2v0

Recommended Posts

I recently started a world with a lot of limestone.  Most of the starting area was limestone with some slate and Bauxite nearby.  I searched forever and could never find native copper bits (new to the game, fyi) so went to google and found that in Limestone native copper doesn't occur (which isn't in the description for native copper, only that it doesn't spawn in Bauxite) but it does appear in Malachite.  Per the wiki Malachite can be a surface ore.

Fast forward another 7-8 game days roaming around and hunting for Malachite and other things like bees and resin.  Nada on Malachite.  So I download the x-ray mod and find Malachite about 10 tiles deep right near my based area, yet it never spawned surface bits at all.  That specific area may have been 11-12 tiles high from the copper originally, so not sure if there is a max depth for copper or Malachite to appear on the surface or not.

I also see a large deposit 14 tiles deep from the surface of a huge lake and like the other mineral spawn, no surface bits at all to indicate it was there.

Does Malachite spawn surface bits like the wiki says, or no?  This was a world created with 1.19 rc1, and upgraded to rc2 and now rc3.  Per the xray mod any 'native' bits of copper are 400+ tiles away otherwise.

 

Appreciate any clarity because it's been very frustrating to find the normally easy to source surface copper, and have had to pan every single nugget of it so far.

Link to comment
Share on other sites

The malachite that spawned about 10 blocks below ground was not defined by the game as a surface deposit and subsequently did not spawn surface nuggets.  That deposit likely would have shown up on the density search mode for the prospecting pck though.

Link to comment
Share on other sites

Ores that the game defines as surface ores will generate surface nuggets - copper, coal (particularly brown) and lead being the most common.  Surface ores will not generate more than 7 blocks below the top dirt block.  Other ores (like meteoric iron) may generate close to the surface but are not defined as a surface ore.  At least that's my understanding. 

@Streetwind may have more info to provide which I consider more accurate than mine.

Edited by Maelstrom
Link to comment
Share on other sites

21 hours ago, McOrigin said:

Are we sure, every surface ore does spawn surface bits?

How would we know, barring use of some xray mod? Should be easy to check, though. if you use that mod the OP is talking about. If you find a single shallow vein without bits, you have the answer. Within a half hour, you will probably have either a definitive answer or one close enough for all intents and purposes.

Link to comment
Share on other sites

13 hours ago, Maelstrom said:

Ores that the game defines as surface ores will generate surface nuggets - copper, coal (particularly brown) and lead being the most common.  Surface ores will not generate more than 7 blocks below the top dirt block.  Other ores (like meteoric iron) may generate close to the surface but are not defined as a surface ore.  At least that's my understanding.

The whole "surface ores" and "deep ores" distinction that you can find on the wiki page for ores is just one massive misunderstanding, as far as I can tell. Internally, there are exactly two things explicitly labeled surface deposits: the "starter" copper and cassiterite deposits that spawn independently of the ore map and have their frequency defined in the world config. That's all. And while both of those do in fact generate surface rocks, there are plenty of other ores using the regular ore map which can also generate surface rocks. Whether or not an ore can do so is not tied to which generator it uses, or which depth it spawns at, or anything of the sort.

I went and checked the code for this just to make sure, and it all boils down to one thing: if the JSON definition of an ore specifies a value called "surfaceBlock", it can generate whatever block defined there on the surface; if the JSON file omits this value, then it can't generate anything. As an example, borax specifies a surfaceBlock, but ilmenite doesn't.

If a surfaceBlock is defined, then the game defaults to a genSurfaceBlockChance of 1.0, and a surfaceBlockChance of 0.05. Both can optionally be specified in the JSON file to override the default; for example, olivine specifies genSurfaceBlockChance = 0.35.

genSurfaceBlockChance describes whether an individual deposit will try to generate surface rocks at all. For example, only roughly one third of all olivine deposits will attempt to do so, but all borax deposits will make the attempt. surfaceBlockChance describes the likelyhood that each individual block of ore in the deposit will spawn a surface rock, assuming the deposit makes the attempt in the first place.

However, that individual block's likelyhood is modified by its depth below the surface. For each block down, the final chance is reduced by 11%. As in, the five percent points of surfaceBlockChance get reduced by 11%. This means that (depending on how SurfaceY is defined) the final chance becomes zero at either 9 or 10 blocks below the surface. Off-by-one errors, yay :P

Ergo, the deeper a deposit lies, the smaller the chance is that it'll produce surface rocks, even if it can do so; and below a certain depth, it'll never generate surface rocks.

 

Edited by Streetwind
Typos
  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.