mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-14 07:36:06 +09:00
new oregen params
This commit is contained in:
@@ -1,7 +1,11 @@
|
|||||||
"id";"freq";"power";"scale";"ratio";"tiling";"comment"
|
"id";"freq";"power";"scale";"ratio";"tiling";"comment"
|
||||||
"1";"0.04";"0.01";"0.51";"1.0";"a16x16";"copper (malachite)"
|
"1";"0.032";"0.010";"0.507";"1.0";"a16x16";"copper (malachite)"
|
||||||
"2";"0.07";"0.01";"0.51";"1.0";"a16x16";"iron (haematite)"
|
"2";"0.056";"0.011";"0.507";"1.0";"a16x16";"iron (haematite)"
|
||||||
"3";"0.026";"0.07";"0.504";"3.8";"a16x4";"coal"
|
"3";"0.021";"0.070";"0.501";"3.8";"a16x4";"coal"
|
||||||
|
"4";"0.024";"0.011";"0.501";"1.0";"a16x16";"zinc (sphalerite)"
|
||||||
|
"5";"0.021";"0.020";"0.501";"1.0";"a16x16";"tin (cassiterite)"
|
||||||
|
"6";"0.011";"0.300";"0.465";"1.0";"a16x16";"natural gold"
|
||||||
|
"7";"0.016";"0.300";"0.467";"1.0";"a16x16";"natural silver"
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
|||||||
|
@@ -27,8 +27,12 @@ internal object ExportMap : ConsoleCommand {
|
|||||||
private val oreColourMap = hashMapOf(
|
private val oreColourMap = hashMapOf(
|
||||||
Block.AIR to Cvec(0),
|
Block.AIR to Cvec(0),
|
||||||
"ores@basegame:1" to Cvec(0x00e9c8ff),
|
"ores@basegame:1" to Cvec(0x00e9c8ff),
|
||||||
"ores@basegame:2" to Cvec(0xff9a5dff.toInt()),
|
"ores@basegame:2" to Cvec(0xff7e74ff.toInt()),
|
||||||
"ores@basegame:3" to Cvec(0x383314ff),
|
"ores@basegame:3" to Cvec(0x383314ff),
|
||||||
|
"ores@basegame:4" to Cvec(0xefde76ff.toInt()),
|
||||||
|
"ores@basegame:5" to Cvec(0xcd8b62ff.toInt()),
|
||||||
|
"ores@basegame:6" to Cvec(0xffcc00ff.toInt()),
|
||||||
|
"ores@basegame:7" to Cvec(0xd5d9f9ff.toInt()),
|
||||||
)
|
)
|
||||||
|
|
||||||
private val WALL_OVERLAY = Cvec(0.35f, 0.35f, 0.35f, 1f)
|
private val WALL_OVERLAY = Cvec(0.35f, 0.35f, 0.35f, 1f)
|
||||||
|
|||||||
@@ -31,8 +31,8 @@ import kotlin.random.Random
|
|||||||
import net.torvald.terrarum.modulebasegame.worldgenerator.Terragen
|
import net.torvald.terrarum.modulebasegame.worldgenerator.Terragen
|
||||||
import net.torvald.terrarum.sqr
|
import net.torvald.terrarum.sqr
|
||||||
|
|
||||||
const val NOISEBOX_WIDTH = 922
|
const val NOISEBOX_WIDTH = 1200
|
||||||
const val NOISEBOX_HEIGHT = 2000
|
const val NOISEBOX_HEIGHT = 2400
|
||||||
const val TWO_PI = Math.PI * 2
|
const val TWO_PI = Math.PI * 2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -360,22 +360,26 @@ internal object TerragenTest : NoiseMaker {
|
|||||||
Block.STONE_SLATE to Color(0.2f, 0.2f, 0.2f, 1f),
|
Block.STONE_SLATE to Color(0.2f, 0.2f, 0.2f, 1f),
|
||||||
)
|
)
|
||||||
|
|
||||||
private val IRON_ORE = 0xff9a5dff.toInt()
|
|
||||||
private val COPPER_ORE = 0x00e9c8ff
|
private val COPPER_ORE = 0x00e9c8ff
|
||||||
private val COAL_ORE = 0xffffffff.toInt()
|
private val IRON_ORE = 0xff7e74ff.toInt()
|
||||||
|
private val COAL_ORE = 0x383314ff.toInt()
|
||||||
|
private val ZINC_ORE = 0xefde76ff.toInt()
|
||||||
|
private val TIN_ORE = 0xcd8b62ff.toInt()
|
||||||
|
private val GOLD_ORE = 0xffcc00ff.toInt()
|
||||||
|
private val SILVER_ORE = 0xd5d9f9ff.toInt()
|
||||||
|
|
||||||
|
private val oreCols = listOf(
|
||||||
|
COPPER_ORE, IRON_ORE, COAL_ORE, ZINC_ORE, TIN_ORE, GOLD_ORE, SILVER_ORE
|
||||||
|
)
|
||||||
|
|
||||||
override fun draw(x: Int, y: Int, noiseValue: List<Double>, outTex: Pixmap) {
|
override fun draw(x: Int, y: Int, noiseValue: List<Double>, outTex: Pixmap) {
|
||||||
val terr = noiseValue[0].tiered(.0, .5, .88, 1.88)
|
val terr = noiseValue[0].tiered(.0, .5, .88, 1.88)
|
||||||
val cave = if (noiseValue[1] < 0.5) 0 else 1
|
val cave = if (noiseValue[1] < 0.5) 0 else 1
|
||||||
val copper = (noiseValue[2] > 0.5)
|
val ore = (noiseValue.subList(2, noiseValue.size)).zip(oreCols).firstNotNullOfOrNull { (n, colour) -> if (n > 0.5) colour else null }
|
||||||
val iron = (noiseValue[3] > 0.5)
|
|
||||||
val coal = (noiseValue[4] > 0.5)
|
|
||||||
|
|
||||||
val wallBlock = groundDepthBlock[terr]
|
val wallBlock = groundDepthBlock[terr]
|
||||||
val terrBlock = if (cave == 0) Block.AIR else wallBlock
|
val terrBlock = if (cave == 0) Block.AIR else wallBlock
|
||||||
|
|
||||||
val ore = if (iron) IRON_ORE else if (copper) COPPER_ORE else if (coal) COAL_ORE else null
|
|
||||||
|
|
||||||
outTex.drawPixel(x, y,
|
outTex.drawPixel(x, y,
|
||||||
if (ore != null && (terrBlock == Block.STONE || terrBlock == Block.STONE_SLATE)) ore
|
if (ore != null && (terrBlock == Block.STONE || terrBlock == Block.STONE_SLATE)) ore
|
||||||
else if (wallBlock == Block.AIR && terrBlock == Block.AIR) BACK
|
else if (wallBlock == Block.AIR && terrBlock == Block.AIR) BACK
|
||||||
@@ -689,9 +693,13 @@ internal object TerragenTest : NoiseMaker {
|
|||||||
return listOf(
|
return listOf(
|
||||||
Joise(groundScaling),
|
Joise(groundScaling),
|
||||||
Joise(caveScaling),
|
Joise(caveScaling),
|
||||||
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:1", 0.04, 0.01, 0.51, 1.0)),
|
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:1", 0.032, 0.010, 0.507, 1.0)),
|
||||||
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:2", 0.07, 0.01, 0.51, 1.0)),
|
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:2", 0.056, 0.011, 0.507, 1.0)),
|
||||||
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:3", 0.026, 0.07, 0.504, 3.8)),
|
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:3", 0.021, 0.070, 0.501, 3.8)),
|
||||||
|
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:4", 0.024, 0.011, 0.501, 1.0)),
|
||||||
|
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:5", 0.021, 0.020, 0.501, 1.0)),
|
||||||
|
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:6", 0.011, 0.300, 0.465, 1.0)),
|
||||||
|
Joise(generateOreVeinModule(caveAttenuateBiasScaled, seed shake "ores@basegame:7", 0.016, 0.300, 0.467, 1.0)),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user