Structure chance is now a chance per spawn point instead of a chance per block.

This is more intuitive, but it requires multiplying all the chances in existing biomes by 16×.
This commit is contained in:
IntegratedQuantum 2024-08-03 15:49:35 +02:00
parent b7a1371f0b
commit 55a3957917
27 changed files with 76 additions and 76 deletions

View File

@ -21,7 +21,7 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 1,
"height_variation" : 1,
@ -31,7 +31,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:soil",
"chance" : 0.001,
"chance" : 0.016,
"width" : 12,
"variation" : 4,
"depth" : 2,
@ -40,7 +40,7 @@
{
"id" : "cubyz:simple_vegetation",
"block" : "cubyz:grass_vegetation",
"chance" : 1,
"chance" : 0.8,
"height" : 1,
"height_variation" : 0
},

View File

@ -21,7 +21,7 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 4,
"height_variation" : 1
@ -29,7 +29,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:gravel",
"chance" : 0.003,
"chance" : 0.048,
"width" : 6,
"variation" : 2,
"depth" : 3,
@ -38,7 +38,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:snow",
"chance" : 0.002,
"chance" : 0.032,
"width" : 6,
"variation" : 2,
"depth" : 3,

View File

@ -12,7 +12,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:gravel",
"chance" : 0.004,
"chance" : 0.064,
"width" : 5,
"variation" : 5,
"depth" : 3,
@ -21,20 +21,20 @@
{
"id" : "cubyz:stalagmite",
"block" : "cubyz:stone",
"chance" : 0.003,
"chance" : 0.048,
"size" : 3,
"size_variation" : 6
},
{
"id" : "cubyz:boulder",
"chance" : 0.001,
"chance" : 0.016,
"block" : "cubyz:cobblestone",
"size" : 4,
"size_variance" : 3
},
{
"id" : "cubyz:boulder",
"chance" : 0.001,
"chance" : 0.016,
"block" : "cubyz:stone",
"size" : 4,
"size_variance" : 4

View File

@ -12,14 +12,14 @@
"structures" : [
{
"id" : "cubyz:boulder",
"chance" : 0.001,
"chance" : 0.016,
"block" : "cubyz:cobblestone",
"size" : 5,
"size_variance" : 3
},
{
"id" : "cubyz:boulder",
"chance" : 0.001,
"chance" : 0.016,
"block" : "cubyz:stone",
"size" : 4,
"size_variance" : 2

View File

@ -20,7 +20,7 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.02,
"chance" : 0.32,
"type" : "round",
"height" : 4,
"height_variation" : 2

View File

@ -10,14 +10,14 @@
{
"id" : "cubyz:stalagmite",
"block" : "cubyz:marble",
"chance" : 0.007,
"chance" : 0.112,
"size" : 4,
"size_variation" : 10
},
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:water",
"chance" : 0.004,
"chance" : 0.064,
"width" : 6,
"variation" : 5,
"depth" : 1,

View File

@ -14,21 +14,21 @@
{
"id" : "cubyz:stalagmite",
"block" : "cubyz:limestone",
"chance" : 0.03,
"chance" : 0.48,
"size" : 4,
"size_variation" : 6
},
{
"id" : "cubyz:stalagmite",
"block" : "cubyz:limestone",
"chance" : 0.005,
"chance" : 0.08,
"size" : 8,
"size_variation" : 12
},
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:limestone",
"chance" : 0.003,
"chance" : 0.048,
"width" : 5,
"variation" : 6,
"depth" : 3,

View File

@ -14,21 +14,21 @@
"structures" : [
{
"id" : "cubyz:boulder",
"chance" : 0.001,
"chance" : 0.016,
"block" : "cubyz:cobblestone",
"size" : 5,
"size_variance" : 3
},
{
"id" : "cubyz:boulder",
"chance" : 0.001,
"chance" : 0.016,
"block" : "cubyz:stone",
"size" : 4,
"size_variance" : 2
}
{
"id" : "cubyz:simple_vegetation",
"chance" : 0.0001,
"chance" : 0.001,
"block" : "cubyz:workbench",
"height" : 1,
"height_variation" : 0,
@ -38,7 +38,7 @@
"leaves" : "cubyz:cobblestone",
"log" : "cubyz:stone",
"top" : "cubyz:stone",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 3,
"height_variation" : 2
@ -48,7 +48,7 @@
"leaves" : "cubyz:stone",
"log" : "cubyz:stone",
"top" : "cubyz:stone",
"chance" : 0.03,
"chance" : 0.48,
"type" : "round",
"height" : 3,
"height_variation" : 2

View File

@ -20,7 +20,7 @@
"structures" : [
{
"id" : "cubyz:boulder",
"chance" : 0.0001,
"chance" : 0.0016,
"block" : "cubyz:stone",
"size" : 5,
"size_variance" : 1

View File

@ -20,7 +20,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:mossy_cobblestone",
"chance" : 0.004,
"chance" : 0.064,
"width" : 6,
"variation" : 2,
"depth" : 2,
@ -29,7 +29,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:gravel",
"chance" : 0.002,
"chance" : 0.032,
"width" : 6,
"variation" : 2,
"depth" : 2,

View File

@ -20,7 +20,7 @@
{
"id" : "cubyz:simple_vegetation",
"block" : "cubyz:cactus",
"chance" : 0.01,
"chance" : 0.16,
"height" : 2,
"height_variation" : 3
}

View File

@ -38,13 +38,13 @@
{
"id" : "cubyz:simple_vegetation",
"block" : "cubyz:cactus",
"chance" : 0.005,
"chance" : 0.08,
"height" : 1,
"height_variation" : 2
},
{
"id" : "cubyz:boulder",
"chance" : 0.001,
"chance" : 0.016,
"block" : "cubyz:ferrock",
"size" : 2,
"size_variance" : 7

View File

@ -58,7 +58,7 @@
{
"id" : "cubyz:simple_vegetation",
"block" : "cubyz:grass_vegetation",
"chance" : 1,
"chance" : 0.4,
"height" : 1,
"height_variation" : 0
},

View File

@ -20,7 +20,7 @@
"leaves" : "cubyz:glass/aqua",
"log" : "cubyz:chalk/aqua",
"top" : "cubyz:chalk/aqua",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -32,7 +32,7 @@
"leaves" : "cubyz:glass/black",
"log" : "cubyz:chalk/black",
"top" : "cubyz:chalk/black",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -44,7 +44,7 @@
"leaves" : "cubyz:glass/blue",
"log" : "cubyz:chalk/blue",
"top" : "cubyz:chalk/blue",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -56,7 +56,7 @@
"leaves" : "cubyz:glass/brown",
"log" : "cubyz:chalk/brown",
"top" : "cubyz:chalk/brown",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -68,7 +68,7 @@
"leaves" : "cubyz:glass/crimson",
"log" : "cubyz:chalk/crimson",
"top" : "cubyz:chalk/crimson",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -80,7 +80,7 @@
"leaves" : "cubyz:glass/cyan",
"log" : "cubyz:chalk/cyan",
"top" : "cubyz:chalk/cyan",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -92,7 +92,7 @@
"leaves" : "cubyz:glass/dark_grey",
"log" : "cubyz:chalk/dark_grey",
"top" : "cubyz:chalk/dark_grey",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -104,7 +104,7 @@
"leaves" : "cubyz:glass/green",
"log" : "cubyz:chalk/green",
"top" : "cubyz:chalk/green",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -116,7 +116,7 @@
"leaves" : "cubyz:glass/grey",
"log" : "cubyz:chalk/grey",
"top" : "cubyz:chalk/grey",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -128,7 +128,7 @@
"leaves" : "cubyz:glass/indigo",
"log" : "cubyz:chalk/indigo",
"top" : "cubyz:chalk/indigo",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -140,7 +140,7 @@
"leaves" : "cubyz:glass/lime",
"log" : "cubyz:chalk/lime",
"top" : "cubyz:chalk/lime",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -152,7 +152,7 @@
"leaves" : "cubyz:glass/magenta",
"log" : "cubyz:chalk/magenta",
"top" : "cubyz:chalk/magenta",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -164,7 +164,7 @@
"leaves" : "cubyz:glass/orange",
"log" : "cubyz:chalk/orange",
"top" : "cubyz:chalk/orange",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -176,7 +176,7 @@
"leaves" : "cubyz:glass/pink",
"log" : "cubyz:chalk/pink",
"top" : "cubyz:chalk/pink",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -188,7 +188,7 @@
"leaves" : "cubyz:glass/purple",
"log" : "cubyz:chalk/purple",
"top" : "cubyz:chalk/purple",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -200,7 +200,7 @@
"leaves" : "cubyz:glass/red",
"log" : "cubyz:chalk/red",
"top" : "cubyz:chalk/red",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -212,7 +212,7 @@
"leaves" : "cubyz:glass/violet",
"log" : "cubyz:chalk/violet",
"top" : "cubyz:chalk/violet",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -224,7 +224,7 @@
"leaves" : "cubyz:glass/viridian",
"log" : "cubyz:chalk/viridian",
"top" : "cubyz:chalk/viridian",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -236,7 +236,7 @@
"leaves" : "cubyz:glass/white",
"log" : "cubyz:chalk/white",
"top" : "cubyz:chalk/white",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,
@ -248,7 +248,7 @@
"leaves" : "cubyz:glass/yellow",
"log" : "cubyz:chalk/yellow",
"top" : "cubyz:chalk/yellow",
"chance" : 0.0005,
"chance" : 0.008,
"type" : "round",
"height" : 10,
"height_variation" : 5,

View File

@ -21,14 +21,14 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.0008,
"chance" : 0.0128,
"type" : "round",
"height" : 6,
"height_variation" : 3
},
{
"id" : "cubyz:boulder",
"chance" : 0.00001,
"chance" : 0.00016,
"block" : "cubyz:stone",
"size" : 5,
"size_variance" : 1
@ -39,7 +39,7 @@
"top" : "cubyz:oak_log",
"height" : 6,
"height_variation" : 3,
"chance" : 0.00015
"chance" : 0.0024
}
]
}

View File

@ -20,7 +20,7 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.001,
"chance" : 0.016,
"type" : "round",
"height" : 12,
"height_variation" : 10,

View File

@ -24,7 +24,7 @@
"leaves" : "cubyz:mahogany_leaves",
"log" : "cubyz:mahogany_log",
"top" : "cubyz:mahogany_top",
"chance" : 0.9,
"chance" : 0.36,
"type" : "round",
"height" : 6,
"height_variation" : 10,
@ -36,7 +36,7 @@
"leaves" : "cubyz:mahogany_leaves",
"log" : "cubyz:mahogany_log",
"top" : "cubyz:mahogany_top",
"chance" : 0.5,
"chance" : 0.2,
"type" : "round",
"height" : 1,
"height_variation" : 0,
@ -46,7 +46,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:soil",
"chance" : 0.1,
"chance" : 0.04,
"width" : 4,
"variation" : 4,
"depth" : 2,
@ -55,7 +55,7 @@
{
"id" : "cubyz:simple_vegetation",
"block" : "cubyz:grass_vegetation",
"chance" : 1,
"chance" : 0.4,
"height" : 1,
"height_variation" : 0
},

View File

@ -21,7 +21,7 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.05,
"chance" : 0.8,
"type" : "round",
"height" : 3,
"height_variation" : 3

View File

@ -20,7 +20,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:mossy_cobblestone",
"chance" : 0.004,
"chance" : 0.064,
"width" : 6,
"variation" : 2,
"depth" : 2,
@ -29,7 +29,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:sand",
"chance" : 0.002,
"chance" : 0.032,
"width" : 6,
"variation" : 2,
"depth" : 2,

View File

@ -17,7 +17,7 @@
{
"id" : "cubyz:stalagmite",
"block" : "cubyz:ice",
"chance" : 0.005,
"chance" : 0.08,
"size" : 3,
"size_variation" : 5
},

View File

@ -24,7 +24,7 @@
"leaves" : "cubyz:non_degradable_oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.03,
"chance" : 0.48,
"type" : "round",
"height" : 8,
"height_variation" : 3
@ -34,7 +34,7 @@
"leaves" : "cubyz:fog/red",
"log" : "cubyz:fog/red",
"top" : "cubyz:fog/red",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 0,
"height_variation" : 0,
@ -46,7 +46,7 @@
"leaves" : "cubyz:fog/green",
"log" : "cubyz:fog/green",
"top" : "cubyz:fog/green",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 0,
"height_variation" : 0,
@ -58,7 +58,7 @@
"leaves" : "cubyz:fog/blue",
"log" : "cubyz:fog/blue",
"top" : "cubyz:fog/blue",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 0,
"height_variation" : 0,
@ -70,7 +70,7 @@
"leaves" : "cubyz:fog/yellow",
"log" : "cubyz:fog/yellow",
"top" : "cubyz:fog/yellow",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 0,
"height_variation" : 0,
@ -82,7 +82,7 @@
"leaves" : "cubyz:fog/cyan",
"log" : "cubyz:fog/cyan",
"top" : "cubyz:fog/cyan",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 0,
"height_variation" : 0,
@ -94,7 +94,7 @@
"leaves" : "cubyz:fog/magenta",
"log" : "cubyz:fog/magenta",
"top" : "cubyz:fog/magenta",
"chance" : 0.01,
"chance" : 0.16,
"type" : "round",
"height" : 0,
"height_variation" : 0,

View File

@ -19,14 +19,14 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.001,
"chance" : 0.016,
"type" : "round",
"height" : 6,
"height_variation" : 3
},
{
"id" : "cubyz:boulder",
"chance" : 0.001,
"chance" : 0.016,
"block" : "cubyz:cobblestone",
"size" : 5,
"size_variance" : 4

View File

@ -24,7 +24,7 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.05,
"chance" : 0.8,
"type" : "round",
"height" : 6,
"height_variation" : 3

View File

@ -20,7 +20,7 @@
"leaves" : "cubyz:pine_needles",
"log" : "cubyz:pine_log",
"top" : "cubyz:pine_top",
"chance" : 0.025,
"chance" : 0.4,
"type" : "pyramid",
"height" : 8,
"height_variation" : 5,

View File

@ -24,7 +24,7 @@
"leaves" : "cubyz:oak_leaves",
"log" : "cubyz:oak_log",
"top" : "cubyz:oak_top",
"chance" : 0.05,
"chance" : 0.8,
"type" : "round",
"height" : 6,
"height_variation" : 3

View File

@ -21,7 +21,7 @@
{
"id" : "cubyz:ground_patch",
"block" : "cubyz:gravel",
"chance" : 0.002,
"chance" : 0.032,
"width" : 6,
"variation" : 2,
"depth" : 2,

View File

@ -39,7 +39,7 @@ pub const SimpleStructureModel = struct { // MARK: SimpleStructureModel
return SimpleStructureModel {
.vtable = vtable,
.data = vtable.loadModel(arena.allocator(), parameters),
.chance = 16*parameters.get(f32, "chance", 0.01), // TODO: Should this use the sample point chance directly, instead of the per block chance?
.chance = parameters.get(f32, "chance", 0.1),
.generationMode = std.meta.stringToEnum(GenerationMode, parameters.get([]const u8, "generationMode", "")) orelse vtable.generationMode,
};
}