Compare commits

...

5 Commits

Author SHA1 Message Date
Gael-de-Sailly 03967a9f1b Big update, various things
- Added fir tree and its log, textures from my old Forest mod
- Moved pine tree to hot regions and with a different shape (Pinus Pinea)
- Renamed mod (biomes -> 30biomes)
2018-02-04 02:00:15 +01:00
Gael-de-Sailly 40d14c4775 Added license 2016-06-15 17:41:50 +02:00
Gael-de-Sailly b1083a27b7 Added 'riverbed' field to biomes.csv to use the riverbed nodes 2016-06-15 17:35:13 +02:00
Gael-de-Sailly de433548dd Small fix 2016-04-06 12:27:02 +02:00
Gael-de-Sailly fdb064c477 Open biomes.csv properly
and add `flowers` in depends.txt
(fixes unknown biome errors)
2016-04-06 11:32:19 +02:00
16 changed files with 267 additions and 98 deletions

View File

@ -17,3 +17,6 @@ It was taken from GeoGebra, with the file `30-biomes.ggb` (GeoGebra diagram).
## Data structure
The properties of each biome are stored in `biomes.csv`. You would find it awfully unreadable if you open it with a text editor. Actually you should open it with a spreadsheet software like Calc or Excel. To modify it, simply modify the cells and save the file with the same format.
## License
Under [WTFPL](http://www.wtfpl.net/txt/copying/).

View File

@ -1,60 +1,60 @@
#Open this file with a spreadsheet software,,,,,,,,,,
#Use a leading '#' to disable a line,,,,,,,,,,
#Blank cells are ignored,,,,,,,,,,
,,,,,,,,,,
#Name,Stone,Fill,Top,Dust,Sea,River,Elev_min,Elev_max,Heat,Humidity
,,,,,,,,,,
#Main biomes,,,,,,,,,,
glacier_1,default:stone,,default:ice 2,default:snowblock,default:ice 2,default:ice,-6,31000,-11,20
glacier_2,default:stone,default:ice 4,default:snowblock 3,default:snowblock,default:ice 6,default:ice,1,31000,-19,40
glacier_3,default:stone,default:ice 12,default:snowblock 5,default:snowblock,default:ice 10,default:ice,1,31000,-27,80
taiga,default:stone,default:dirt 5,default:dirt_with_snow,default:snow,,,4,31000,11,67
tundra,default:stone,default:dirt 2,default:dirt_with_snow,,,,3,31000,4,32
coniferous_forest,default:stone,default:dirt 2,default:dirt_with_grass,,,,5,31000,22,71
cold_gravel_desert,default:stone,default:gravel,default:gravel,default:snow,,,-6,31000,-2,2
gravel_desert,default:stone,default:gravel 2,default:gravel,,,,2,31000,20,-2
dry_tundra,default:stone,default:dirt 2,default:dirt_with_snow,,,,2,31000,4,12
cold_desert,default:stone,,,,,,3,31000,32,-3
swamp,default:stone,default:dirt 3,default:dirt_with_grass,,,,1,31000,30,114
icy_swamp,default:stone,default:dirt 3,default:dirt_with_snow,default:snow,default:ice,default:ice,1,31000,-10,107
stone_grasslands,default:stone,default:dirt,default:dirt_with_grass,,,,4,31000,29,22
mixed_forest,default:stone,default:dirt 2,default:dirt_with_grass,,,,5,31000,24,56
cold_deciduous_forest,default:stone,default:dirt 2,default:dirt_with_grass,,,,4,31000,31,48
deciduous_forest,default:stone,default:dirt 3,default:dirt_with_grass,,,,5,31000,45,65
bushes,default:stone,default:dirt,default:dirt_with_grass,,,,7,31000,43,30
scrub,default:stone,default:dirt,default:dirt_with_dry_grass,,,,8,31000,57,25
hot_pine_forest,default:stone,default:dirt,default:dirt_with_grass,,,,6,31000,65,35
desert,default:desert_stone,default:desert_sand 3,default:desert_sand,,,,7,31000,89,9
sandstone_grasslands,default:sandstone,default:dirt 2,default:dirt_with_grass,,,,3,31000,55,15
savanna,default:stone,default:dirt,default:dirt_with_dry_grass,,,,6,31000,80,24
desert_stone_grasslands,default:desert_stone,default:dirt,default:dirt_with_grass,,,,4,31000,90,41
red_savanna,default:desert_stone,default:dirt,default:dirt_with_dry_grass,,,,5,31000,90,31
semi-tropical_forest,default:stone,default:dirt 3,default:dirt_with_grass,,,,4,31000,72,61
rainforest,default:stone,default:dirt 4,default:dirt_with_grass,,,,1,31000,89,76
sandstone_desert,default:sandstone,default:desert_sand,default:desert_sand,,,,6,31000,60,0
orchard,default:stone,default:dirt 2,default:dirt_with_grass,,,,6,31000,40,40
hot_deciduous_forest,default:stone,default:dirt 2,default:dirt_with_grass,,,,5,31000,61,58
hot_swamp,default:stone,default:dirt 4,default:dirt_with_grass,,,,1,31000,83,116
,,,,,,,,,,
#Beach biomes,,,,,,,,,,
gravel_beach,default:stone,default:gravel 3,default:gravel,,,,-7,6,19,19
sand_dunes,default:stone,default:sand 3,default:sand,,,,-5,5,21,61
mangrove,default:stone,default:dirt 4,default:dirt,,,,-4,0,96,106
desert_dunes,default:stone,default:sand 2,deault:sand,,,,-5,6,70,6
hot_sand_dunes,default:stone,default:sand 3,default:sand,,,,-5,5,106,49
tundra_dunes,default:stone,default:gravel,default:sand 2,default:snow,,,-5,2,5,21
,,,,,,,,,,
glacier_2_shore,default:stone,,default:ice 4,default:snowblock,default:ice 6,default:ice,-4,0,-19,40
glacier_3_shore,default:stone,,default:ice 12,default:snowblock,default:ice 6,default:ice,-4,0,-27,80
swamp_shore,default:stone,default:dirt 3,default:dirt,,,,-3,0,30,114
icy_swamp_shore,default:stone,default:dirt 4,default:dirt 3,default:snow,default:ice,default:ice,-4,0,-10,107
hot_swamp_shore,default:stone,default:dirt 4,default:dirt,,,,-3,0,83,116
,,,,,,,,,,
#Sea biomes,,,,,,,,,,
pack_ice,default:stone,,default:gravel,default:snow,default:ice 5,default:ice,-112,-6,-24,41
cold_sea,default:stone,,default:gravel 2,,,,-112,-6,20,47
tempered_sea,default:stone,,default:sand 2,,,,-112,-6,41,48
warm_sea,default:stone,default:sand 2,default:sand,,,,-112,-6,89,51
,,,,,,,,,,
#Underground,,,,,,,,,,
underground,default:stone,,,,,,-31000,-113,50,50
#Open this file with a spreadsheet software,,,,,,,,,,,
#Use a leading '#' to disable a line,,,,,,,,,,,
#Blank cells are ignored,,,,,,,,,,,
,,,,,,,,,,,
#Name,Stone,Fill,Top,Dust,Sea,River,Riverbed,Elev_min,Elev_max,Heat,Humidity
,,,,,,,,,,,
#Main biomes,,,,,,,,,,,
glacier_1,default:stone,,default:ice 2,default:snowblock,default:ice 2,default:ice,,-6,31000,-11,20
glacier_2,default:stone,default:ice 4,default:snowblock 3,default:snowblock,default:ice 6,default:ice,,1,31000,-19,40
glacier_3,default:stone,default:ice 12,default:snowblock 5,default:snowblock,default:ice 10,default:ice,,1,31000,-27,80
taiga,default:stone,default:dirt 5,default:dirt_with_snow,default:snow,,,default:gravel,4,31000,11,67
tundra,default:stone,default:dirt 2,default:dirt_with_snow,,,,,3,31000,4,32
coniferous_forest,default:stone,default:dirt 2,default:dirt_with_grass,,,,default:gravel,5,31000,22,71
cold_gravel_desert,default:stone,default:gravel,default:gravel,default:snow,,,default:gravel,-6,31000,-2,2
gravel_desert,default:stone,default:gravel 2,default:gravel,,,,default:gravel 2,2,31000,20,-2
dry_tundra,default:stone,default:dirt 2,default:dirt_with_snow,,,,,2,31000,4,12
cold_desert,default:stone,,,,,,default:gravel,3,31000,32,-3
swamp,default:stone,default:dirt 3,default:dirt_with_grass,,,,biomes:mud 2,1,31000,30,114
icy_swamp,default:stone,default:dirt 3,default:dirt_with_snow,default:snow,default:ice,default:ice,biomes:mud 2,1,31000,-10,107
stone_grasslands,default:stone,default:dirt,default:dirt_with_grass,,,,default:sand,4,31000,29,22
mixed_forest,default:stone,default:dirt 2,default:dirt_with_grass,,,,default:dirt 2,5,31000,24,56
cold_deciduous_forest,default:stone,default:dirt 2,default:dirt_with_grass,,,,default:dirt 2,4,31000,31,48
deciduous_forest,default:stone,default:dirt 3,default:dirt_with_grass,,,,default:dirt 3,5,31000,45,65
bushes,default:stone,default:dirt,default:dirt_with_grass,,,,default:sand,7,31000,43,30
scrub,default:stone,default:dirt,default:dirt_with_dry_grass,,,,default:sand,8,31000,57,25
hot_pine_forest,default:stone,default:dirt,default:dirt_with_grass,,,,default:gravel,6,31000,65,35
desert,default:desert_stone,default:desert_sand 3,default:desert_sand,,,,default:sand 3,7,31000,89,9
sandstone_grasslands,default:sandstone,default:dirt 2,default:dirt_with_grass,,,,default:dirt 2,3,31000,55,15
savanna,default:stone,default:dirt,default:dirt_with_dry_grass,,,,default:sand 2,6,31000,80,24
desert_stone_grasslands,default:desert_stone,default:dirt,default:dirt_with_grass,,,,default:sand 2,4,31000,90,41
red_savanna,default:desert_stone,default:dirt,default:dirt_with_dry_grass,,,,default:sand 2,5,31000,90,31
semi-tropical_forest,default:stone,default:dirt 3,default:dirt_with_grass,,,,default:dirt 3,4,31000,72,61
rainforest,default:stone,default:dirt 4,default:dirt_with_grass,,,,default:dirt 3,1,31000,89,76
sandstone_desert,default:sandstone,default:desert_sand,default:desert_sand,,,,default:sand 2,6,31000,60,0
orchard,default:stone,default:dirt 2,default:dirt_with_grass,,,,default:dirt,6,31000,40,40
hot_deciduous_forest,default:stone,default:dirt 2,default:dirt_with_grass,,,,default:dirt 3,5,31000,61,58
hot_swamp,default:stone,default:dirt 4,default:dirt_with_grass,,,,biomes:mud 3,1,31000,83,116
,,,,,,,,,,,
#Beach biomes,,,,,,,,,,,
gravel_beach,default:stone,default:gravel 3,default:gravel,,,,default:gravel 3,-7,6,19,19
sand_dunes,default:stone,default:sand 3,default:sand,,,,default:sand 4,-5,5,21,61
mangrove,default:stone,default:dirt 4,default:dirt,,,,default:dirt 5,-4,0,96,106
desert_dunes,default:stone,default:sand 2,deault:sand,,,,default:sand 3,-5,6,70,6
hot_sand_dunes,default:stone,default:sand 3,default:sand,,,,default:sand 3,-5,5,106,49
tundra_dunes,default:stone,default:gravel,default:sand 2,default:snow,,,default:gravel,-5,2,5,21
,,,,,,,,,,,
glacier_2_shore,default:stone,,default:ice 4,default:snowblock,default:ice 6,default:ice,,-4,0,-19,40
glacier_3_shore,default:stone,,default:ice 12,default:snowblock,default:ice 6,default:ice,,-4,0,-27,80
swamp_shore,default:stone,default:dirt 3,default:dirt,,,,biomes:mud 3,-3,0,30,114
icy_swamp_shore,default:stone,default:dirt 4,default:dirt 3,default:snow,default:ice,default:ice,biomes:mud 3,-4,0,-10,107
hot_swamp_shore,default:stone,default:dirt 4,default:dirt,,,,biomes:mud 3,-3,0,83,116
,,,,,,,,,,,
#Sea biomes,,,,,,,,,,,
pack_ice,default:stone,,default:gravel,default:snow,default:ice 5,default:ice,,-112,-6,-24,41
cold_sea,default:stone,,default:gravel 2,,,,,-112,-6,20,47
tempered_sea,default:stone,,default:sand 2,,,,,-112,-6,41,48
warm_sea,default:stone,default:sand 2,default:sand,,,,,-112,-6,89,51
,,,,,,,,,,,
#Underground,,,,,,,,,,,
underground,default:stone,,,,,,,-31000,-113,50,50

1 #Open this file with a spreadsheet software
2 #Use a leading '#' to disable a line
3 #Blank cells are ignored
4
5 #Name Stone Fill Top Dust Sea River Elev_min Riverbed Elev_max Elev_min Heat Elev_max Humidity Heat Humidity
6
7 #Main biomes
8 glacier_1 default:stone default:ice 2 default:snowblock default:ice 2 default:ice -6 31000 -6 -11 31000 20 -11 20
9 glacier_2 default:stone default:ice 4 default:snowblock 3 default:snowblock default:ice 6 default:ice 1 31000 1 -19 31000 40 -19 40
10 glacier_3 default:stone default:ice 12 default:snowblock 5 default:snowblock default:ice 10 default:ice 1 31000 1 -27 31000 80 -27 80
11 taiga default:stone default:dirt 5 default:dirt_with_snow default:snow 4 default:gravel 31000 4 11 31000 67 11 67
12 tundra default:stone default:dirt 2 default:dirt_with_snow 3 31000 3 4 31000 32 4 32
13 coniferous_forest default:stone default:dirt 2 default:dirt_with_grass 5 default:gravel 31000 5 22 31000 71 22 71
14 cold_gravel_desert default:stone default:gravel default:gravel default:snow -6 default:gravel 31000 -6 -2 31000 2 -2 2
15 gravel_desert default:stone default:gravel 2 default:gravel 2 default:gravel 2 31000 2 20 31000 -2 20 -2
16 dry_tundra default:stone default:dirt 2 default:dirt_with_snow 2 31000 2 4 31000 12 4 12
17 cold_desert default:stone 3 default:gravel 31000 3 32 31000 -3 32 -3
18 swamp default:stone default:dirt 3 default:dirt_with_grass 1 biomes:mud 2 31000 1 30 31000 114 30 114
19 icy_swamp default:stone default:dirt 3 default:dirt_with_snow default:snow default:ice default:ice 1 biomes:mud 2 31000 1 -10 31000 107 -10 107
20 stone_grasslands default:stone default:dirt default:dirt_with_grass 4 default:sand 31000 4 29 31000 22 29 22
21 mixed_forest default:stone default:dirt 2 default:dirt_with_grass 5 default:dirt 2 31000 5 24 31000 56 24 56
22 cold_deciduous_forest default:stone default:dirt 2 default:dirt_with_grass 4 default:dirt 2 31000 4 31 31000 48 31 48
23 deciduous_forest default:stone default:dirt 3 default:dirt_with_grass 5 default:dirt 3 31000 5 45 31000 65 45 65
24 bushes default:stone default:dirt default:dirt_with_grass 7 default:sand 31000 7 43 31000 30 43 30
25 scrub default:stone default:dirt default:dirt_with_dry_grass 8 default:sand 31000 8 57 31000 25 57 25
26 hot_pine_forest default:stone default:dirt default:dirt_with_grass 6 default:gravel 31000 6 65 31000 35 65 35
27 desert default:desert_stone default:desert_sand 3 default:desert_sand 7 default:sand 3 31000 7 89 31000 9 89 9
28 sandstone_grasslands default:sandstone default:dirt 2 default:dirt_with_grass 3 default:dirt 2 31000 3 55 31000 15 55 15
29 savanna default:stone default:dirt default:dirt_with_dry_grass 6 default:sand 2 31000 6 80 31000 24 80 24
30 desert_stone_grasslands default:desert_stone default:dirt default:dirt_with_grass 4 default:sand 2 31000 4 90 31000 41 90 41
31 red_savanna default:desert_stone default:dirt default:dirt_with_dry_grass 5 default:sand 2 31000 5 90 31000 31 90 31
32 semi-tropical_forest default:stone default:dirt 3 default:dirt_with_grass 4 default:dirt 3 31000 4 72 31000 61 72 61
33 rainforest default:stone default:dirt 4 default:dirt_with_grass 1 default:dirt 3 31000 1 89 31000 76 89 76
34 sandstone_desert default:sandstone default:desert_sand default:desert_sand 6 default:sand 2 31000 6 60 31000 0 60 0
35 orchard default:stone default:dirt 2 default:dirt_with_grass 6 default:dirt 31000 6 40 31000 40 40
36 hot_deciduous_forest default:stone default:dirt 2 default:dirt_with_grass 5 default:dirt 3 31000 5 61 31000 58 61 58
37 hot_swamp default:stone default:dirt 4 default:dirt_with_grass 1 biomes:mud 3 31000 1 83 31000 116 83 116
38
39 #Beach biomes
40 gravel_beach default:stone default:gravel 3 default:gravel -7 default:gravel 3 6 -7 19 6 19 19
41 sand_dunes default:stone default:sand 3 default:sand -5 default:sand 4 5 -5 21 5 61 21 61
42 mangrove default:stone default:dirt 4 default:dirt -4 default:dirt 5 0 -4 96 0 106 96 106
43 desert_dunes default:stone default:sand 2 deault:sand -5 default:sand 3 6 -5 70 6 6 70 6
44 hot_sand_dunes default:stone default:sand 3 default:sand -5 default:sand 3 5 -5 106 5 49 106 49
45 tundra_dunes default:stone default:gravel default:sand 2 default:snow -5 default:gravel 2 -5 5 2 21 5 21
46
47 glacier_2_shore default:stone default:ice 4 default:snowblock default:ice 6 default:ice -4 0 -4 -19 0 40 -19 40
48 glacier_3_shore default:stone default:ice 12 default:snowblock default:ice 6 default:ice -4 0 -4 -27 0 80 -27 80
49 swamp_shore default:stone default:dirt 3 default:dirt -3 biomes:mud 3 0 -3 30 0 114 30 114
50 icy_swamp_shore default:stone default:dirt 4 default:dirt 3 default:snow default:ice default:ice -4 biomes:mud 3 0 -4 -10 0 107 -10 107
51 hot_swamp_shore default:stone default:dirt 4 default:dirt -3 biomes:mud 3 0 -3 83 0 116 83 116
52
53 #Sea biomes
54 pack_ice default:stone default:gravel default:snow default:ice 5 default:ice -112 -6 -112 -24 -6 41 -24 41
55 cold_sea default:stone default:gravel 2 -112 -6 -112 20 -6 47 20 47
56 tempered_sea default:stone default:sand 2 -112 -6 -112 41 -6 48 41 48
57 warm_sea default:stone default:sand 2 default:sand -112 -6 -112 89 -6 51 89 51
58
59 #Underground
60 underground default:stone -31000 -113 -31000 50 -113 50 50

View File

@ -1,7 +1,10 @@
local path = minetest.get_modpath("30biomes")
local defaultpath = minetest.get_modpath("default")
-- Mud in swamps
minetest.register_ore({
ore_type = "blob",
ore = "biomes:mud",
ore = "30biomes:mud",
wherein = {"default:dirt", "default:dirt_with_grass"},
clust_scarcity = 12*12*12,
clust_size = 10,
@ -43,7 +46,7 @@ minetest.register_ore({
-- Jungle grass
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "biomes:mud"},
place_on = {"default:dirt_with_grass", "30biomes:mud"},
sidelen = 16,
noise_params = {
offset = 0.15,
@ -172,7 +175,7 @@ minetest.register_decoration({
biomes = {"deciduous_forest", "cold_deciduous_forest", "orchard", "hot_deciduous_forest"},
y_min = 1,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/apple_tree.mts",
schematic = defaultpath.."/schematics/apple_tree.mts",
flags = "place_center_x, place_center_z",
})
@ -225,7 +228,7 @@ minetest.register_decoration({
biomes = {"semi-tropical_forest", "mixed_forest"},
y_min = 1,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/apple_tree.mts",
schematic = defaultpath.."/schematics/apple_tree.mts",
flags = "place_center_x, place_center_z",
})
@ -278,7 +281,7 @@ minetest.register_decoration({
biomes = {"rainforest", "mangrove"},
y_min = 0,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts",
schematic = defaultpath.."/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
@ -332,7 +335,7 @@ minetest.register_decoration({
biomes = {"semi-tropical_forest"},
y_min = 0,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts",
schematic = defaultpath.."/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
@ -383,10 +386,10 @@ minetest.register_decoration({
octaves = 3,
persist = 0.66
},
biomes = {"taiga", "coniferous_forest"},
biomes = {"hot_pine_forest"},
y_min = 2,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/pine_tree.mts",
schematic = path.."/schematics/pine_tree.mts",
flags = "place_center_x, place_center_z",
})
@ -402,7 +405,7 @@ minetest.register_decoration({
octaves = 3,
persist = 0.66
},
biomes = {"taiga", "coniferous_forest"},
biomes = {"hot_pine_forest"},
y_min = 1,
y_max = 31000,
schematic = {
@ -424,6 +427,112 @@ minetest.register_decoration({
})
-- Rarer pine tree and log
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.020,
scale = -0.020,
spread = {x = 250, y = 250, z = 250},
seed = 45,
octaves = 3,
persist = 0.66
},
biomes = {"hot_deciduous_forest", "scrub"},
y_min = 2,
y_max = 31000,
schematic = path.."/schematics/pine_tree.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.001,
scale = -0.001,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"hot_deciduous_forest", "scrub"},
y_min = 1,
y_max = 31000,
schematic = {
size = {x = 3, y = 3, z = 1},
data = {
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "default:pine_tree", param2 = 12, prob = 191},
{name = "default:pine_tree", param2 = 12},
{name = "default:pine_tree", param2 = 12, prob = 127},
{name = "air", prob = 0},
{name = "flowers:mushroom_red", prob = 63},
{name = "air", prob = 0},
},
},
flags = "place_center_x",
rotation = "random",
})
-- Fir tree and log
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.036,
scale = 0.022,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"taiga", "coniferous_forest"},
y_min = 2,
y_max = 31000,
schematic = path.."/schematics/fir_tree.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.0018,
scale = 0.0011,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"taiga", "coniferous_forest"},
y_min = 1,
y_max = 31000,
schematic = {
size = {x = 3, y = 3, z = 1},
data = {
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "30biomes:fir_tree", param2 = 12, prob = 191},
{name = "30biomes:fir_tree", param2 = 12},
{name = "30biomes:fir_tree", param2 = 12, prob = 127},
{name = "air", prob = 0},
{name = "flowers:mushroom_red", prob = 63},
{name = "air", prob = 0},
},
},
flags = "place_center_x",
rotation = "random",
})
-- Rarer fir tree and log
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_grass"},
@ -439,7 +548,7 @@ minetest.register_decoration({
biomes = {"mixed_forest"},
y_min = 2,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/pine_tree.mts",
schematic = path.."/schematics/fir_tree.mts",
flags = "place_center_x, place_center_z",
})
@ -464,9 +573,9 @@ minetest.register_decoration({
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "default:pine_tree", param2 = 12, prob = 191},
{name = "default:pine_tree", param2 = 12},
{name = "default:pine_tree", param2 = 12, prob = 127},
{name = "30biomes:fir_tree", param2 = 12, prob = 191},
{name = "30biomes:fir_tree", param2 = 12},
{name = "30biomes:fir_tree", param2 = 12, prob = 127},
{name = "air", prob = 0},
{name = "flowers:mushroom_red", prob = 63},
{name = "air", prob = 0},
@ -492,7 +601,7 @@ minetest.register_decoration({
biomes = {"savanna", "red_savanna"},
y_min = 1,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/acacia_tree.mts",
schematic = defaultpath.."/schematics/acacia_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
@ -543,7 +652,7 @@ minetest.register_decoration({
biomes = {"cold_deciduous_forest", "mixed_forest"},
y_min = 1,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/aspen_tree.mts",
schematic = defaultpath.."/schematics/aspen_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
@ -597,7 +706,7 @@ minetest.register_decoration({
biomes = {"swamp_shore", "hot_swamp_shore", "mangrove"},
y_min = 0,
y_max = 0,
schematic = minetest.get_modpath("default").."/schematics/papyrus.mts",
schematic = defaultpath.."/schematics/papyrus.mts",
})
-- Cactus

View File

@ -1 +1,2 @@
default
flowers

View File

@ -1,34 +1,19 @@
local path = minetest.get_modpath("biomes")
local path = minetest.get_modpath("30biomes")
minetest.clear_registered_biomes()
minetest.clear_registered_decorations()
minetest.clear_registered_biomes()
minetest.register_node("biomes:mud", {
description = "Mud",
tiles = {"biomes_mud.png"},
liquid_viscosity = 8,
liquidtype = "source",
liquid_renewable = false,
liquid_alternative_source = "biomes:mud",
liquid_alternative_flowing = "biomes:mud",
liquid_range = 0,
post_effect_color = {r=115, g=61, b=31, a=255},
drowning = 1,
walkable = false,
groups = {crumbly = 2},
sounds = default.node_sound_dirt_defaults(),
})
for line in io.lines(path .. "/biomes.csv") do
local file = io.open(path .. "/biomes.csv", "r")
for line in file:lines() do
local attribs = line:split(",", true)
local name, stone, fill, top, dust, sea, river, ymin, ymax, heat, humidity = unpack(attribs)
local name, stone, fill, top, dust, sea, river, riverbed, ymin, ymax, heat, humidity = unpack(attribs)
if #name > 0 and name:sub(1,1) ~= "#" then
-- Register biome
local biome = {name=name}
if stone and #stone > 0 then
biome.stone = stone
biome.node_stone = stone
end
if fill and #fill > 0 then
@ -57,6 +42,12 @@ for line in io.lines(path .. "/biomes.csv") do
biome.node_river_water = river
end
if riverbed and #riverbed > 0 then
riverbed = riverbed:split("%s", false, 1, true)
biome.node_riverbed = riverbed[1]
biome.depth_riverbed = tonumber(riverbed[2] or 1)
end
biome.y_min = tonumber(ymin) or -31000
biome.y_max = tonumber(ymax) or 31000
biome.heat_point = tonumber(heat) or 50
@ -68,6 +59,10 @@ for line in io.lines(path .. "/biomes.csv") do
end
end
file:close()
dofile(path .. "/nodes.lua")
--dofile(path .. "/main_biomes.lua")
--dofile(path .. "/beach_biomes.lua")
--dofile(path .. "/sea_biomes.lua")

View File

@ -1 +1 @@
name = biomes
name = 30biomes

59
nodes.lua Normal file
View File

@ -0,0 +1,59 @@
-- Mud for swamps
minetest.register_node("30biomes:mud", {
description = "Mud",
tiles = {"biomes_mud.png"},
liquid_viscosity = 8,
liquidtype = "source",
liquid_renewable = false,
liquid_alternative_source = "30biomes:mud",
liquid_alternative_flowing = "30biomes:mud",
liquid_range = 0,
post_effect_color = {r=115, g=61, b=31, a=255},
drowning = 1,
walkable = false,
groups = {crumbly = 2},
sounds = default.node_sound_dirt_defaults(),
})
-- Fir tree
minetest.register_node("30biomes:fir_tree", {
description = "Fir Tree",
tiles = {"biomes_fir_tree_top.png", "biomes_fir_tree_top.png", "biomes_fir_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
-- Fir needles
minetest.register_node("30biomes:fir_needles", {
description = "Fir Needles",
drawtype = "allfaces_optional",
waving = 1,
tiles = {"biomes_fir_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
--[[drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/20 chance
items = {'default:sapling'},
rarity = 20,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'default:leaves'},
}
}
},]]
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_alias("30biomes:fir_needles", "fir_needles")

BIN
schematics/fir_tree.mts Normal file

Binary file not shown.

View File

@ -0,0 +1,2 @@
MTSM\00\00\00\00?????\00\00air\00biomes:fir_needles\00biomes:fir_treex\9C\EDR[
\C00\8B\BDh\8F\E0r\F4\AE{\E0\FA%ݴ\ECg)\88!%\84 \80\D8\CBV\A3\A9\C6)i\EA\8E\F2r\93k;\9D\8B9?W\EFT\F1\EE\D6vI\F5\C1]U\A5\D6Y\EAC *H\CEP\A09\83}\F4\FF\8D=\AC\CC.)\95\87Į~,\C2 a5

BIN
schematics/pine_tree.mts Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B