No deep ore in rock hot enough to light or melt it; reloaded worlds settle again (t3)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 18:25:13 -04:00
co-authored by Claude Opus 5.5
parent 28893c93bc
commit c302b0cf42
5 changed files with 34 additions and 3 deletions
+4
View File
@@ -177,10 +177,12 @@ function generateWorld(seedIn, w, h, onProgress) {
}
// ores
if (m === STONE || m === DIRT || m === GRANITE || m === BASALT || m === CLAY) {
const host = m;
// Leave the shallow quarter unchanged; deeper rock has broader, richer lenses.
const rich = Math.min(1, Math.max(0, (fy - 0.25) / 0.6));
const c = nCoal(x / 13, y / 9);
if ((d > 6 && fy < 0.45 && c > 0.5 - 0.55 * rich && m !== CLAY) ||
(fy >= 0.45 && (m === STONE || m === GRANITE) && c > 0.62 - 0.3 * rich) ||
(m === BASALT && fy > 0.6 && c > 0.58 - 0.4 * rich)) m = COALV;
else {
const cu = nCu(x / 9, y / 8);
@@ -201,6 +203,8 @@ function generateWorld(seedIn, w, h, onProgress) {
else if (fy > 0.68 && (m === GRANITE || m === BASALT) && nAu(x / 6, y / 5) > 0.7 - 0.18 * rich) m = AUV;
}
}
// no ore where the rock is naturally hot enough to light or melt it: it would burn or run forever
if (m !== host && (IGN[m] ? AMB[y] > IGN[m] - 120 : MELT[m] && AMB[y] > MELT[m] - 200)) m = host;
}
// caves
if (d > 9) {