EinsDreiDreiSieben/mods/asuna/asuna_core/biomes.lua

1403 lines
No EOL
34 KiB
Lua

--[[
Biome definitions
]]
asuna.biomes = {
mountain = {
name = "Mountain",
heat = 50,
humidity = 50,
y_min = 31000,
y_max = 2450,
nodes = {
"default:snow", 1,
"default:snowblock", 2,
},
flowers = {},
mushrooms = {},
animals = {"sheep","reindeer"},
crops = {},
shore = "default:sand",
seabed = "default:sand",
ocean = "bare",
cave = "none",
},
grassland = {
name = "Grassland",
heat = 51,
humidity = 54,
y_min = 4,
y_max = 1725,
y_blend = 4,
nodes = {
"default:dirt_with_grass", 1,
"default:dirt", 3,
},
flowers = {"blue","cyan","white","red","purple","orange","pink","yellow"},
mushrooms = {},
animals = {"chicken","cow","horse","pig","sheep"},
crops = {"cucumber","spinach","eggplant","tomato","strawberry","parsley","corn","beans","lettuce"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "bamboo",
},
underground = {
name = "Underground",
heat = 50,
humidity = 50,
y_min = -31000,
y_max = -5, ---10001
nodes = {
"default:stone", 1,
"default:stone", 1,
},
flowers = {},
mushrooms = {},
animals = {"bat"},
crops = {},
shore = "default:sand",
seabed = "default:sand",
ocean = "bare",
cave = "none",
},
plains = {
name = "Plains",
heat = 54,
humidity = 32,
y_min = 4,
y_max = 1725,
y_blend = 4,
nodes = {
"default:dry_dirt_with_dry_grass", 1,
"default:dry_dirt", 3,
},
flowers = {"yellow","white"},
mushrooms = {},
animals = {"chicken","horse","pig","cow"},
crops = {"corn","wheat","cotton","pumpkin","barley"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "dry",
dungeon = "travertine",
},
prairie = {
name = "Prairie",
heat = 47,
humidity = 47,
y_min = 4,
y_max = 1725,
y_blend = 4,
nodes = {
"prairie:prairie_dirt_with_grass", 1,
"default:dirt", 3,
},
flowers = {},
mushrooms = {},
animals = {"chicken","owl","bird","rat","sheep","cow"},
crops = {"cucumber","eggplant","tomato","strawberry","lettuce","vanilla","peas","rhubarb","grapes"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "dorwinion",
},
dorwinion = {
name = "Dorwinion",
heat = 51,
humidity = 45,
y_min = 4,
y_max = 1725,
nodes = {
"dorwinion:dorwinion_grass", 1,
"dorwinion:dorwinion", 5,
},
flowers = {"red","white"},
mushrooms = {"brown"},
animals = {"owl","rat","bird","sheep","cat"},
crops = {"cucumber","strawberry","parsley","garlic","peas","rhubarb","tomato","raspberry"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
dungeon = {
node = "dorwinion:dorwinion_brick_with_moss",
alt = "dorwinion:dorwinion_brick",
stair = "stairs:stair_dorwinion_brick",
},
cave = "dorwinion",
},
quicksand = {
name = "Quicksand",
heat = 72,
humidity = 92,
y_min = 0,
y_max = 0,
nodes = {
"ethereal:quicksand2", 2,
"ethereal:quicksand2", 2,
},
flowers = {},
mushrooms = {},
animals = {},
crops = {},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "fungal",
dungeon = "mudstone",
y_blend = 1,
},
["naturalbiomes:alpine"] = {
name = "Alpine",
heat = 25,
humidity = 35,
y_min = 4,
y_max = 1725,
nodes = {
"naturalbiomes:alpine_litter", 1,
"naturalbiomes:alpine_rock", 32,
},
flowers = {"black","yellow","cyan","white"},
mushrooms = {"brown"},
animals = {"fox","owl","pig","sheep","turkey","wolf","cow","bird","grizzly_bear"},
crops = {"spinach","beetroot","potato","carrot","onion","pine_nut"},
shore = "default:sand",
seabed = "default:sand",
ocean = "cold",
cave = "moss",
dungeon = "granite_white",
},
desert = {
name = "Desert",
heat = 52,
humidity = 11,
y_min = 4,
y_max = 1725,
y_blend = 6,
nodes = {
"default:desert_sand", 1,
"default:desert_sand", 3,
"default:desert_stone",
},
flowers = {},
mushrooms = {},
animals = {},
crops = {"cactus"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
dungeon = {
node = "default:sandstonebrick",
alt = "default:sandstonebrick",
stair = "stairs:stair_sandstonebrick",
},
cave = "coal",
},
fiery = {
name = "Fiery",
heat = 86,
humidity = 3,
y_min = 4,
y_max = 46,
y_blend = 2,
nodes = {
"ethereal:fiery_dirt", 1,
"default:dirt", 3,
},
flowers = {},
mushrooms = {},
animals = {},
crops = {"obsidian_wart"},
shore = "default:sandstone",
seabed = "default:sand",
ocean = "temperate",
cave = "fire",
dungeon = "basalt",
},
["everness:forsaken_desert"] = {
name = "Forsaken Desert",
heat = 95,
humidity = 25,
y_min = 4,
y_max = 1725,
nodes = {
"everness:forsaken_desert_sand", 1,
"everness:forsaken_desert_sand", 1,
"everness:forsaken_desert_stone",
},
flowers = {},
mushrooms = {},
animals = {},
crops = {"cactus"},
shore = "everness:dry_ocean_dirt",
seabed = "everness:dry_ocean_dirt",
ocean = "forsaken_desert",
cave = "forsaken_desert",
dungeon = {
node = "everness:forsaken_desert_brick",
alt = "everness:forsaken_desert_brick_red",
stair = "stairs:stair_forsaken_desert_brick",
},
},
["naturalbiomes:outback"] = {
name = "Outback",
heat = 83,
humidity = 35,
y_min = 4,
y_max = 1725,
nodes = {
"naturalbiomes:outback_litter", 1,
"naturalbiomes:outback_ground", 32,
"default:desert_stone",
},
flowers = {"yellow","red","white"},
mushrooms = {},
animals = {"horse","bird"},
crops = {"kiwi"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "forsaken_desert",
dungeon = "gabbro",
},
["naturalbiomes:bushland"] = {
name = "Bushland",
heat = 80,
humidity = 46,
y_min = 4,
y_max = 1725,
nodes = {
"naturalbiomes:bushland_bushlandlitter", 1,
"default:dirt", 3,
extra = {"naturalbiomes:bushland_bushlandlitter2","naturalbiomes:bushland_bushlandlitter3",}
},
flowers = {"green","black","white"},
mushrooms = {},
animals = {"bird","chicken","pig","sheep","cat"},
crops = {"kiwi","strawberry","cotton","onion","hemp","rhubarb","parsley","spinach","grapes","raspberry"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "moss",
dungeon = "sandstone",
},
["naturalbiomes:heath"] = {
name = "Heath",
heat = 46,
humidity = 64,
y_min = 1,
y_max = 1725,
nodes = {
"naturalbiomes:heath_litter", 1,
"default:sand", 3,
extra = {"naturalbiomes:heath_litter2","naturalbiomes:heath_litter3"},
},
flowers = {"white","pink","purple"},
mushrooms = {},
animals = {"bird","cow","chicken","sheep","owl","cat"},
crops = {"strawberry","rice","rhubarb","vanilla","garlic","parsley","peas","grapes"},
shore = "default:sand",
seabed = "default:clay",
ocean = "temperate",
cave = "bamboo",
dungeon = "galena",
},
sandstone_desert = {
name = "Sandstone Desert",
heat = 74,
humidity = 7,
y_min = 4,
y_max = 1725,
nodes = {
"default:sand", 1,
"default:sandstone", 32,
"default:desert_stone",
},
flowers = {},
mushrooms = {},
animals = {},
crops = {"cactus"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "coal",
dungeon = {
node = "default:sandstonebrick",
alt = "default:sandstonebrick",
stair = "stairs:stair_sandstonebrick",
},
},
savanna = {
name = "Savanna",
heat = 58,
humidity = 24,
y_min = 4,
y_max = 1725,
nodes = {
"naturalbiomes:savannalitter", 1,
"default:dirt", 3,
extra = {"default:dry_dirt_with_dry_grass"},
},
flowers = {"orange","yellow"},
mushrooms = {},
animals = {"horse","cat","chicken","bird"},
crops = {"cotton","kiwi","pepper","artichoke"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "dry",
dungeon = "travertine",
},
["naturalbiomes:mediterranean"] = {
name = "Mediterranean",
heat = 82,
humidity = 48,
y_min = 4,
y_max = 1725,
nodes = {
"naturalbiomes:mediterran_litter", 1,
"naturalbiomes:mediterran_rock", 16,
},
flowers = {"green","white","purple","black"},
mushrooms = {},
animals = {"bird","cat","chicken"},
crops = {"cotton","chili","pepper","tomato","artichoke","parsley","garlic","peas","grapes"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "dry",
dungeon = "marble",
},
mushroom = {
name = "Mushroom",
heat = 73,
humidity = 94,
y_min = 4,
y_max = 1725,
y_blend = 4,
nodes = {
"ethereal:mushroom_dirt", 1,
"default:dirt", 3,
},
flowers = {},
mushrooms = {}, -- special mushrooms set in decor.lua
animals = {},
crops = {"hemp"},
shore = "default:clay",
seabed = "default:sand",
ocean = "temperate",
cave = "fungal",
dungeon = "sugilite",
},
swamp = {
name = "Swamp",
heat = 77,
humidity = 72,
y_min = 1,
y_max = 1725,
nodes = {
"default:dirt_with_grass", 1,
"default:dirt", 3,
},
flowers = {"yellow","green","orange","black"},
mushrooms = {"brown","red"},
animals = {"frog","owl","rat","bird"},
crops = {"beetroot","rice","onion","mint","asparagus","soybean","cabbage","hemp","peas"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "fungal",
dungeon = {
node = "default:mossycobble",
alt = "default:mossycobble",
stair = "stairs:stair_mossycobble",
},
},
marsh = {
name = "Marsh",
heat = 73,
humidity = 93,
y_min = 1,
y_max = 24,
y_blend = 4,
nodes = {
"default:dirt_with_grass", 1,
"default:dirt", 3,
},
flowers = {"yellow","green","orange","black"},
mushrooms = {"brown","red"},
animals = {"frog"},
crops = {"rice","onion","mint","asparagus","peas"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "fungal",
dungeon = {
node = "default:mossycobble",
alt = "default:mossycobble",
stair = "stairs:stair_mossycobble",
},
},
["everness:bamboo_forest"] = {
name = "Bamboo Forest",
heat = 48,
humidity = 99,
y_min = 4,
y_max = 1725,
nodes = {
"everness:dirt_with_grass_1", 1,
"everness:dirt_1", 3,
},
flowers = {"purple","orange"},
mushrooms = {"brown","red"},
animals = {"bird","cat","chicken","frog","pig","rat"},
crops = {"melon","pepper","mint","ginger","cabbage"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "bamboo",
dungeon = "granite_gray",
},
japaneseforest = {
name = "Japanese Forest",
heat = 39,
humidity = 75,
y_min = 4,
y_max = 1725,
nodes = {
"japaneseforest:japanese_dirt_with_grass", 1,
"default:dirt", 3,
},
flowers = {"orange","pink","red","purple"},
mushrooms = {},
animals = {"fox","owl","rat","bird"},
crops = {"rice","soybean","ginger","garlic","cabbage","peas"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "bamboo",
dungeon = "howlite",
},
nightshade = {
name = "Nightshade",
heat = 28,
humidity = 68,
y_min = 4,
y_max = 1725,
nodes = {
"nightshade:nightshade_dirt_with_grass", 1,
"default:dirt", 3,
},
flowers = {"black"},
mushrooms = {"odd","red"},
animals = {"bat","owl"},
crops = {"potato","pumpkin","onion"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "coral_forest",
dungeon = "soapstone",
},
grassytwo = {
name = "Birch Forest",
heat = 35,
humidity = 40,
y_min = 4,
y_max = 1725,
y_blend = 4,
nodes = {
"default:dirt_with_grass", 1,
"default:dirt", 3,
},
flowers = {"blue","cyan","white","red","purple","orange","pink","yellow"},
mushrooms = {},
animals = {"chicken","cow","horse","pig","rat","owl","bird","sheep"},
crops = {"carrot","potato","strawberry","pumpkin","onion","eggplant","beans","lettuce","raspberry"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "moss",
},
mesa = {
name = "Mesa",
heat = 36,
humidity = 15,
y_min = 4,
y_max = 1725,
nodes = {
"default:dirt_with_dry_grass", 1,
"bakedclay:orange", 15,
"default:desert_stone",
},
flowers = {"yellow","orange","white"},
mushrooms = {},
animals = {"chicken","cow","horse","owl","rat"},
crops = {"chili","pepper"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "dry",
dungeon = {
node = "default:sandstonebrick",
alt = "default:sandstonebrick",
stair = "stairs:stair_sandstonebrick",
},
},
jumble = {
name = "Jumble",
heat = 56,
humidity = 93,
y_min = 4,
y_max = 1725,
nodes = {
"default:dirt_with_rainforest_litter", 1,
"default:dirt", 3,
},
flowers = {"yellow","green","orange","black"},
mushrooms = {"brown","red","odd"},
animals = {"frog","owl","rat","bird"},
crops = {"potato","carrot","onion","spinach","eggplant","cabbage","asparagus","pepper"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "fungal",
dungeon = {
node = "default:mossycobble",
alt = "default:mossycobble",
stair = "stairs:stair_mossycobble",
},
},
deciduous_forest = {
name = "Deciduous Forest",
heat = 37,
humidity = 52,
y_min = 4,
y_max = 192,
nodes = {
"default:dirt_with_grass", 1,
"default:dirt", 3,
},
flowers = {"blue","white","yellow"},
mushrooms = {"brown"},
animals = {"chicken","pig","owl","rat","bird"},
crops = {"carrot","strawberry","onion","cucumber","spinach","eggplant","lettuce","parsley","raspberry"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "bamboo",
},
bamboo = {
name = "Bamboo",
heat = 44,
humidity = 75,
y_min = 4,
y_max = 1725,
y_blend = 6,
nodes = {
"ethereal:bamboo_dirt", 1,
"default:dirt", 3,
},
flowers = {"pink","white","orange"},
mushrooms = {},
animals = {"chicken","fox","pig","sheep","bird"},
crops = {"rice","soybean","ginger","rhubarb","strawberry","garlic","lettuce","vanilla","grapes"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "bamboo",
dungeon = "howlite",
},
rainforest = {
name = "Rainforest",
heat = 89,
humidity = 77,
y_min = 4,
y_max = 1725,
nodes = {
"default:dirt_with_rainforest_litter", 1,
"default:dirt", 3,
},
flowers = {"blue","purple","orange","black"},
mushrooms = {"brown","odd"},
animals = {"bird","cat","chicken","pig","rat","frog"},
crops = {"melon","stevia","cocoa","coffee","artichoke","hemp","pineapple","rhubarb"},
shore = "default:sand",
seabed = "default:sand",
ocean = "tropical",
cave = "mineral_waters",
cave_stone = "everness:mineral_cave_stone",
dungeon = "serpentine",
},
["livingjungle:jungle"] = {
name = "Living Jungle",
heat = 90,
humidity = 89,
y_min = 1,
y_max = 1725,
nodes = {
"livingjungle:jungleground", 1,
"default:dirt", 6,
},
flowers = {"purple","green","black"},
mushrooms = {"brown","odd"},
animals = {"bird","cat","frog","pig","rat","frog"},
crops = {"melon","stevia","coffee","artichoke","mint","hemp","pineapple","rhubarb"},
shore = "default:sand",
seabed = "default:sand",
ocean = "tropical",
cave = "bamboo",
dungeon = "serpentine",
},
grove = {
name = "Grove",
heat = 82,
humidity = 65,
y_min = 4,
y_max = 1725,
y_blend = 2,
nodes = {
"ethereal:grove_dirt", 1,
"default:dirt", 3,
},
flowers = {"blue","orange","black","green"},
mushrooms = {},
animals = {"bird","chicken","pig","cow","cat"},
crops = {"stevia","coffee","kiwi","artichoke","pepper","chili","parsley","pineapple","hemp","melon","soybean","vanilla","grapes"},
shore = "default:sand",
seabed = "default:sand",
ocean = "tropical",
cave = "moss",
dungeon = "mudstone",
},
["naturalbiomes:alderswamp"] = {
name = "Alder Swamp",
heat = 59,
humidity = 79,
y_min = 1,
y_max = 1725,
y_blend = 4,
nodes = {
"naturalbiomes:alderswamp_litter", 1,
"naturalbiomes:alderswamp_dirt", 3,
},
flowers = {"yellow","green"},
mushrooms = {"brown","red","odd"},
animals = {"frog","owl","rat","bird"},
crops = {"rice","onion","mint","asparagus","hemp"},
shore = "default:sand",
seabed = "default:sand",
ocean = "temperate",
cave = "fungal",
dungeon = {
node = "default:mossycobble",
alt = "default:mossycobble",
stair = "stairs:stair_mossycobble",
},
},
badland = {
name = "Badland",
heat = 19,
humidity = 65,
y_min = 4,
y_max = 1725,
nodes = {
"badland:badland_grass", 1,
"default:dirt", 3,
},
flowers = {},
mushrooms = {"brown"},
animals = {"chicken","fox","owl","pig","rat","turkey","bat"},
crops = {"carrot","beetroot","potato","corn","barley","beans","wheat"},
shore = "default:sand",
seabed = "default:sand",
ocean = "cold",
cave = "cursed_lands",
dungeon = "slate",
},
grayness = {
name = "Gray Lands",
heat = 21,
humidity = 12,
y_min = 4,
y_max = 1750,
nodes = {
"ethereal:gray_dirt", 1,
"default:silver_sand", 5,
},
flowers = {"white","cyan"},
mushrooms = {"brown"},
animals = {"reindeer","turkey","sheep","grizzly_bear"},
crops = {},
shore = "default:silver_sand",
seabed = "default:silver_sand",
ocean = "cold",
cave = "frosted_icesheet",
dungeon = "silver_sandstone",
},
grayness_floatland = {
name = "Gray Lands Floatland",
heat = 21,
humidity = 12,
y_min = 2451,
y_max = 3175,
nodes = {
"ethereal:gray_dirt", 1,
"default:silver_sand", 5,
},
flowers = {"white","cyan"},
mushrooms = {"brown"},
animals = {"reindeer","turkey","sheep","grizzly_bear"},
crops = {},
shore = "default:silver_sand",
seabed = "default:silver_sand",
ocean = "cold",
cave = "frosted_icesheet",
dungeon = "silver_sandstone",
},
coniferous_forest = {
name = "Coniferous Forest",
heat = 20,
humidity = 41,
y_min = 4,
y_max = 48,
nodes = {
"default:dirt_with_coniferous_litter", 1,
"default:dirt", 3,
},
flowers = {"white","green","cyan"},
mushrooms = {"brown"},
animals = {"fox","owl","sheep","turkey","wolf","grizzly_bear"},
crops = {"carrot","potato","pine_nut","onion","beetroot"},
shore = "default:sand",
seabed = "default:sand",
ocean = "cold",
cave = "moss",
dungeon = "granite_white",
},
taiga = {
name = "Taiga",
heat = 20,
humidity = 41,
y_min = 49,
y_max = 1725,
nodes = {
"default:dirt_with_snow", 1,
"default:dirt", 3,
},
flowers = {"white","green","cyan"},
mushrooms = {"brown"},
animals = {"fox","owl","sheep","turkey","wolf","grizzly_bear"},
crops = {"carrot","potato","pine_nut","onion","beetroot"},
shore = "default:sand",
seabed = "default:sand",
ocean = "cold",
cave = "moss",
dungeon = "granite_white"
},
glacier = {
name = "Glacier",
heat = 2,
humidity = 47,
y_min = 1,
y_max = 1725,
nodes = {
"default:snowblock", 1,
"default:snowblock", 3,
"default:stone",
"default:snowblock",
},
flowers = {},
mushrooms = {},
animals = {"grizzly_bear"},
crops = {},
shore = "default:cave_ice",
seabed = "default:sand",
ocean = "frozen",
cave = "frosted_icesheet",
dungeon = "howlite",
},
glacier_floatlands = {
name = "glacier_floatlands",
heat = 2,
humidity = 47,
y_min = 2451,
y_max = 31000,
nodes = {
"default:snowblock", 1,
"default:snowblock", 3,
"default:stone",
"default:snowblock",
},
flowers = {},
mushrooms = {},
animals = {"grizzly_bear"},
crops = {},
shore = "default:cave_ice",
seabed = "default:sand",
ocean = "frozen",
cave = "frosted_icesheet",
dungeon = "howlite",
},
frost_land = {
name = "Frost Land",
heat = 10,
humidity = 80,
y_min = 4,
y_max = 1725,
nodes = {
"frost_land:frost_land_grass", 1,
"default:dirt", 3,
"default:cave_ice",
"default:snow",
},
flowers = {},
mushrooms = {},
animals = {"fox","owl","turkey","wolf","reindeer","grizzly_bear"},
crops = {},
shore = "default:cave_ice",
seabed = "default:sand",
ocean = "frozen",
cave = "frosted_icesheet",
dungeon = "granite_blue",
},
tundra = {
name = "Tundra",
heat = -1,
humidity = 20,
y_min = 4,
y_max = 40,
y_blend = 2,
nodes = {
"default:permafrost_with_stones", 1,
"default:permafrost", 1,
},
flowers = {},
mushrooms = {},
animals = {"grizzly_bear"},
crops = {},
shore = "default:gravel",
seabed = "default:sand",
ocean = "bare",
cave = "frosted_icesheet",
dungeon = "granite_gray",
},
tundra_highland = {
name = "Tundra Highland",
heat = -1,
humidity = 20,
y_min = 41,
y_max = 192,
nodes = {
"default:permafrost_with_stones", 1,
"default:permafrost", 1,
"default:stone",
"default:snow",
},
flowers = {},
mushrooms = {},
animals = {"grizzly_bear"},
crops = {},
shore = "default:gravel",
seabed = "default:sand",
ocean = "bare",
cave = "frosted_icesheet",
dungeon = "granite_black",
},
["everness:forsaken_tundra"] = {
name = "Forsaken Tundra",
heat = 22,
humidity = 9,
y_min = 4,
y_max = 1725,
nodes = {
"everness:forsaken_tundra_dirt", 1,
"everness:forsaken_tundra_dirt", 1,
"everness:forsaken_tundra_stone",
},
flowers = {},
mushrooms = {},
animals = {},
crops = {},
shore = "everness:forsaken_tundra_beach_sand",
seabed = "everness:forsaken_tundra_beach_sand",
ocean = "forsaken_tundra",
cave = "forsaken_tundra",
dungeon = {
node = "everness:forsaken_tundra_cobble",
alt = "everness:forsaken_tundra_brick",
stair = "stairs:stair_forsaken_tundra_cobble",
},
},
frost = {
name = "Frost",
heat = 8,
humidity = 91,
y_min = 4,
y_max = 1725,
nodes = {
"ethereal:crystal_dirt", 1,
"default:dirt", 3,
"default:cave_ice",
"default:snow",
},
flowers = {},
mushrooms = {},
animals = {"fox","owl","turkey","wolf","reindeer","grizzly_bear"},
crops = {},
shore = "default:cave_ice",
seabed = "default:sand",
ocean = "frozen",
cave = "crystal_forest",
dungeon = "granite_blue",
},
frost_floatland = {
name = "frost_floatland",
heat = 8,
humidity = 91,
y_min = 2451,
y_max = 3175,
nodes = {
"ethereal:crystal_dirt", 1,
"default:dirt", 3,
"default:cave_ice",
"default:snow",
},
flowers = {},
mushrooms = {},
animals = {"fox","owl","turkey","wolf","reindeer","grizzly_bear"},
crops = {},
shore = "default:cave_ice",
seabed = "default:sand",
ocean = "frozen",
cave = "crystal_forest",
dungeon = "granite_blue",
},
["everness:frosted_icesheet"] = {
name = "Frosted Icesheet",
heat = 1,
humidity = 59,
y_min = 4,
y_max = 1725,
nodes = {
"everness:frosted_snowblock", 1,
"everness:frosted_snowblock", 3,
"everness:frosted_cave_ice",
},
flowers = {},
mushrooms = {},
animals = {"grizzly_bear"},
crops = {},
shore = "default:cave_ice",
seabed = "default:cave_ice",
ocean = "frozen",
cave = "frosted_icesheet",
dungeon = {
node = "everness:icecobble",
alt = "everness:snowcobble",
stair = "stairs:stair_ice",
},
},
["everness:cursed_lands"] = {
name = "Cursed Lands",
heat = 63,
humidity = 81,
y_min = 1,
y_max = 1725,
nodes = {
"everness:dirt_with_cursed_grass", 1,
"everness:cursed_dirt", 3,
"everness:cursed_stone_carved",
},
flowers = {"black","green"},
mushrooms = {"red"},
animals = {"bat","owl","frog"},
crops = {"pumpkin","soybean","onion"},
shore = "everness:cursed_stone",
seabed = "everness:cursed_stone",
deep_seabed = "everness:cursed_lands_deep_ocean_sand",
ocean = "cursed_lands",
cave = "cursed_lands",
dungeon = {
node = "everness:cursed_brick",
alt = "everness:cursed_brick_with_growth",
stair = "stairs:stair_cursed_brick",
},
},
["everness:crystal_forest"] = {
name = "Crystal Forest",
heat = 22,
humidity = 98,
y_min = 4,
y_max = 1725,
nodes = {
"everness:dirt_with_crystal_grass", 1,
"everness:crystal_dirt", 3,
"everness:crystal_stone",
},
flowers = {},
mushrooms = {},
animals = {},
crops = {},
shore = "everness:crystal_sand",
seabed = "everness:crystal_sand",
deep_seabed = "everness:crystal_forest_deep_ocean_sand",
ocean = "crystal_forest",
cave = "crystal_forest",
dungeon = {
node = "everness:crystal_cobble",
alt = "everness:crystal_stone_brick",
stair = "everness:stair_crystal_cobble",
},
},
["everness:coral_forest"] = {
name = "Coral Forest",
heat = 24,
humidity = 74,
y_min = 4,
y_max = 1725,
nodes = {
"everness:dirt_with_coral_grass", 1,
"everness:coral_dirt", 3,
"everness:coral_desert_stone",
},
flowers = {},
mushrooms = {},
animals = {},
crops = {},
shore = "everness:coral_white_sand",
seabed = "everness:coral_white_sand",
deep_seabed = "everness:coral_forest_deep_ocean_sand",
ocean = "coral_forest",
cave = "coral_forest",
dungeon = {
node = "everness:coral_desert_stone_block",
alt = "everness:coral_desert_stone_brick",
stair = "stairs:stair_coral_desert_stone_block",
},
},
["everness:mineral_waters"] = {
name = "Mineral Waters",
heat = 98,
humidity = 56,
y_min = 4,
y_max = 1725,
nodes = {
"everness:mineral_sand", 1,
"everness:mineral_stone", 1,
"everness:mineral_stone",
},
flowers = {},
mushrooms = {},
animals = {},
crops = {},
shore = "everness:mineral_sand",
seabed = "everness:mineral_sand",
deep_seabed = "everness:mineral_sand",
ocean = "tropical",
cave = "mineral_waters",
cave_stone = "everness:mineral_cave_stone",
dungeon = {
node = "everness:mineral_stone_brick",
alt = "everness:mineral_stone_brick_with_growth",
stair = "stairs:stair_mineral_stone_brick",
},
},
}
--[[
Biome groups
]]
asuna.biome_groups = {
all = {},
base = {},
shore = {},
below = {},
ocean = {},
}
-- Generate dungeon definitions, shore biomes, and below ground biomes from base biomes
local supplementary_biomes = {}
for biome,def in pairs(asuna.biomes) do
-- Add to base biome group
table.insert(asuna.biome_groups.base,biome)
table.insert(asuna.biome_groups.all,biome)
-- If no dungeon overrides are defined
if not def.dungeon then
def.dungeon = {
node = "default:cobble",
alt = "default:mossycobble",
stair = "stairs:stair_cobble",
}
elseif type(def.dungeon) == "string" then
def.dungeon = {
node = "too_many_stones:" .. def.dungeon .. "_brick",
alt = "too_many_stones:" .. def.dungeon .. "_cracked_brick",
stair = "stairs:stair_" .. def.dungeon .. "_brick",
}
end
-- If no deep seabed is defined
if not def.deep_seabed then
def.deep_seabed = def.seabed
end
-- Generate shore biome if the biome should have a proper shore
if def.y_min <= 4 and def.y_min >= 1 then
local shore_name = biome .. "_shore"
table.insert(asuna.biome_groups.shore,shore_name)
supplementary_biomes[shore_name] = {
name = def.name .. " Shore",
heat = def.heat,
humidity = def.humidity,
y_min = 0,
y_max = def.y_min - 1,
y_blend = 1,
nodes = {
def.shore, 1,
def.nodes[5] or "default:stone", def.nodes[4] - 1,
def.nodes[5] or "default:stone",
},
flowers = {},
mushrooms = {},
animals = def.ocean == "tropical" and {"tropical_fish"} or {},
crops = def.crops,
shore = def.shore,
seabed = def.seabed,
deep_seabed = def.deep_seabed,
ocean = def.ocean,
dungeon = def.dungeon,
cave = def.cave,
}
end
-- Generate below biome if the biome should have a below biome
if def.y_min < 100 and def.y_min > -1 and def.y_max > 10 then
local below_name = biome .. "_below"
local ocean_group_name = "ocean_" .. def.ocean
table.insert(asuna.biome_groups.below,below_name)
-- Ocean biome groups
local ocean_group = asuna.biome_groups[ocean_group_name] or {}
table.insert(ocean_group,below_name)
asuna.biome_groups[ocean_group_name] = ocean_group
local below_stone = def.cave_stone or "default:stone"
supplementary_biomes[below_name] = {
name = def.name .. " Below",
heat = def.heat,
humidity = def.humidity,
y_min = -31000,
y_max = -1,
nodes = {
below_stone, 0,
below_stone, 0,
below_stone,
},
flowers = {},
mushrooms = {},
animals = def.ocean == "tropical" and {"bat","tropical_fish"} or {"bat"},
crops = {},
shore = def.shore,
seabed = def.seabed,
deep_seabed = def.deep_seabed,
ocean = def.ocean,
dungeon = def.dungeon,
cave = def.cave,
}
end
end
-- Add supplementary biomes
for biome,def in pairs(supplementary_biomes) do
table.insert(asuna.biome_groups.all,biome)
asuna.biomes[biome] = def
end
--[[
Biome feature groups
]]
asuna.features = {
flowers = {},
mushrooms = {},
animals = {},
crops = {},
shore = {},
seabed = {},
ocean = {},
cave = {},
}
for biome,def in pairs(asuna.biomes) do
for feature,group in pairs(asuna.features) do
local values = def[feature]
if type(values) ~= "table" then
local members = group[values] or {}
table.insert(members,biome)
group[values] = members
else
for _,value in ipairs(def[feature]) do
local members = group[value] or {}
table.insert(members,biome)
group[value] = members
end
end
end
end
--[[
Biome support functions
]]
-- Generate a Minetest biome definition from Asuna data
for biome,def in pairs(asuna.biomes) do
local frozen_ocean = def.ocean == "frozen" and true or false
local mtbiomedef = {
name = biome,
heat_point = def.heat,
humidity_point = def.humidity,
y_min = def.y_min,
y_max = def.y_max,
vertical_blend = def.y_blend or 0,
node_top = def.nodes[1],
depth_top = def.nodes[2],
node_filler = def.nodes[3],
depth_filler = def.nodes[4],
node_stone = def.nodes[5] or "default:stone",
node_dust = def.nodes[6],
node_water_top = frozen_ocean and "default:ice" or nil,
depth_water_top = frozen_ocean and 3 or nil,
node_riverbed = def.seabed,
depth_riverbed = 2,
node_dungeon = def.dungeon.node,
node_dungeon_alt = def.dungeon.alt,
node_dungeon_stair = def.dungeon.stair,
}
def.generate_definition = function()
return mtbiomedef
end
end
-- Inject a Minetest decoration definition with feature group biome data
for feature, groups in pairs(asuna.features) do
for group, biomes in pairs(groups) do
local surface_nodes = {}
local only_biomes = {}
for _,biome in ipairs(biomes) do
surface_nodes[asuna.biomes[biome].nodes[1]] = true
table.insert(only_biomes,biome)
end
local surface_array = {}
for node,_ in pairs(surface_nodes) do
table.insert(surface_array,node)
end
biomes.inject_decoration = function(mtdecorationdef)
mtdecorationdef.biomes = mtdecorationdef.biomes or only_biomes
mtdecorationdef.place_on = mtdecorationdef.place_on or surface_array
return mtdecorationdef
end
end
end
-- Inject a Minetest decoration definition with biome group data
for name, group in pairs(asuna.biome_groups) do
local surface_nodes = {}
local only_biomes = {}
for _,biome in ipairs(group) do
surface_nodes[asuna.biomes[biome].nodes[1]] = true
table.insert(only_biomes,biome)
end
local surface_array = {}
for node,_ in pairs(surface_nodes) do
table.insert(surface_array,node)
end
group.inject_decoration = function(mtdecorationdef)
mtdecorationdef.biomes = mtdecorationdef.biomes or only_biomes
mtdecorationdef.place_on = mtdecorationdef.place_on or surface_array
return mtdecorationdef
end
end
-- Override biome registration function to prevent duplicate biome registrations
local no_biome_mods = {
default = true,
ethereal = true,
everness = true,
livingjungle = true,
naturalbiomes = true,
}
local mtrb = minetest.register_biome
minetest.register_biome = function(def)
if minetest.registered_biomes[def.name] or no_biome_mods[minetest.get_current_modname()] then
return minetest.get_biome_id(def.name)
else
return mtrb(def)
end
end
-- Register all biomes beginning with base biomes
for _,biome in ipairs(asuna.biome_groups.base) do
minetest.register_biome(asuna.biomes[biome].generate_definition())
end
for _,biome in ipairs(asuna.biome_groups.shore) do
minetest.register_biome(asuna.biomes[biome].generate_definition())
end
for _,biome in ipairs(asuna.biome_groups.below) do
minetest.register_biome(asuna.biomes[biome].generate_definition())
end