2017-08-21 00:25:22 +00:00
|
|
|
|
local mg_name = minetest.get_mapgen_setting("mg_name")
|
2019-03-09 18:15:10 +00:00
|
|
|
|
local mg_seed = minetest.get_mapgen_setting("seed")
|
2017-02-22 22:21:13 +00:00
|
|
|
|
|
2017-09-13 01:15:16 +00:00
|
|
|
|
-- Some mapgen settings
|
2019-02-09 01:42:11 +00:00
|
|
|
|
local superflat = mg_name == "flat" and minetest.get_mapgen_setting("mcl_superflat_classic") == "true"
|
2017-09-13 01:15:16 +00:00
|
|
|
|
|
2019-03-25 11:42:37 +00:00
|
|
|
|
local generate_fallen_logs = minetest.settings:get_bool("mcl_generate_fallen_logs", false)
|
2017-09-13 01:15:16 +00:00
|
|
|
|
|
2019-03-01 17:01:29 +00:00
|
|
|
|
-- Jungle bush schematic. In PC/Java Edition it's Jungle Wood + Oak Leaves
|
2017-09-13 01:15:16 +00:00
|
|
|
|
local jungle_bush_schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_jungle_bush_oak_leaves.mts"
|
|
|
|
|
|
2019-03-09 23:35:16 +00:00
|
|
|
|
local deco_id_chorus_plant
|
2019-03-09 20:02:40 +00:00
|
|
|
|
|
2017-02-22 22:21:13 +00:00
|
|
|
|
--
|
2017-08-17 21:14:02 +00:00
|
|
|
|
-- Register biomes
|
2017-02-22 22:21:13 +00:00
|
|
|
|
--
|
|
|
|
|
|
2019-12-18 17:42:04 +00:00
|
|
|
|
local OCEAN_MIN = -15
|
|
|
|
|
local DEEP_OCEAN_MAX = OCEAN_MIN - 1
|
|
|
|
|
local DEEP_OCEAN_MIN = -31
|
|
|
|
|
|
2019-03-25 08:04:41 +00:00
|
|
|
|
--[[ Special biome field: _mcl_biome_type:
|
|
|
|
|
Rough categorization of biomes: One of "snowy", "cold", "medium" and "hot"
|
|
|
|
|
Based off <https://minecraft.gamepedia.com/Biomes> ]]
|
|
|
|
|
|
2017-02-22 23:15:47 +00:00
|
|
|
|
local function register_classic_superflat_biome()
|
|
|
|
|
-- Classic Superflat: bedrock (not part of biome), 2 dirt, 1 grass block
|
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = "flat",
|
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-03-21 02:28:40 +00:00
|
|
|
|
depth_filler = 3,
|
2017-06-13 11:51:16 +00:00
|
|
|
|
node_stone = "mcl_core:dirt",
|
2017-08-16 14:22:28 +00:00
|
|
|
|
y_min = mcl_vars.mg_overworld_min - 512,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-02-22 23:15:47 +00:00
|
|
|
|
humidity_point = 50,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
heat_point = 50,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 0,
|
2017-02-22 23:15:47 +00:00
|
|
|
|
})
|
|
|
|
|
end
|
2017-02-22 22:21:13 +00:00
|
|
|
|
|
2017-02-22 23:15:47 +00:00
|
|
|
|
-- All mapgens except mgv6, flat and singlenode
|
2017-02-22 22:21:13 +00:00
|
|
|
|
local function register_biomes()
|
2017-08-15 17:40:53 +00:00
|
|
|
|
--[[ OVERWORLD ]]
|
2017-09-09 17:30:22 +00:00
|
|
|
|
|
|
|
|
|
--[[ These biomes try to resemble MC as good as possible. This means especially the floor cover and
|
|
|
|
|
the type of plants and structures (shapes might differ). The terrain itself will be of course different
|
|
|
|
|
and depends on the mapgen.
|
|
|
|
|
Important: MC also takes the terrain into account while MT biomes don't care about the terrain at all
|
|
|
|
|
(except height).
|
|
|
|
|
MC has many “M” and “Hills” variants, most of which only differ in terrain compared to their original
|
|
|
|
|
counterpart.
|
|
|
|
|
In MT, any biome can occour in any terrain, so these variants are implied and are therefore
|
|
|
|
|
not explicitly implmented in MCL2. “M” variants are only included if they have another unique feature,
|
|
|
|
|
such as a different land cover.
|
2017-09-13 03:41:43 +00:00
|
|
|
|
In MCL2, the MC Overworld biomes are split in multiple more parts (stacked by height):
|
|
|
|
|
* The main part, this represents the land. It begins at around sea level and usually goes all the way up
|
|
|
|
|
* _ocean: For the area covered by ocean water. The y_max may vary for various beach effects.
|
|
|
|
|
Has sand or dirt as floor.
|
|
|
|
|
* _deep_ocean: Like _ocean, but deeper and has gravel as floor
|
|
|
|
|
* _underground:
|
|
|
|
|
* Other modifiers: Some complex biomes require more layers to improve the landscape.
|
2017-09-09 17:30:22 +00:00
|
|
|
|
|
2017-09-13 03:41:43 +00:00
|
|
|
|
The following naming conventions apply:
|
2019-03-11 12:41:19 +00:00
|
|
|
|
* The land biome name is equal to the MC biome name, as of Minecraft 1.11 (in camel case)
|
2017-09-13 03:41:43 +00:00
|
|
|
|
* Height modifiers and sub-biomes are appended with underscores and in lowercase. Example: “_ocean”
|
|
|
|
|
* Non-MC biomes are written in lowercase
|
|
|
|
|
* MC dimension biomes are named after their MC dimension
|
2017-09-09 17:30:22 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
Intentionally missing biomes:
|
2017-09-09 17:30:22 +00:00
|
|
|
|
* River (generated by valleys and v7)
|
2017-09-12 19:31:33 +00:00
|
|
|
|
* Frozen River (generated by valleys and v7)
|
2019-03-11 12:41:19 +00:00
|
|
|
|
* Hills biomes (shape only)
|
|
|
|
|
* Plateau (shape only)
|
|
|
|
|
* Plateau M (shape only)
|
|
|
|
|
* Cold Taiga M (mountain only)
|
|
|
|
|
* Taiga M (mountain only)
|
|
|
|
|
* Roofed Forest M (mountain only)
|
|
|
|
|
* Swampland M (mountain only)
|
|
|
|
|
* Extreme Hills Edge (unused in MC)
|
2017-09-12 19:31:33 +00:00
|
|
|
|
|
2017-09-10 15:18:11 +00:00
|
|
|
|
TODO:
|
2017-09-13 03:41:43 +00:00
|
|
|
|
* Better beaches
|
2017-09-13 08:31:41 +00:00
|
|
|
|
* Improve Extreme Hills M
|
2017-09-12 19:31:33 +00:00
|
|
|
|
* Desert M
|
2017-09-09 17:30:22 +00:00
|
|
|
|
|
|
|
|
|
]]
|
|
|
|
|
|
2017-09-13 03:41:43 +00:00
|
|
|
|
-- List of Overworld biomes without modifiers.
|
|
|
|
|
-- IMPORTANT: Don't forget to add new Overworld biomes to this list!
|
|
|
|
|
local overworld_biomes = {
|
|
|
|
|
"IcePlains",
|
|
|
|
|
"IcePlainsSpikes",
|
|
|
|
|
"ColdTaiga",
|
|
|
|
|
"ExtremeHills",
|
|
|
|
|
"ExtremeHillsM",
|
|
|
|
|
"ExtremeHills+",
|
|
|
|
|
"Taiga",
|
|
|
|
|
"MegaTaiga",
|
|
|
|
|
"MegaSpruceTaiga",
|
|
|
|
|
"StoneBeach",
|
|
|
|
|
"Plains",
|
|
|
|
|
"SunflowerPlains",
|
|
|
|
|
"Forest",
|
|
|
|
|
"FlowerForest",
|
|
|
|
|
"BirchForest",
|
|
|
|
|
"BirchForestM",
|
|
|
|
|
"RoofedForest",
|
|
|
|
|
"Swampland",
|
|
|
|
|
"Jungle",
|
|
|
|
|
"JungleM",
|
|
|
|
|
"JungleEdge",
|
|
|
|
|
"JungleEdgeM",
|
|
|
|
|
"MushroomIsland",
|
|
|
|
|
"Desert",
|
|
|
|
|
"Savanna",
|
|
|
|
|
"SavannaM",
|
|
|
|
|
"Mesa",
|
2019-03-11 20:42:30 +00:00
|
|
|
|
"MesaBryce",
|
2017-09-13 03:41:43 +00:00
|
|
|
|
"MesaPlateauF",
|
2019-03-10 23:04:03 +00:00
|
|
|
|
"MesaPlateauFM",
|
2017-09-13 03:41:43 +00:00
|
|
|
|
}
|
|
|
|
|
|
2017-09-12 18:40:20 +00:00
|
|
|
|
-- Ice Plains Spikes (rare)
|
2017-02-22 22:21:13 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "IcePlainsSpikes",
|
2017-08-31 02:56:09 +00:00
|
|
|
|
node_top = "mcl_core:snowblock",
|
2017-09-10 14:55:55 +00:00
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 2,
|
2019-03-12 02:18:07 +00:00
|
|
|
|
node_water_top = "mcl_core:ice",
|
|
|
|
|
depth_water_top = 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_river_water = "mcl_core:ice",
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-08-31 02:56:09 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 24,
|
|
|
|
|
heat_point = -5,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "snowy",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 2,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "IcePlainsSpikes_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-08-31 01:50:36 +00:00
|
|
|
|
depth_top = 2,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-08-22 14:17:29 +00:00
|
|
|
|
node_river_water = "mcl_core:ice",
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-22 14:17:29 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-31 02:56:09 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 24,
|
|
|
|
|
heat_point = -5,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "snowy",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 2,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-05 23:50:39 +00:00
|
|
|
|
-- Cold Taiga
|
2017-02-22 22:21:13 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ColdTaiga",
|
2017-09-05 23:50:39 +00:00
|
|
|
|
node_dust = "mcl_core:snow",
|
|
|
|
|
node_top = "mcl_core:dirt_with_grass_snow",
|
2017-08-21 12:08:35 +00:00
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 2,
|
2017-09-05 23:50:39 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-09 03:04:39 +00:00
|
|
|
|
y_min = 3,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 58,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "snowy",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 3,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
-- A cold beach-like biome, implemented as low part of Cold Taiga
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ColdTaiga_beach",
|
2017-09-05 23:50:39 +00:00
|
|
|
|
node_dust = "mcl_core:snow",
|
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
depth_top = 2,
|
2017-09-08 15:51:56 +00:00
|
|
|
|
node_water_top = "mcl_core:ice",
|
|
|
|
|
depth_water_top = 1,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
node_filler = "mcl_core:sandstone",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 2,
|
2017-09-05 23:50:39 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
y_min = 1,
|
2017-09-09 03:04:39 +00:00
|
|
|
|
y_max = 2,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 58,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "snowy",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 3,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
2017-09-10 13:01:32 +00:00
|
|
|
|
-- Water part of the beach. Added to prevent snow being on the ice.
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ColdTaiga_beach_water",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
|
|
|
|
depth_top = 2,
|
|
|
|
|
node_water_top = "mcl_core:ice",
|
|
|
|
|
depth_water_top = 1,
|
|
|
|
|
node_filler = "mcl_core:sandstone",
|
|
|
|
|
depth_filler = 2,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_min = -4,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 58,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "snowy",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 3,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ColdTaiga_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -5,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 58,
|
|
|
|
|
heat_point = 8,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
vertical_blend = 1,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "snowy",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 3,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Mega Taiga
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MegaTaiga",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_top = "mcl_core:podzol",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-08-31 02:10:38 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 76,
|
|
|
|
|
heat_point = 10,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 4,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MegaTaiga_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-31 02:10:38 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 76,
|
|
|
|
|
heat_point = 10,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 4,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Mega Spruce Taiga
|
2017-09-06 00:29:37 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MegaSpruceTaiga",
|
2017-09-06 00:29:37 +00:00
|
|
|
|
node_top = "mcl_core:podzol",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-09-06 00:29:37 +00:00
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 100,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 5,
|
2017-09-06 00:29:37 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MegaSpruceTaiga_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-09-06 00:29:37 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-09-06 00:29:37 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-09-06 00:29:37 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-06 00:29:37 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 100,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 5,
|
2017-09-06 00:29:37 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 09:42:15 +00:00
|
|
|
|
-- Extreme Hills
|
2019-03-12 01:13:15 +00:00
|
|
|
|
-- Sparsely populated grasslands with little tallgras and trees.
|
2017-09-09 09:42:15 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ExtremeHills",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 4,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 4,
|
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 10,
|
|
|
|
|
heat_point = 45,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 6,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ExtremeHills_beach",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
depth_top = 2,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
depth_water_top = 1,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
node_filler = "mcl_core:sandstone",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 4,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_min = -4,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_max = 3,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 10,
|
|
|
|
|
heat_point = 45,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 6,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ExtremeHills_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
depth_filler = 4,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 4,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -5,
|
|
|
|
|
vertical_blend = 1,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 10,
|
|
|
|
|
heat_point = 45,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 6,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Extreme Hills M
|
2019-03-12 01:13:15 +00:00
|
|
|
|
-- Just gravel.
|
2017-09-09 09:42:15 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ExtremeHillsM",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:gravel",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:gravel",
|
|
|
|
|
depth_riverbed = 3,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 25,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 7,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ExtremeHillsM_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 3,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 25,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 7,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Extreme Hills+
|
2019-03-12 01:13:15 +00:00
|
|
|
|
-- This biome is near-identical to Extreme Hills on the surface but has snow-covered mountains with spruce/oak
|
|
|
|
|
-- forests above a certain height.
|
2017-09-09 09:42:15 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ExtremeHills+",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 4,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 4,
|
|
|
|
|
y_min = 1,
|
2019-03-11 01:51:59 +00:00
|
|
|
|
y_max = 41,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 24,
|
|
|
|
|
heat_point = 25,
|
2019-03-11 01:51:59 +00:00
|
|
|
|
vertical_blend = 6,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 8,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
2019-03-12 01:13:15 +00:00
|
|
|
|
---- Sub-biome for Extreme Hills+ for those snow forests
|
2017-09-09 09:42:15 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ExtremeHills+_snowtop",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
node_dust = "mcl_core:snow",
|
|
|
|
|
node_top = "mcl_core:dirt_with_grass_snow",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 4,
|
2018-01-07 23:19:53 +00:00
|
|
|
|
node_river_water = "mcl_core:ice",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 4,
|
2019-03-11 01:51:59 +00:00
|
|
|
|
y_min = 42,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 24,
|
|
|
|
|
heat_point = 25,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 8,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "ExtremeHills+_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-09-09 09:42:15 +00:00
|
|
|
|
depth_filler = 4,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 4,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 24,
|
|
|
|
|
heat_point = 25,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 8,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 18:40:20 +00:00
|
|
|
|
-- Stone beach
|
2019-03-12 01:13:15 +00:00
|
|
|
|
-- Just stone.
|
|
|
|
|
-- Not neccessarily a beach at all, only named so according to MC
|
2017-09-09 17:01:04 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "StoneBeach",
|
2017-09-12 18:40:20 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 1,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_min = -7,
|
2017-09-09 17:01:04 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 9,
|
2017-09-09 17:01:04 +00:00
|
|
|
|
})
|
2017-09-12 18:40:20 +00:00
|
|
|
|
|
2017-09-09 17:01:04 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "StoneBeach_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-09-09 17:01:04 +00:00
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 1,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -8,
|
|
|
|
|
vertical_blend = 2,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 9,
|
2017-09-09 17:01:04 +00:00
|
|
|
|
})
|
2017-09-09 09:42:15 +00:00
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Ice Plains
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "IcePlains",
|
2017-09-06 01:26:23 +00:00
|
|
|
|
node_dust = "mcl_core:snow",
|
2017-05-15 19:09:06 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass_snow",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-08-21 12:08:35 +00:00
|
|
|
|
depth_filler = 2,
|
2017-09-06 01:26:23 +00:00
|
|
|
|
node_water_top = "mcl_core:ice",
|
|
|
|
|
depth_water_top = 2,
|
|
|
|
|
node_river_water = "mcl_core:ice",
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-08-29 22:37:01 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 24,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "snowy",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 10,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "IcePlains_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-29 22:37:01 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 24,
|
|
|
|
|
heat_point = 8,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "snowy",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 10,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-05 23:50:39 +00:00
|
|
|
|
-- Plains
|
2017-02-22 22:21:13 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Plains",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-08-21 12:08:35 +00:00
|
|
|
|
depth_filler = 2,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-11-15 01:30:30 +00:00
|
|
|
|
y_min = 3,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 39,
|
|
|
|
|
heat_point = 58,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 0,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Plains_beach",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
depth_top = 2,
|
|
|
|
|
node_filler = "mcl_core:sandstone",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 2,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-11-15 01:30:30 +00:00
|
|
|
|
y_min = 0,
|
|
|
|
|
y_max = 2,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 39,
|
|
|
|
|
heat_point = 58,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 0,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Plains_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-11-15 01:30:30 +00:00
|
|
|
|
y_max = -1,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 39,
|
|
|
|
|
heat_point = 58,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 0,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 18:40:20 +00:00
|
|
|
|
-- Sunflower Plains
|
2017-09-06 02:11:39 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "SunflowerPlains",
|
2017-09-06 02:11:39 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-09-12 18:40:20 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-06 02:11:39 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 28,
|
|
|
|
|
heat_point = 45,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 11,
|
2017-09-06 02:11:39 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "SunflowerPlains_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-06 02:11:39 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-06 02:11:39 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:dirt",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-06 02:11:39 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 28,
|
|
|
|
|
heat_point = 45,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 11,
|
2017-09-06 02:11:39 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-05 23:50:39 +00:00
|
|
|
|
-- Taiga
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Taiga",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-08-31 01:50:36 +00:00
|
|
|
|
y_min = 4,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 58,
|
|
|
|
|
heat_point = 22,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 12,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Taiga_beach",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
depth_top = 2,
|
|
|
|
|
node_filler = "mcl_core:sandstone",
|
|
|
|
|
depth_filler = 1,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
2017-08-31 02:10:38 +00:00
|
|
|
|
y_max = 3,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 58,
|
|
|
|
|
heat_point = 22,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 12,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Taiga_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-08-21 11:24:42 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 58,
|
|
|
|
|
heat_point = 22,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "cold",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 12,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Forest
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Forest",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
depth_top = 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
depth_filler = 3,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-02-22 22:21:13 +00:00
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 61,
|
|
|
|
|
heat_point = 45,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 13,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Forest_beach",
|
2017-09-06 01:34:51 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
depth_top = 2,
|
|
|
|
|
node_filler = "mcl_core:sandstone",
|
|
|
|
|
depth_filler = 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = -1,
|
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 61,
|
|
|
|
|
heat_point = 45,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 13,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Forest_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-08-21 11:24:42 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
y_max = -2,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 61,
|
|
|
|
|
heat_point = 45,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 13,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Flower Forest
|
2017-09-08 22:19:24 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "FlowerForest",
|
2017-09-08 22:19:24 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
y_min = 3,
|
2017-09-08 22:19:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 44,
|
|
|
|
|
heat_point = 32,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 14,
|
2017-09-08 22:19:24 +00:00
|
|
|
|
})
|
2017-09-08 22:27:03 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "FlowerForest_beach",
|
2017-09-08 22:27:03 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
depth_top = 2,
|
|
|
|
|
node_filler = "mcl_core:sandstone",
|
|
|
|
|
depth_filler = 1,
|
2017-09-08 22:27:03 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = -2,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
y_max = 2,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 44,
|
|
|
|
|
heat_point = 32,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 14,
|
2017-09-08 22:27:03 +00:00
|
|
|
|
})
|
2017-09-08 22:19:24 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "FlowerForest_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-08 22:19:24 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-08 22:19:24 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-08 22:27:03 +00:00
|
|
|
|
y_max = -3,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 44,
|
|
|
|
|
heat_point = 32,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 14,
|
2017-09-08 22:19:24 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Birch Forest
|
2017-09-06 04:04:32 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "BirchForest",
|
2017-09-06 04:04:32 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 78,
|
|
|
|
|
heat_point = 31,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 15,
|
2017-09-06 04:04:32 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "BirchForest_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-06 04:04:32 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-06 04:04:32 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-06 04:04:32 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 78,
|
|
|
|
|
heat_point = 31,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 15,
|
2017-09-06 04:04:32 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Birch Forest M
|
2017-09-06 04:04:32 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "BirchForestM",
|
2017-09-06 04:04:32 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 77,
|
|
|
|
|
heat_point = 27,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 16,
|
2017-09-06 04:04:32 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "BirchForestM_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-06 04:04:32 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-09-06 04:04:32 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-06 04:04:32 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 77,
|
|
|
|
|
heat_point = 27,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 16,
|
2017-09-06 04:04:32 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Desert
|
2017-02-22 22:21:13 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Desert",
|
2017-08-21 22:30:34 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2017-08-21 22:30:34 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-08-21 12:08:35 +00:00
|
|
|
|
depth_filler = 2,
|
2017-08-21 22:30:34 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-08-21 22:30:34 +00:00
|
|
|
|
node_stone = "mcl_core:sandstone",
|
2017-08-31 02:10:38 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 26,
|
|
|
|
|
heat_point = 94,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 17,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Desert_ocean",
|
2017-08-21 01:23:59 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2017-08-21 01:23:59 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-08-21 01:23:59 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-31 02:10:38 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 26,
|
|
|
|
|
heat_point = 94,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 17,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
2017-02-22 22:21:13 +00:00
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Roofed Forest
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "RoofedForest",
|
2017-08-21 02:50:45 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2017-08-21 02:50:45 +00:00
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-08-21 12:08:35 +00:00
|
|
|
|
depth_filler = 2,
|
2017-08-21 02:58:25 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-08-21 12:04:34 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 94,
|
|
|
|
|
heat_point = 27,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 18,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "RoofedForest_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-09-12 18:40:20 +00:00
|
|
|
|
depth_filler = 2,
|
2017-08-22 14:17:29 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-22 14:17:29 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 94,
|
|
|
|
|
heat_point = 27,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 18,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2019-03-11 22:00:59 +00:00
|
|
|
|
-- Mesa: Starts with a couple of sand-covered layers (the "sandlevel"),
|
|
|
|
|
-- followed by terracotta with colorful (but imperfect) strata
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Mesa",
|
2017-08-21 11:24:42 +00:00
|
|
|
|
node_top = "mcl_colorblocks:hardened_clay",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2017-08-21 11:24:42 +00:00
|
|
|
|
node_filler = "mcl_colorblocks:hardened_clay",
|
2017-12-07 13:31:04 +00:00
|
|
|
|
node_riverbed = "mcl_core:redsand",
|
|
|
|
|
depth_riverbed = 1,
|
2017-08-31 02:15:51 +00:00
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay",
|
2017-09-09 22:55:32 +00:00
|
|
|
|
y_min = 11,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 100,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 19,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
2017-09-12 19:31:33 +00:00
|
|
|
|
-- Helper biome for the red sand at the bottom of Mesas.
|
2017-09-09 22:55:32 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Mesa_sandlevel",
|
2017-09-09 22:55:32 +00:00
|
|
|
|
node_top = "mcl_core:redsand",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_colorblocks:hardened_clay_orange",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:redsand",
|
|
|
|
|
depth_riverbed = 1,
|
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay_orange",
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_min = -4,
|
2017-09-09 22:55:32 +00:00
|
|
|
|
y_max = 10,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 100,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 19,
|
2017-09-09 22:55:32 +00:00
|
|
|
|
})
|
2017-08-31 02:10:38 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Mesa_ocean",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-08-31 02:15:51 +00:00
|
|
|
|
depth_top = 3,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-09 22:55:32 +00:00
|
|
|
|
depth_filler = 2,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-31 02:10:38 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -5,
|
|
|
|
|
vertical_blend = 1,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 100,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 19,
|
2017-08-31 02:10:38 +00:00
|
|
|
|
})
|
2017-09-10 01:16:49 +00:00
|
|
|
|
|
2019-03-11 23:26:33 +00:00
|
|
|
|
-- Mesa Bryce: Variant of Mesa, but with perfect strata and a much smaller red sand desert
|
2019-03-11 20:42:30 +00:00
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = "MesaBryce",
|
|
|
|
|
node_top = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
node_riverbed = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
depth_riverbed = 1,
|
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay",
|
2019-03-11 23:46:08 +00:00
|
|
|
|
y_min = 4,
|
2019-03-11 20:42:30 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2019-03-11 20:44:13 +00:00
|
|
|
|
humidity_point = -5,
|
2019-03-11 20:42:30 +00:00
|
|
|
|
heat_point = 100,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 20,
|
2019-03-11 20:42:30 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = "MesaBryce_sandlevel",
|
|
|
|
|
node_top = "mcl_core:redsand",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_colorblocks:hardened_clay_orange",
|
|
|
|
|
depth_filler = 3,
|
2019-03-11 23:34:44 +00:00
|
|
|
|
node_riverbed = "mcl_colorblocks:hardened_clay",
|
2019-03-11 20:42:30 +00:00
|
|
|
|
depth_riverbed = 1,
|
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay_orange",
|
|
|
|
|
y_min = -4,
|
2019-03-11 23:46:08 +00:00
|
|
|
|
y_max = 3,
|
2019-03-11 20:44:13 +00:00
|
|
|
|
humidity_point = -5,
|
2019-03-11 20:42:30 +00:00
|
|
|
|
heat_point = 100,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 20,
|
2019-03-11 20:42:30 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = "MesaBryce_ocean",
|
|
|
|
|
node_top = "mcl_core:sand",
|
|
|
|
|
depth_top = 3,
|
|
|
|
|
node_filler = "mcl_core:sand",
|
|
|
|
|
depth_filler = 2,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = OCEAN_MIN,
|
|
|
|
|
y_max = -5,
|
|
|
|
|
vertical_blend = 1,
|
2019-03-11 20:44:13 +00:00
|
|
|
|
humidity_point = -5,
|
2019-03-11 20:42:30 +00:00
|
|
|
|
heat_point = 100,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 20,
|
2019-03-11 20:42:30 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-10 01:16:49 +00:00
|
|
|
|
-- Mesa Plateau F
|
2019-03-11 22:00:59 +00:00
|
|
|
|
-- Identical to Mesa below Y=30. At Y=30 and above there is a "dry" oak forest
|
2017-09-10 01:16:49 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MesaPlateauF",
|
2017-09-10 01:16:49 +00:00
|
|
|
|
node_top = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_colorblocks:hardened_clay",
|
2017-12-07 13:31:04 +00:00
|
|
|
|
node_riverbed = "mcl_core:redsand",
|
|
|
|
|
depth_riverbed = 1,
|
2017-09-10 01:16:49 +00:00
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
y_min = 11,
|
|
|
|
|
y_max = 29,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 60,
|
2019-03-11 01:51:59 +00:00
|
|
|
|
vertical_blend = 0, -- we want a sharp transition
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 21,
|
2017-09-10 01:16:49 +00:00
|
|
|
|
})
|
2019-03-11 22:00:59 +00:00
|
|
|
|
-- The oak forest plateau of this biome.
|
|
|
|
|
-- This is a plateau for grass blocks, dry shrubs, tall grass, coarse dirt and oaks.
|
|
|
|
|
-- Strata don't generate here.
|
2017-09-10 01:16:49 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MesaPlateauF_grasstop",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
2017-09-10 01:16:49 +00:00
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-12-07 13:31:04 +00:00
|
|
|
|
depth_filler = 1,
|
|
|
|
|
node_riverbed = "mcl_core:redsand",
|
|
|
|
|
depth_riverbed = 1,
|
2017-09-10 01:16:49 +00:00
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
y_min = 30,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 60,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 21,
|
2017-09-10 01:16:49 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MesaPlateauF_sandlevel",
|
2017-09-10 01:16:49 +00:00
|
|
|
|
node_top = "mcl_core:redsand",
|
2019-03-11 01:51:59 +00:00
|
|
|
|
depth_top = 2,
|
2017-09-10 01:16:49 +00:00
|
|
|
|
node_filler = "mcl_colorblocks:hardened_clay_orange",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:redsand",
|
|
|
|
|
depth_riverbed = 1,
|
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay_orange",
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_min = -5,
|
2017-09-10 01:16:49 +00:00
|
|
|
|
y_max = 10,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 60,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 21,
|
2017-09-10 01:16:49 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MesaPlateauF_ocean",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 01:16:49 +00:00
|
|
|
|
depth_top = 3,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-10 01:16:49 +00:00
|
|
|
|
depth_filler = 2,
|
2017-09-10 13:01:32 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-09-10 01:16:49 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -6,
|
|
|
|
|
vertical_blend = 1,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 0,
|
|
|
|
|
heat_point = 60,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 21,
|
2017-09-10 01:16:49 +00:00
|
|
|
|
})
|
2017-02-22 22:21:13 +00:00
|
|
|
|
|
2019-03-10 23:04:03 +00:00
|
|
|
|
-- Mesa Plateau FM
|
2019-03-11 22:00:59 +00:00
|
|
|
|
-- Dryer and more "chaotic"/"weathered down" variant of MesaPlateauF:
|
|
|
|
|
-- oak forest is less dense, more coarse dirt, more erratic terrain, vertical blend, more red sand layers,
|
|
|
|
|
-- red sand as ores, red sandstone at sandlevel
|
2019-03-10 23:04:03 +00:00
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = "MesaPlateauFM",
|
|
|
|
|
node_top = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
node_riverbed = "mcl_core:redsand",
|
2019-03-10 23:08:36 +00:00
|
|
|
|
depth_riverbed = 2,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
y_min = 12,
|
|
|
|
|
y_max = 29,
|
2019-03-11 20:44:13 +00:00
|
|
|
|
humidity_point = -5,
|
|
|
|
|
heat_point = 60,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
vertical_blend = 5,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 22,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
})
|
|
|
|
|
-- Grass plateau
|
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = "MesaPlateauFM_grasstop",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
2019-03-10 23:04:03 +00:00
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:coarse_dirt",
|
|
|
|
|
depth_filler = 2,
|
2019-03-10 23:08:36 +00:00
|
|
|
|
node_riverbed = "mcl_core:redsand",
|
2019-03-10 23:04:03 +00:00
|
|
|
|
depth_riverbed = 1,
|
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay",
|
|
|
|
|
y_min = 30,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2019-03-11 20:44:13 +00:00
|
|
|
|
humidity_point = -5,
|
|
|
|
|
heat_point = 60,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 22,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = "MesaPlateauFM_sandlevel",
|
|
|
|
|
node_top = "mcl_core:redsand",
|
2019-03-11 01:51:59 +00:00
|
|
|
|
depth_top = 3,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
node_filler = "mcl_colorblocks:hardened_clay_orange",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:redsand",
|
|
|
|
|
depth_riverbed = 2,
|
2019-03-11 23:56:35 +00:00
|
|
|
|
node_stone = "mcl_colorblocks:hardened_clay",
|
2019-03-11 13:22:05 +00:00
|
|
|
|
-- red sand has wider reach than in other mesa biomes
|
|
|
|
|
y_min = -7,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
y_max = 11,
|
2019-03-11 20:44:13 +00:00
|
|
|
|
humidity_point = -5,
|
|
|
|
|
heat_point = 60,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
vertical_blend = 4,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 22,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = "MesaPlateauFM_ocean",
|
|
|
|
|
node_top = "mcl_core:sand",
|
|
|
|
|
depth_top = 3,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2019-03-10 23:08:36 +00:00
|
|
|
|
depth_filler = 3,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2019-03-10 23:08:36 +00:00
|
|
|
|
depth_riverbed = 3,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -8,
|
|
|
|
|
vertical_blend = 2,
|
2019-03-11 20:44:13 +00:00
|
|
|
|
humidity_point = -5,
|
|
|
|
|
heat_point = 60,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 22,
|
2019-03-10 23:04:03 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
2017-08-15 17:40:53 +00:00
|
|
|
|
-- Savanna
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Savanna",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2017-09-10 01:41:42 +00:00
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-08-21 00:37:29 +00:00
|
|
|
|
depth_filler = 2,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 36,
|
|
|
|
|
heat_point = 79,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Savanna_beach",
|
2017-09-06 01:34:51 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
depth_top = 3,
|
|
|
|
|
node_filler = "mcl_core:sandstone",
|
|
|
|
|
depth_filler = 2,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = -1,
|
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 36,
|
|
|
|
|
heat_point = 79,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Savanna_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
y_max = -2,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 36,
|
|
|
|
|
heat_point = 79,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-10 01:41:42 +00:00
|
|
|
|
-- Savanna M
|
2017-09-12 19:58:42 +00:00
|
|
|
|
-- Changes to Savanna: Coarse Dirt. No sand beach. No oaks.
|
2017-09-10 01:41:42 +00:00
|
|
|
|
-- Otherwise identical to Savanna
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "SavannaM",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
2017-09-10 01:41:42 +00:00
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:coarse_dirt",
|
2017-09-10 13:01:32 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-10 01:41:42 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 48,
|
|
|
|
|
heat_point = 100,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 23,
|
2017-09-10 01:41:42 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "SavannaM_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-10 01:41:42 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-10 01:41:42 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-10 01:41:42 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 48,
|
|
|
|
|
heat_point = 100,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 23,
|
2017-09-10 01:41:42 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-05 23:50:39 +00:00
|
|
|
|
-- Jungle
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Jungle",
|
2017-08-31 15:27:58 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 88,
|
|
|
|
|
heat_point = 81,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 24,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Jungle_shore",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_top = "mcl_core:dirt",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_min = -2,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 88,
|
|
|
|
|
heat_point = 81,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 24,
|
2017-02-22 22:21:13 +00:00
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Jungle_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -3,
|
|
|
|
|
vertical_blend = 1,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 88,
|
|
|
|
|
heat_point = 81,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 24,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 03:20:03 +00:00
|
|
|
|
-- Jungle M
|
2017-09-12 19:31:33 +00:00
|
|
|
|
-- Like Jungle but with even more dense vegetation
|
2017-09-12 03:20:03 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "JungleM",
|
2017-09-12 03:20:03 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 92,
|
|
|
|
|
heat_point = 81,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 25,
|
2017-09-12 03:20:03 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "JungleM_shore",
|
2017-09-12 03:20:03 +00:00
|
|
|
|
node_top = "mcl_core:dirt",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_min = -2,
|
2017-09-12 03:20:03 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 92,
|
|
|
|
|
heat_point = 81,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 25,
|
2017-09-12 03:20:03 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "JungleM_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-12 03:20:03 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-12 03:20:03 +00:00
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -3,
|
|
|
|
|
vertical_blend = 1,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 92,
|
|
|
|
|
heat_point = 81,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 25,
|
2017-09-12 03:20:03 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Jungle Edge
|
2017-09-08 23:13:21 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "JungleEdge",
|
2017-09-08 23:13:21 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
2017-09-10 01:59:59 +00:00
|
|
|
|
depth_filler = 2,
|
2017-09-08 23:13:21 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 88,
|
|
|
|
|
heat_point = 76,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 26,
|
2017-09-08 23:13:21 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "JungleEdge_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-08 23:13:21 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-10 01:59:59 +00:00
|
|
|
|
depth_filler = 2,
|
2017-09-08 23:13:21 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-08 23:13:21 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 88,
|
|
|
|
|
heat_point = 76,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 26,
|
2017-09-08 23:13:21 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 22:17:39 +00:00
|
|
|
|
-- Jungle Edge M (very rare).
|
2017-09-12 18:40:20 +00:00
|
|
|
|
-- Almost identical to Jungle Edge. Has deeper dirt. Melons spawn here a lot.
|
2017-09-12 22:17:39 +00:00
|
|
|
|
-- This biome occours directly between Jungle M and Jungle Edge but also has a small border to Jungle.
|
|
|
|
|
-- This biome is very small in general.
|
2017-09-08 23:13:21 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "JungleEdgeM",
|
2017-09-10 01:59:59 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 4,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 90,
|
|
|
|
|
heat_point = 79,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 27,
|
2017-09-10 01:59:59 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "JungleEdgeM_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
2017-09-08 23:13:21 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:sand",
|
2017-09-10 01:59:59 +00:00
|
|
|
|
depth_filler = 4,
|
2017-09-08 23:13:21 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-09-10 01:59:59 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 22:17:39 +00:00
|
|
|
|
humidity_point = 90,
|
|
|
|
|
heat_point = 79,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 27,
|
2017-09-08 23:13:21 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-08 17:54:24 +00:00
|
|
|
|
-- Swampland
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Swampland",
|
2017-09-08 17:54:24 +00:00
|
|
|
|
node_top = "mcl_core:dirt_with_grass",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Note: Limited in height!
|
2017-09-08 17:54:24 +00:00
|
|
|
|
y_max = 23,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 90,
|
|
|
|
|
heat_point = 50,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 28,
|
2017-09-08 17:54:24 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Swampland_shore",
|
2017-09-08 17:54:24 +00:00
|
|
|
|
node_top = "mcl_core:dirt",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_min = -5,
|
2017-09-08 17:54:24 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 90,
|
|
|
|
|
heat_point = 50,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 28,
|
2017-09-08 17:54:24 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Swampland_ocean",
|
2017-09-08 17:54:24 +00:00
|
|
|
|
node_top = "mcl_core:sand",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:sand",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2019-03-11 13:22:05 +00:00
|
|
|
|
y_max = -6,
|
|
|
|
|
vertical_blend = 1,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 90,
|
|
|
|
|
heat_point = 50,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 28,
|
2017-09-08 17:54:24 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 18:40:20 +00:00
|
|
|
|
-- Mushroom Island / Mushroom Island Shore (rare)
|
2019-03-11 12:41:19 +00:00
|
|
|
|
-- Not neccessarily an island at all, only named after Minecraft's biome
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MushroomIsland",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_top = "mcl_core:mycelium",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
2017-09-08 15:56:04 +00:00
|
|
|
|
y_min = 4,
|
2017-09-09 17:30:22 +00:00
|
|
|
|
-- Note: Limited in height!
|
2017-08-15 17:40:53 +00:00
|
|
|
|
y_max = 20,
|
2019-03-11 12:50:27 +00:00
|
|
|
|
vertical_blend = 1,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 106,
|
|
|
|
|
heat_point = 50,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 29,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-08 15:56:04 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MushroomIslandShore",
|
2017-09-08 15:56:04 +00:00
|
|
|
|
node_top = "mcl_core:mycelium",
|
|
|
|
|
depth_top = 1,
|
|
|
|
|
node_filler = "mcl_core:dirt",
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = "mcl_core:sand",
|
|
|
|
|
depth_riverbed = 2,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = 3,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 106,
|
|
|
|
|
heat_point = 50,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 29,
|
2017-09-08 15:56:04 +00:00
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "MushroomIsland_ocean",
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_top = 1,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_filler = "mcl_core:gravel",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_filler = 3,
|
2017-09-08 15:44:45 +00:00
|
|
|
|
node_riverbed = "mcl_core:sand",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
depth_riverbed = 2,
|
2017-09-10 12:23:52 +00:00
|
|
|
|
y_min = OCEAN_MIN,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
y_max = 0,
|
2017-09-12 18:40:20 +00:00
|
|
|
|
humidity_point = 106,
|
|
|
|
|
heat_point = 50,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 29,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-13 03:41:43 +00:00
|
|
|
|
-- Add deep ocean and underground biomes automatically.
|
|
|
|
|
for i=1, #overworld_biomes do
|
|
|
|
|
local biome = overworld_biomes[i]
|
|
|
|
|
|
2019-12-22 00:22:05 +00:00
|
|
|
|
-- Deep Ocean
|
2017-09-13 03:41:43 +00:00
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = biome .. "_deep_ocean",
|
|
|
|
|
heat_point = minetest.registered_biomes[biome].heat_point,
|
|
|
|
|
humidity_point = minetest.registered_biomes[biome].humidity_point,
|
|
|
|
|
y_min = DEEP_OCEAN_MIN,
|
|
|
|
|
y_max = DEEP_OCEAN_MAX,
|
2019-12-22 00:22:05 +00:00
|
|
|
|
node_top = minetest.registered_biomes[biome.."_ocean"].node_top,
|
|
|
|
|
depth_top = 2,
|
|
|
|
|
node_filler = minetest.registered_biomes[biome.."_ocean"].node_filler,
|
|
|
|
|
depth_filler = 3,
|
|
|
|
|
node_riverbed = minetest.registered_biomes[biome.."_ocean"].node_riverbed,
|
2017-09-13 03:41:43 +00:00
|
|
|
|
depth_riverbed = 2,
|
2019-03-11 01:51:59 +00:00
|
|
|
|
vertical_blend = 5,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = minetest.registered_biomes[biome]._mcl_biome_type,
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = minetest.registered_biomes[biome]._mcl_palette_index,
|
2017-09-13 03:41:43 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Underground biomes are used to identify the underground and to prevent nodes from the surface
|
|
|
|
|
-- (sand, dirt) from leaking into the underground.
|
|
|
|
|
minetest.register_biome({
|
|
|
|
|
name = biome .. "_underground",
|
|
|
|
|
heat_point = minetest.registered_biomes[biome].heat_point,
|
|
|
|
|
humidity_point = minetest.registered_biomes[biome].humidity_point,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = DEEP_OCEAN_MIN - 1,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = minetest.registered_biomes[biome]._mcl_biome_type,
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = minetest.registered_biomes[biome]._mcl_palette_index,
|
2017-09-13 03:41:43 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
end
|
2017-08-17 21:14:02 +00:00
|
|
|
|
end
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2017-08-17 21:14:02 +00:00
|
|
|
|
-- Register biomes of non-Overworld biomes
|
|
|
|
|
local function register_dimension_biomes()
|
2017-08-15 17:40:53 +00:00
|
|
|
|
--[[ REALMS ]]
|
|
|
|
|
|
|
|
|
|
--[[ THE NETHER ]]
|
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "Nether",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
node_filler = "mcl_nether:netherrack",
|
2017-08-16 14:22:28 +00:00
|
|
|
|
node_stone = "mcl_nether:netherrack",
|
2017-08-18 12:07:35 +00:00
|
|
|
|
node_water = "air",
|
|
|
|
|
node_river_water = "air",
|
2021-04-06 23:34:15 +00:00
|
|
|
|
node_cave_liquid = "air",
|
2017-08-16 14:22:28 +00:00
|
|
|
|
y_min = mcl_vars.mg_nether_min,
|
|
|
|
|
-- FIXME: For some reason the Nether stops generating early if this constant is not added.
|
|
|
|
|
-- Figure out why.
|
|
|
|
|
y_max = mcl_vars.mg_nether_max + 80,
|
2017-08-16 15:01:16 +00:00
|
|
|
|
heat_point = 100,
|
|
|
|
|
humidity_point = 0,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "hot",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 19,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-08-16 15:01:16 +00:00
|
|
|
|
--[[ THE END ]]
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_biome({
|
2017-09-12 19:31:33 +00:00
|
|
|
|
name = "End",
|
2017-08-18 00:42:26 +00:00
|
|
|
|
node_stone = "air",
|
2017-08-18 11:28:20 +00:00
|
|
|
|
node_filler = "air",
|
|
|
|
|
node_water = "air",
|
2017-08-18 00:42:26 +00:00
|
|
|
|
node_river_water = "air",
|
2021-04-06 23:34:15 +00:00
|
|
|
|
node_cave_liquid = "air",
|
2017-08-21 22:22:53 +00:00
|
|
|
|
-- FIXME: For some reason the End stops generating early if this constant is not added.
|
|
|
|
|
-- Figure out why.
|
2017-08-17 21:14:02 +00:00
|
|
|
|
y_min = mcl_vars.mg_end_min,
|
2017-08-21 22:22:53 +00:00
|
|
|
|
y_max = mcl_vars.mg_end_max + 80,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
heat_point = 50,
|
|
|
|
|
humidity_point = 50,
|
2019-03-25 08:04:41 +00:00
|
|
|
|
_mcl_biome_type = "medium",
|
2019-12-13 22:48:13 +00:00
|
|
|
|
_mcl_palette_index = 0,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
2018-01-10 16:55:17 +00:00
|
|
|
|
-- Register ores which are limited by biomes. For all mapgens except flat and singlenode.
|
|
|
|
|
local function register_biome_ores()
|
|
|
|
|
local stonelike = {"mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite"}
|
|
|
|
|
|
|
|
|
|
-- Emeralds
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_core:stone_with_emerald",
|
|
|
|
|
wherein = stonelike,
|
|
|
|
|
clust_scarcity = 16384,
|
|
|
|
|
clust_num_ores = 1,
|
|
|
|
|
clust_size = 1,
|
|
|
|
|
y_min = mcl_worlds.layer_to_y(4),
|
|
|
|
|
y_max = mcl_worlds.layer_to_y(32),
|
2019-03-12 01:13:15 +00:00
|
|
|
|
biomes = {
|
|
|
|
|
"ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean", "ExtremeHills_deep_ocean", "ExtremeHills_underground",
|
|
|
|
|
"ExtremeHills+", "ExtremeHills+_ocean", "ExtremeHills+_deep_ocean", "ExtremeHills+_underground",
|
|
|
|
|
"ExtremeHillsM", "ExtremeHillsM_ocean", "ExtremeHillsM_deep_ocean", "ExtremeHillsM_underground",
|
|
|
|
|
},
|
2018-01-10 16:55:17 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Rarely replace stone with stone monster eggs.
|
|
|
|
|
-- In v6 this can happen anywhere, in other mapgens only in Extreme Hills.
|
|
|
|
|
local monster_egg_scarcity
|
|
|
|
|
if mg_name == "v6" then
|
|
|
|
|
monster_egg_scarcity = 28 * 28 * 28
|
|
|
|
|
else
|
|
|
|
|
monster_egg_scarcity = 26 * 26 * 26
|
|
|
|
|
end
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_monster_eggs:monster_egg_stone",
|
|
|
|
|
wherein = "mcl_core:stone",
|
|
|
|
|
clust_scarcity = monster_egg_scarcity,
|
|
|
|
|
clust_num_ores = 3,
|
|
|
|
|
clust_size = 2,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_worlds.layer_to_y(61),
|
2019-03-12 01:13:15 +00:00
|
|
|
|
biomes = {
|
|
|
|
|
"ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean", "ExtremeHills_deep_ocean", "ExtremeHills_underground",
|
|
|
|
|
"ExtremeHills+", "ExtremeHills+_ocean", "ExtremeHills+_deep_ocean", "ExtremeHills+_underground",
|
|
|
|
|
"ExtremeHillsM", "ExtremeHillsM_ocean", "ExtremeHillsM_deep_ocean", "ExtremeHillsM_underground",
|
|
|
|
|
},
|
2018-01-10 16:55:17 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Bonus gold spawn in Mesa
|
|
|
|
|
if mg_name ~= "v6" then
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_core:stone_with_gold",
|
|
|
|
|
wherein = stonelike,
|
|
|
|
|
clust_scarcity = 3333,
|
|
|
|
|
clust_num_ores = 5,
|
|
|
|
|
clust_size = 3,
|
|
|
|
|
y_min = mcl_worlds.layer_to_y(32),
|
|
|
|
|
y_max = mcl_worlds.layer_to_y(79),
|
2019-03-10 23:04:03 +00:00
|
|
|
|
biomes = { "Mesa", "Mesa_sandlevel", "Mesa_ocean",
|
2019-03-11 20:42:30 +00:00
|
|
|
|
"MesaBryce", "MesaBryce_sandlevel", "MesaBryce_ocean",
|
2019-03-10 23:04:03 +00:00
|
|
|
|
"MesaPlateauF", "MesaPlateauF_sandlevel", "MesaPlateauF_ocean",
|
|
|
|
|
"MesaPlateauFM", "MesaPlateauFM_sandlevel", "MesaPlateauFM_ocean", },
|
2018-01-10 16:55:17 +00:00
|
|
|
|
})
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Register “fake” ores directly related to the biomes. These are mostly low-level landscape alternations
|
2017-08-15 17:40:53 +00:00
|
|
|
|
local function register_biomelike_ores()
|
|
|
|
|
|
2017-09-10 04:30:28 +00:00
|
|
|
|
-- Random coarse dirt floor in Mega Taiga and Mesa Plateau F
|
2017-09-09 03:04:39 +00:00
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "sheet",
|
|
|
|
|
ore = "mcl_core:coarse_dirt",
|
|
|
|
|
wherein = {"mcl_core:podzol", "mcl_core:dirt"},
|
|
|
|
|
clust_scarcity = 1,
|
|
|
|
|
clust_num_ores = 12,
|
|
|
|
|
clust_size = 10,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
noise_threshold = 0.2,
|
|
|
|
|
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "MegaTaiga" },
|
2017-09-09 03:04:39 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-09-10 04:30:28 +00:00
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "sheet",
|
|
|
|
|
ore = "mcl_core:coarse_dirt",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"},
|
2017-09-10 04:30:28 +00:00
|
|
|
|
column_height_max = 1,
|
|
|
|
|
column_midpoint_factor = 0.0,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
noise_threshold = 0.0,
|
|
|
|
|
noise_params = {offset=0, scale=15, spread={x=250, y=250, z=250}, seed=24, octaves=3, persist=0.70},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "MesaPlateauF_grasstop" },
|
2017-09-10 04:30:28 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "blob",
|
|
|
|
|
ore = "mcl_core:coarse_dirt",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"},
|
2017-09-10 04:30:28 +00:00
|
|
|
|
clust_scarcity = 1500,
|
|
|
|
|
clust_num_ores = 25,
|
|
|
|
|
clust_size = 7,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2021-02-18 10:54:51 +00:00
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x=250, y=250, z=250},
|
|
|
|
|
seed = 12345,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
lacunarity = 2,
|
|
|
|
|
flags = "defaults",
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "MesaPlateauF_grasstop" },
|
2017-09-10 04:30:28 +00:00
|
|
|
|
})
|
2019-03-10 23:04:03 +00:00
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "sheet",
|
|
|
|
|
ore = "mcl_core:coarse_dirt",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"},
|
2019-03-10 23:04:03 +00:00
|
|
|
|
column_height_max = 1,
|
|
|
|
|
column_midpoint_factor = 0.0,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
noise_threshold = -2.5,
|
|
|
|
|
noise_params = {offset=1, scale=15, spread={x=250, y=250, z=250}, seed=24, octaves=3, persist=0.80},
|
|
|
|
|
biomes = { "MesaPlateauFM_grasstop" },
|
|
|
|
|
})
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "blob",
|
|
|
|
|
ore = "mcl_core:coarse_dirt",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"},
|
2019-03-10 23:04:03 +00:00
|
|
|
|
clust_scarcity = 1800,
|
|
|
|
|
clust_num_ores = 65,
|
|
|
|
|
clust_size = 15,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2021-02-18 10:54:51 +00:00
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x=250, y=250, z=250},
|
|
|
|
|
seed = 12345,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
lacunarity = 2,
|
|
|
|
|
flags = "defaults",
|
|
|
|
|
},
|
2019-03-10 23:04:03 +00:00
|
|
|
|
biomes = { "MesaPlateauFM_grasstop" },
|
|
|
|
|
})
|
|
|
|
|
-- Occasionally dig out portions of MesaPlateauFM
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "blob",
|
|
|
|
|
ore = "air",
|
|
|
|
|
wherein = {"group:hardened_clay", "group:sand","mcl_core:coarse_dirt"},
|
|
|
|
|
clust_scarcity = 4000,
|
|
|
|
|
clust_size = 5,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2021-02-18 10:54:51 +00:00
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x=250, y=250, z=250},
|
|
|
|
|
seed = 12345,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
lacunarity = 2,
|
|
|
|
|
flags = "defaults",
|
|
|
|
|
},
|
2019-03-10 23:04:03 +00:00
|
|
|
|
biomes = { "MesaPlateauFM", "MesaPlateauFM_grasstop" },
|
|
|
|
|
})
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "blob",
|
|
|
|
|
ore = "mcl_core:redsandstone",
|
|
|
|
|
wherein = {"mcl_colorblocks:hardened_clay_orange"},
|
|
|
|
|
clust_scarcity = 300,
|
|
|
|
|
clust_size = 8,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2021-02-18 10:54:51 +00:00
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x=250, y=250, z=250},
|
|
|
|
|
seed = 12345,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
lacunarity = 2,
|
|
|
|
|
flags = "defaults",
|
|
|
|
|
},
|
2019-03-10 23:04:03 +00:00
|
|
|
|
biomes = { "MesaPlateauFM_sandlevel" },
|
|
|
|
|
})
|
|
|
|
|
-- More red sand in MesaPlateauFM
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "sheet",
|
|
|
|
|
ore = "mcl_core:redsand",
|
|
|
|
|
wherein = {"group:hardened_clay"},
|
|
|
|
|
clust_scarcity = 1,
|
|
|
|
|
clust_num_ores = 12,
|
|
|
|
|
clust_size = 10,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
noise_threshold = 0.1,
|
|
|
|
|
noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=95, octaves=3, persist=0.70},
|
|
|
|
|
biomes = { "MesaPlateauFM" },
|
|
|
|
|
})
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "blob",
|
|
|
|
|
ore = "mcl_core:redsand",
|
|
|
|
|
wherein = {"group:hardened_clay"},
|
|
|
|
|
clust_scarcity = 1500,
|
|
|
|
|
clust_size = 4,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2021-02-18 10:54:51 +00:00
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x=250, y=250, z=250},
|
|
|
|
|
seed = 12345,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
lacunarity = 2,
|
|
|
|
|
flags = "defaults",
|
|
|
|
|
},
|
2019-03-10 23:04:03 +00:00
|
|
|
|
biomes = { "MesaPlateauFM", "MesaPlateauFM_grasstop", "MesaPlateauFM_sandlevel" },
|
|
|
|
|
})
|
2017-09-10 04:30:28 +00:00
|
|
|
|
|
2017-09-09 09:42:15 +00:00
|
|
|
|
-- Small dirt patches in Extreme Hills M
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "blob",
|
|
|
|
|
-- TODO: Should be grass block. But generating this as ore means gras blocks will spawn undeground. :-(
|
|
|
|
|
ore = "mcl_core:dirt",
|
|
|
|
|
wherein = {"mcl_core:gravel"},
|
|
|
|
|
clust_scarcity = 5000,
|
|
|
|
|
clust_num_ores = 12,
|
|
|
|
|
clust_size = 4,
|
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
noise_threshold = 0.2,
|
|
|
|
|
noise_params = {offset=0, scale=5, spread={x=250, y=250, z=250}, seed=64, octaves=3, persist=0.60},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "ExtremeHillsM" },
|
2017-09-09 09:42:15 +00:00
|
|
|
|
})
|
2019-03-10 17:42:53 +00:00
|
|
|
|
-- For a transition from stone to hardened clay in mesa biomes that is not perfectly flat
|
2017-09-13 19:43:15 +00:00
|
|
|
|
minetest.register_ore({
|
2019-03-10 17:42:53 +00:00
|
|
|
|
ore_type = "stratum",
|
2017-09-13 19:43:15 +00:00
|
|
|
|
ore = "mcl_core:stone",
|
2019-03-10 17:42:53 +00:00
|
|
|
|
wherein = {"group:hardened_clay"},
|
|
|
|
|
noise_params = {offset=-6, scale=2, spread={x=25, y=25, z=25}, octaves=1, persist=0.60},
|
|
|
|
|
stratum_thickness = 8,
|
2017-09-13 19:43:15 +00:00
|
|
|
|
biomes = {
|
2019-03-10 17:42:53 +00:00
|
|
|
|
"Mesa_sandlevel", "Mesa_ocean",
|
2019-03-11 20:42:30 +00:00
|
|
|
|
"MesaBryce_sandlevel", "MesaBryce_ocean",
|
2019-03-10 17:42:53 +00:00
|
|
|
|
"MesaPlateauF_sandlevel", "MesaPlateauF_ocean",
|
2019-03-10 23:04:03 +00:00
|
|
|
|
"MesaPlateauFM_sandlevel", "MesaPlateauFM_ocean",
|
2017-09-13 19:43:15 +00:00
|
|
|
|
},
|
2019-03-10 17:42:53 +00:00
|
|
|
|
y_min = -4,
|
2017-09-13 19:43:15 +00:00
|
|
|
|
y_max = 0,
|
|
|
|
|
|
2019-03-10 17:42:53 +00:00
|
|
|
|
})
|
2017-09-13 19:43:15 +00:00
|
|
|
|
|
2017-09-10 00:49:02 +00:00
|
|
|
|
-- Mesa strata (registered as sheet ores)
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2017-09-13 19:43:15 +00:00
|
|
|
|
-- Helper function to create strata.
|
2019-03-11 22:00:59 +00:00
|
|
|
|
local stratum = function(y_min, height, color, seed, is_perfect)
|
2017-09-10 00:44:47 +00:00
|
|
|
|
if not height then
|
|
|
|
|
height = 1
|
|
|
|
|
end
|
|
|
|
|
if not seed then
|
|
|
|
|
seed = 39
|
|
|
|
|
end
|
|
|
|
|
local y_max = y_min + height-1
|
2019-03-11 22:00:59 +00:00
|
|
|
|
local perfect_biomes
|
|
|
|
|
if is_perfect then
|
|
|
|
|
-- "perfect" means no erosion
|
|
|
|
|
perfect_biomes = { "MesaBryce", "Mesa", "MesaPlateauF", "MesaPlateauFM" }
|
|
|
|
|
else
|
|
|
|
|
perfect_biomes = { "MesaBryce" }
|
|
|
|
|
end
|
|
|
|
|
-- Full, perfect stratum
|
2019-03-11 00:57:00 +00:00
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "stratum",
|
|
|
|
|
ore = "mcl_colorblocks:hardened_clay_"..color,
|
2019-03-11 23:26:33 +00:00
|
|
|
|
-- Only paint uncolored so the biome can choose
|
|
|
|
|
-- a color in advance.
|
2019-03-11 00:57:00 +00:00
|
|
|
|
wherein = {"mcl_colorblocks:hardened_clay"},
|
|
|
|
|
y_min = y_min,
|
|
|
|
|
y_max = y_max,
|
2019-03-11 22:00:59 +00:00
|
|
|
|
biomes = perfect_biomes,
|
2019-03-11 00:57:00 +00:00
|
|
|
|
})
|
2019-03-11 22:00:59 +00:00
|
|
|
|
if not is_perfect then
|
|
|
|
|
-- Slightly eroded stratum, only minor imperfections
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "stratum",
|
|
|
|
|
ore = "mcl_colorblocks:hardened_clay_"..color,
|
|
|
|
|
wherein = {"mcl_colorblocks:hardened_clay"},
|
|
|
|
|
y_min = y_min,
|
|
|
|
|
y_max = y_max,
|
|
|
|
|
biomes = { "Mesa", "MesaPlateauF" },
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = y_min+(y_max-y_min)/2,
|
|
|
|
|
scale = 0,
|
|
|
|
|
spread = {x = 50, y = 50, z = 50},
|
|
|
|
|
seed = seed+4,
|
|
|
|
|
octaves = 1,
|
|
|
|
|
persist = 1.0
|
|
|
|
|
},
|
|
|
|
|
np_stratum_thickness = {
|
|
|
|
|
offset = 1.28,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x = 18, y = 18, z = 18},
|
|
|
|
|
seed = seed+4,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.8,
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
-- Very eroded stratum, most of the color is gone
|
2017-09-09 22:55:32 +00:00
|
|
|
|
minetest.register_ore({
|
2019-03-10 17:47:27 +00:00
|
|
|
|
ore_type = "stratum",
|
2017-09-13 19:49:06 +00:00
|
|
|
|
ore = "mcl_colorblocks:hardened_clay_"..color,
|
2017-09-09 22:55:32 +00:00
|
|
|
|
wherein = {"mcl_colorblocks:hardened_clay"},
|
|
|
|
|
y_min = y_min,
|
|
|
|
|
y_max = y_max,
|
2019-03-11 00:57:00 +00:00
|
|
|
|
biomes = { "MesaPlateauFM" },
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = y_min+(y_max-y_min)/2,
|
|
|
|
|
scale = 0,
|
|
|
|
|
spread = {x = 50, y = 50, z = 50},
|
|
|
|
|
seed = seed+4,
|
|
|
|
|
octaves = 1,
|
|
|
|
|
persist = 1.0
|
|
|
|
|
},
|
|
|
|
|
np_stratum_thickness = {
|
|
|
|
|
offset = 0.1,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x = 28, y = 28, z = 28},
|
|
|
|
|
seed = seed+4,
|
|
|
|
|
octaves = 2,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
2017-09-09 22:55:32 +00:00
|
|
|
|
})
|
2019-03-11 22:00:59 +00:00
|
|
|
|
end
|
2019-03-11 00:57:00 +00:00
|
|
|
|
|
2017-09-09 22:55:32 +00:00
|
|
|
|
end
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2019-03-11 23:26:33 +00:00
|
|
|
|
-- Hardcoded orange strata near sea level.
|
|
|
|
|
|
|
|
|
|
-- For MesaBryce, since it has no sand at these heights
|
2019-03-11 23:46:08 +00:00
|
|
|
|
stratum(4, 1, "orange", nil, true)
|
2019-03-11 23:26:33 +00:00
|
|
|
|
stratum(7, 2, "orange", nil, true)
|
|
|
|
|
|
|
|
|
|
-- 3-level stratum above the sandlevel (all mesa biomes)
|
|
|
|
|
stratum(11, 3, "orange", nil, true)
|
2017-09-10 00:44:47 +00:00
|
|
|
|
|
2017-09-13 20:50:21 +00:00
|
|
|
|
-- Create random strata for up to Y = 256.
|
|
|
|
|
-- These strata are calculated based on the world seed and are global.
|
2019-03-11 23:26:33 +00:00
|
|
|
|
-- They are thus different per-world.
|
|
|
|
|
local mesapr = PcgRandom(mg_seed)
|
2017-09-13 20:50:21 +00:00
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
|
|
|
|
|
------ DANGER ZONE! ------
|
|
|
|
|
|
|
|
|
|
The following code is sensitive to changes; changing any number may break
|
|
|
|
|
mapgen consistency when the mapgen generates new mapchunks in existing
|
|
|
|
|
worlds because the random generator will yield different results and the strata
|
|
|
|
|
suddenly don't match up anymore. ]]
|
|
|
|
|
|
|
|
|
|
-- Available Mesa colors:
|
|
|
|
|
local mesa_stratum_colors = { "silver", "brown", "orange", "red", "yellow", "white" }
|
|
|
|
|
|
|
|
|
|
-- Start level
|
|
|
|
|
local y = 17
|
|
|
|
|
|
|
|
|
|
-- Generate stratas
|
2017-09-10 00:44:47 +00:00
|
|
|
|
repeat
|
2017-09-13 20:50:21 +00:00
|
|
|
|
-- Each stratum has a color (duh!)
|
|
|
|
|
local colorid = mesapr:next(1, #mesa_stratum_colors)
|
|
|
|
|
|
|
|
|
|
-- … and a random thickness
|
|
|
|
|
local heightrandom = mesapr:next(1, 12)
|
|
|
|
|
local h
|
|
|
|
|
if heightrandom == 12 then
|
|
|
|
|
h = 4
|
|
|
|
|
elseif heightrandom >= 10 then
|
|
|
|
|
h = 3
|
|
|
|
|
elseif heightrandom >= 8 then
|
|
|
|
|
h = 2
|
|
|
|
|
else
|
|
|
|
|
h = 1
|
|
|
|
|
end
|
|
|
|
|
-- Small built-in bias: Only thin strata up to this Y level
|
|
|
|
|
if y < 45 then
|
|
|
|
|
h = math.min(h, 2)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Register stratum
|
|
|
|
|
stratum(y, h, mesa_stratum_colors[colorid])
|
|
|
|
|
|
|
|
|
|
-- Skip a random amount of layers (which won't get painted)
|
|
|
|
|
local skiprandom = mesapr:next(1, 12)
|
|
|
|
|
local skip
|
|
|
|
|
if skiprandom == 12 then
|
|
|
|
|
skip = 4
|
|
|
|
|
elseif skiprandom >= 10 then
|
|
|
|
|
skip = 3
|
|
|
|
|
elseif skiprandom >= 5 then
|
|
|
|
|
skip = 2
|
|
|
|
|
elseif skiprandom >= 2 then
|
|
|
|
|
skip = 1
|
|
|
|
|
else
|
|
|
|
|
-- If this happens, the next stratum will touch the previous one without gap
|
|
|
|
|
skip = 0
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Get height of next stratum or finish
|
|
|
|
|
y = y + h + skip
|
|
|
|
|
until y > 256
|
|
|
|
|
|
|
|
|
|
--[[ END OF DANGER ZONE ]]
|
2017-08-17 21:14:02 +00:00
|
|
|
|
end
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2017-08-17 21:14:02 +00:00
|
|
|
|
-- Non-Overworld ores
|
|
|
|
|
local function register_dimension_ores()
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
|
|
|
|
--[[ NETHER GENERATION ]]
|
|
|
|
|
|
|
|
|
|
-- Soul sand
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "sheet",
|
|
|
|
|
ore = "mcl_nether:soul_sand",
|
2017-08-17 21:58:35 +00:00
|
|
|
|
-- Note: Stone is included only for v6 mapgen support. Netherrack is not generated naturally
|
|
|
|
|
-- in v6, but instead set with the on_generated function in mcl_mapgen_core.
|
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
2017-08-15 17:40:53 +00:00
|
|
|
|
clust_scarcity = 13 * 13 * 13,
|
|
|
|
|
clust_size = 5,
|
2017-08-16 14:22:28 +00:00
|
|
|
|
y_min = mcl_vars.mg_nether_min,
|
2017-11-24 02:10:02 +00:00
|
|
|
|
y_max = mcl_worlds.layer_to_y(64, "nether"),
|
2017-08-15 17:40:53 +00:00
|
|
|
|
noise_threshold = 0.0,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.5,
|
|
|
|
|
scale = 0.1,
|
|
|
|
|
spread = {x = 5, y = 5, z = 5},
|
|
|
|
|
seed = 2316,
|
|
|
|
|
octaves = 1,
|
|
|
|
|
persist = 0.0
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Magma blocks
|
|
|
|
|
minetest.register_ore({
|
2017-08-16 15:01:16 +00:00
|
|
|
|
ore_type = "blob",
|
|
|
|
|
ore = "mcl_nether:magma",
|
2017-08-17 21:58:35 +00:00
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
2017-08-17 22:53:07 +00:00
|
|
|
|
clust_scarcity = 8*8*8,
|
|
|
|
|
clust_num_ores = 45,
|
|
|
|
|
clust_size = 6,
|
2017-11-24 02:10:02 +00:00
|
|
|
|
y_min = mcl_worlds.layer_to_y(23, "nether"),
|
|
|
|
|
y_max = mcl_worlds.layer_to_y(37, "nether"),
|
2021-02-18 10:54:51 +00:00
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x=250, y=250, z=250},
|
|
|
|
|
seed = 12345,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
lacunarity = 2,
|
|
|
|
|
flags = "defaults",
|
|
|
|
|
},
|
2017-08-17 03:35:06 +00:00
|
|
|
|
})
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "blob",
|
|
|
|
|
ore = "mcl_nether:magma",
|
|
|
|
|
wherein = {"mcl_nether:netherrack"},
|
2017-08-17 22:53:07 +00:00
|
|
|
|
clust_scarcity = 10*10*10,
|
|
|
|
|
clust_num_ores = 65,
|
|
|
|
|
clust_size = 8,
|
2017-11-24 02:10:02 +00:00
|
|
|
|
y_min = mcl_worlds.layer_to_y(23, "nether"),
|
|
|
|
|
y_max = mcl_worlds.layer_to_y(37, "nether"),
|
2021-02-18 10:54:51 +00:00
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
|
|
|
|
scale = 1,
|
|
|
|
|
spread = {x=250, y=250, z=250},
|
|
|
|
|
seed = 12345,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
lacunarity = 2,
|
|
|
|
|
flags = "defaults",
|
|
|
|
|
},
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Glowstone
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "blob",
|
|
|
|
|
ore = "mcl_nether:glowstone",
|
2017-08-17 21:58:35 +00:00
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
2017-08-15 17:40:53 +00:00
|
|
|
|
clust_scarcity = 26 * 26 * 26,
|
|
|
|
|
clust_size = 5,
|
2017-08-16 15:01:16 +00:00
|
|
|
|
y_min = mcl_vars.mg_lava_nether_max + 10,
|
2017-08-16 14:22:28 +00:00
|
|
|
|
y_max = mcl_vars.mg_nether_max,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
noise_threshold = 0.0,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.5,
|
|
|
|
|
scale = 0.1,
|
|
|
|
|
spread = {x = 5, y = 5, z = 5},
|
|
|
|
|
seed = 17676,
|
|
|
|
|
octaves = 1,
|
|
|
|
|
persist = 0.0
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
2017-08-16 15:31:28 +00:00
|
|
|
|
-- Gravel (Nether)
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "sheet",
|
|
|
|
|
ore = "mcl_core:gravel",
|
2017-08-17 21:58:35 +00:00
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
2017-08-16 15:31:28 +00:00
|
|
|
|
column_height_min = 1,
|
|
|
|
|
column_height_max = 1,
|
2017-08-31 14:28:16 +00:00
|
|
|
|
column_midpoint_factor = 0,
|
2017-11-24 02:10:02 +00:00
|
|
|
|
y_min = mcl_worlds.layer_to_y(63, "nether"),
|
2017-08-31 14:28:16 +00:00
|
|
|
|
-- This should be 65, but for some reason with this setting, the sheet ore really stops at 65. o_O
|
2017-11-24 02:10:02 +00:00
|
|
|
|
y_max = mcl_worlds.layer_to_y(65+2, "nether"),
|
2017-08-31 14:28:16 +00:00
|
|
|
|
noise_threshold = 0.2,
|
2017-08-16 15:31:28 +00:00
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0,
|
2017-08-31 14:28:16 +00:00
|
|
|
|
scale = 0.5,
|
|
|
|
|
spread = {x = 20, y = 20, z = 20},
|
2017-08-16 15:31:28 +00:00
|
|
|
|
seed = 766,
|
2017-08-31 14:28:16 +00:00
|
|
|
|
octaves = 3,
|
2017-08-16 15:31:28 +00:00
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
2017-08-16 15:01:16 +00:00
|
|
|
|
-- Nether quartz
|
2021-03-18 08:48:18 +00:00
|
|
|
|
if minetest.settings:get_bool("mcl_generate_ores", true) then
|
2021-02-22 19:12:33 +00:00
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_nether:quartz_ore",
|
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
|
|
|
|
clust_scarcity = 850,
|
|
|
|
|
clust_num_ores = 4, -- MC cluster amount: 4-10
|
|
|
|
|
clust_size = 3,
|
|
|
|
|
y_min = mcl_vars.mg_nether_min,
|
|
|
|
|
y_max = mcl_vars.mg_nether_max,
|
|
|
|
|
})
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_nether:quartz_ore",
|
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
|
|
|
|
clust_scarcity = 1650,
|
|
|
|
|
clust_num_ores = 8, -- MC cluster amount: 4-10
|
|
|
|
|
clust_size = 4,
|
|
|
|
|
y_min = mcl_vars.mg_nether_min,
|
|
|
|
|
y_max = mcl_vars.mg_nether_max,
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2021-04-16 10:03:31 +00:00
|
|
|
|
-- Ancient debris
|
|
|
|
|
if minetest.settings:get_bool("mcl_generate_ores", true) then
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_nether:ancient_debris",
|
|
|
|
|
wherein = {"mcl_nether:netherrack"},
|
|
|
|
|
clust_scarcity = 10000,
|
|
|
|
|
clust_num_ores = 4,
|
|
|
|
|
clust_size = 1,
|
|
|
|
|
y_min = mcl_worlds.layer_to_y(8, "nether"),
|
|
|
|
|
y_max = mcl_worlds.layer_to_y(119, "nether"),
|
|
|
|
|
})
|
|
|
|
|
end
|
|
|
|
|
|
2017-08-16 15:08:33 +00:00
|
|
|
|
-- Lava springs in the Nether
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_nether:nether_lava_source",
|
2017-08-17 21:58:35 +00:00
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
2017-08-16 15:08:33 +00:00
|
|
|
|
clust_scarcity = 500,
|
|
|
|
|
clust_num_ores = 1,
|
|
|
|
|
clust_size = 1,
|
2017-08-16 14:22:28 +00:00
|
|
|
|
y_min = mcl_vars.mg_nether_min,
|
2017-08-16 15:08:33 +00:00
|
|
|
|
y_max = mcl_vars.mg_lava_nether_max + 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-08-16 15:08:33 +00:00
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_nether:nether_lava_source",
|
2017-08-17 21:58:35 +00:00
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
2017-08-16 15:08:33 +00:00
|
|
|
|
clust_scarcity = 1000,
|
|
|
|
|
clust_num_ores = 1,
|
|
|
|
|
clust_size = 1,
|
|
|
|
|
y_min = mcl_vars.mg_lava_nether_max + 2,
|
|
|
|
|
y_max = mcl_vars.mg_lava_nether_max + 12,
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_nether:nether_lava_source",
|
2017-08-17 21:58:35 +00:00
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
2017-08-16 15:08:33 +00:00
|
|
|
|
clust_scarcity = 2000,
|
|
|
|
|
clust_num_ores = 1,
|
|
|
|
|
clust_size = 1,
|
|
|
|
|
y_min = mcl_vars.mg_lava_nether_max + 13,
|
|
|
|
|
y_max = mcl_vars.mg_lava_nether_max + 48,
|
|
|
|
|
})
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "scatter",
|
|
|
|
|
ore = "mcl_nether:nether_lava_source",
|
2017-08-17 21:58:35 +00:00
|
|
|
|
wherein = {"mcl_nether:netherrack", "mcl_core:stone"},
|
2017-08-16 15:08:33 +00:00
|
|
|
|
clust_scarcity = 3500,
|
|
|
|
|
clust_num_ores = 1,
|
|
|
|
|
clust_size = 1,
|
|
|
|
|
y_min = mcl_vars.mg_lava_nether_max + 49,
|
|
|
|
|
y_max = mcl_vars.mg_nether_max,
|
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
|
|
|
|
--[[ THE END ]]
|
|
|
|
|
|
|
|
|
|
-- Generate fake End
|
2019-03-09 17:52:24 +00:00
|
|
|
|
-- TODO: Remove the "ores" when there's a better End generator
|
|
|
|
|
-- FIXME: Broken lighting in v6 mapgen
|
|
|
|
|
|
|
|
|
|
local end_wherein
|
|
|
|
|
if mg_name == "v6" then
|
|
|
|
|
end_wherein = {"air", "mcl_core:stone"}
|
|
|
|
|
else
|
|
|
|
|
end_wherein = {"air"}
|
|
|
|
|
end
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
|
|
|
|
minetest.register_ore({
|
2019-03-09 17:52:24 +00:00
|
|
|
|
ore_type = "stratum",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
ore = "mcl_end:end_stone",
|
2019-03-09 17:52:24 +00:00
|
|
|
|
wherein = end_wherein,
|
2017-08-18 00:42:26 +00:00
|
|
|
|
y_min = mcl_vars.mg_end_min+64,
|
2019-03-09 20:20:37 +00:00
|
|
|
|
y_max = mcl_vars.mg_end_min+80,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
|
2017-08-18 00:42:26 +00:00
|
|
|
|
noise_params = {
|
2019-03-09 17:52:24 +00:00
|
|
|
|
offset = mcl_vars.mg_end_min+70,
|
|
|
|
|
scale = -1,
|
|
|
|
|
spread = {x=126, y=126, z=126},
|
2019-03-09 18:15:10 +00:00
|
|
|
|
seed = mg_seed+9999,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.5,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
np_stratum_thickness = {
|
2017-08-18 00:42:26 +00:00
|
|
|
|
offset = -2,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
scale = 10,
|
|
|
|
|
spread = {x=126, y=126, z=126},
|
2019-03-09 18:15:10 +00:00
|
|
|
|
seed = mg_seed+9999,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.5,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
},
|
2019-03-09 17:52:24 +00:00
|
|
|
|
clust_scarcity = 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
minetest.register_ore({
|
2019-03-09 17:52:24 +00:00
|
|
|
|
ore_type = "stratum",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
ore = "mcl_end:end_stone",
|
2019-03-09 17:52:24 +00:00
|
|
|
|
wherein = end_wherein,
|
2017-08-18 00:42:26 +00:00
|
|
|
|
y_min = mcl_vars.mg_end_min+64,
|
2019-03-09 20:20:37 +00:00
|
|
|
|
y_max = mcl_vars.mg_end_min+80,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
|
2017-08-18 00:42:26 +00:00
|
|
|
|
noise_params = {
|
2019-03-09 17:52:24 +00:00
|
|
|
|
offset = mcl_vars.mg_end_min+72,
|
|
|
|
|
scale = -3,
|
|
|
|
|
spread = {x=84, y=84, z=84},
|
2019-03-09 18:15:10 +00:00
|
|
|
|
seed = mg_seed+999,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.8,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
np_stratum_thickness = {
|
2017-08-18 00:42:26 +00:00
|
|
|
|
offset = -4,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
scale = 10,
|
|
|
|
|
spread = {x=84, y=84, z=84},
|
2019-03-09 18:15:10 +00:00
|
|
|
|
seed = mg_seed+999,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.8,
|
|
|
|
|
},
|
|
|
|
|
clust_scarcity = 1,
|
|
|
|
|
})
|
|
|
|
|
minetest.register_ore({
|
|
|
|
|
ore_type = "stratum",
|
|
|
|
|
ore = "mcl_end:end_stone",
|
|
|
|
|
wherein = end_wherein,
|
|
|
|
|
y_min = mcl_vars.mg_end_min+64,
|
2019-03-09 20:20:37 +00:00
|
|
|
|
y_max = mcl_vars.mg_end_min+80,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = mcl_vars.mg_end_min+70,
|
|
|
|
|
scale = -2,
|
|
|
|
|
spread = {x=84, y=84, z=84},
|
2019-03-09 18:15:10 +00:00
|
|
|
|
seed = mg_seed+99,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.85,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
},
|
2019-03-09 17:52:24 +00:00
|
|
|
|
|
|
|
|
|
np_stratum_thickness = {
|
|
|
|
|
offset = -3,
|
|
|
|
|
scale = 5,
|
|
|
|
|
spread = {x=63, y=63, z=63},
|
2019-03-09 18:15:10 +00:00
|
|
|
|
seed = mg_seed+50,
|
2019-03-09 17:52:24 +00:00
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.85,
|
|
|
|
|
},
|
|
|
|
|
clust_scarcity = 1,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- All mapgens except mgv6
|
|
|
|
|
|
2017-09-05 19:30:02 +00:00
|
|
|
|
-- Template to register a grass or fern decoration
|
2019-12-13 22:48:13 +00:00
|
|
|
|
local function register_grass_decoration(grasstype, offset, scale, biomes)
|
2017-09-05 19:30:02 +00:00
|
|
|
|
local place_on, seed, node
|
|
|
|
|
if grasstype == "fern" then
|
|
|
|
|
node = "mcl_flowers:fern"
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:podzol"}
|
2017-09-05 19:30:02 +00:00
|
|
|
|
seed = 333
|
|
|
|
|
elseif grasstype == "tallgrass" then
|
|
|
|
|
node = "mcl_flowers:tallgrass"
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"}
|
2017-11-14 22:44:53 +00:00
|
|
|
|
seed = 420
|
2017-08-21 12:04:34 +00:00
|
|
|
|
end
|
|
|
|
|
local noise = {
|
2017-08-21 00:25:22 +00:00
|
|
|
|
offset = offset,
|
|
|
|
|
scale = scale,
|
|
|
|
|
spread = {x = 200, y = 200, z = 200},
|
2017-09-05 19:30:02 +00:00
|
|
|
|
seed = seed,
|
2017-08-21 00:25:22 +00:00
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
}
|
2019-12-13 22:48:13 +00:00
|
|
|
|
for b=1, #biomes do
|
|
|
|
|
local param2 = minetest.registered_biomes[biomes[b]]._mcl_palette_index
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = place_on,
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = noise,
|
|
|
|
|
biomes = { biomes[b] },
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = node,
|
|
|
|
|
param2 = param2,
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-08-21 00:25:22 +00:00
|
|
|
|
end
|
|
|
|
|
|
2019-12-18 17:42:04 +00:00
|
|
|
|
local function register_seagrass_decoration(grasstype, offset, scale, biomes)
|
|
|
|
|
local seed, nodes, surfaces, param2, param2_max, y_max
|
|
|
|
|
if grasstype == "seagrass" then
|
|
|
|
|
seed = 16
|
|
|
|
|
surfaces = { "mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel", "mcl_core:redsand" }
|
|
|
|
|
nodes = { "mcl_ocean:seagrass_dirt", "mcl_ocean:seagrass_sand", "mcl_ocean:seagrass_gravel", "mcl_ocean:seagrass_redsand" }
|
|
|
|
|
y_max = 0
|
|
|
|
|
elseif grasstype == "kelp" then
|
|
|
|
|
seed = 32
|
|
|
|
|
param2 = 16
|
|
|
|
|
param2_max = 96
|
|
|
|
|
surfaces = { "mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel" }
|
|
|
|
|
nodes = { "mcl_ocean:kelp_dirt", "mcl_ocean:kelp_sand", "mcl_ocean:kelp_gravel" }
|
|
|
|
|
y_max = -6
|
|
|
|
|
end
|
|
|
|
|
local noise = {
|
|
|
|
|
offset = offset,
|
|
|
|
|
scale = scale,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = seed,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for s=1, #surfaces do
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = { surfaces[s] },
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = noise,
|
|
|
|
|
biomes = biomes,
|
2019-12-18 20:04:07 +00:00
|
|
|
|
y_min = DEEP_OCEAN_MIN,
|
2019-12-18 17:42:04 +00:00
|
|
|
|
y_max = y_max,
|
|
|
|
|
decoration = nodes[s],
|
|
|
|
|
param2 = param2,
|
|
|
|
|
param2_max = param2_max,
|
|
|
|
|
place_offset_y = -1,
|
|
|
|
|
flags = "force_placement",
|
|
|
|
|
})
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-15 17:40:53 +00:00
|
|
|
|
local function register_decorations()
|
2017-09-04 04:32:30 +00:00
|
|
|
|
-- Large ice spike
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"mcl_core:snowblock", "mcl_core:snow", "group:grass_block_snow"},
|
2017-09-04 04:32:30 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.00040,
|
|
|
|
|
scale = 0.001,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 1133,
|
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.67,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"IcePlainsSpikes"},
|
2017-09-04 04:32:30 +00:00
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_structures").."/schematics/mcl_structures_ice_spike_large.mts",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Small ice spike
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"mcl_core:snowblock", "mcl_core:snow", "group:grass_block_snow"},
|
2017-09-04 04:32:30 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.005,
|
|
|
|
|
scale = 0.001,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 1133,
|
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.67,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"IcePlainsSpikes"},
|
2017-09-04 04:32:30 +00:00
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_structures").."/schematics/mcl_structures_ice_spike_small.mts",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
|
|
|
|
|
2017-08-31 03:38:25 +00:00
|
|
|
|
-- Oak
|
2017-09-08 17:54:24 +00:00
|
|
|
|
-- Large oaks
|
2018-05-13 16:03:57 +00:00
|
|
|
|
for i=1, 4 do
|
2017-09-09 09:42:15 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
2018-05-13 16:03:57 +00:00
|
|
|
|
offset = 0.000545,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
scale = 0.0011,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
2018-05-13 16:03:57 +00:00
|
|
|
|
seed = 3 + 5 * i,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Forest"},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_large_"..i..".mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block", "mcl_core:dirt", },
|
2017-09-09 09:42:15 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
2018-05-13 16:39:47 +00:00
|
|
|
|
offset = -0.0007,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
scale = 0.001,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 3,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"ExtremeHills", "ExtremeHillsM", "ExtremeHills+", "ExtremeHills+_snowtop"},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_large_"..i..".mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-09-12 19:54:42 +00:00
|
|
|
|
-- Small “classic” oak (many biomes)
|
2017-09-05 06:18:00 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
sidelen = 16,
|
2017-09-05 06:18:00 +00:00
|
|
|
|
noise_params = {
|
2017-09-09 09:42:15 +00:00
|
|
|
|
offset = 0.025,
|
|
|
|
|
scale = 0.0022,
|
2017-09-05 06:18:00 +00:00
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
seed = 2,
|
2017-09-05 06:18:00 +00:00
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Forest"},
|
2017-09-05 06:18:00 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
2017-09-05 06:18:00 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
sidelen = 16,
|
2017-09-05 06:18:00 +00:00
|
|
|
|
noise_params = {
|
2017-09-09 09:42:15 +00:00
|
|
|
|
offset = 0.01,
|
|
|
|
|
scale = 0.0022,
|
2017-09-05 06:18:00 +00:00
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
seed = 2,
|
2017-09-05 06:18:00 +00:00
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"FlowerForest"},
|
2017-09-05 06:18:00 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
2017-09-05 06:18:00 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block", "mcl_core:dirt", },
|
2017-08-15 17:40:53 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
2017-09-09 09:42:15 +00:00
|
|
|
|
offset = 0.0,
|
|
|
|
|
scale = 0.002,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
persist = 0.7
|
2017-08-15 17:40:53 +00:00
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"ExtremeHills", "ExtremeHillsM", "ExtremeHills+", "ExtremeHills+_snowtop"},
|
2017-08-15 17:40:53 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-08-31 02:56:09 +00:00
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-08-21 11:43:16 +00:00
|
|
|
|
rotation = "random",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
2017-09-09 09:42:15 +00:00
|
|
|
|
|
2017-09-08 22:19:24 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block", "mcl_core:dirt"},
|
2017-09-08 22:19:24 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
2017-09-09 09:42:15 +00:00
|
|
|
|
offset = 0.006,
|
|
|
|
|
scale = 0.002,
|
2017-09-08 22:19:24 +00:00
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
persist = 0.7
|
2017-09-08 22:19:24 +00:00
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"ExtremeHills+", "ExtremeHills+_snowtop"},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_min = 50,
|
2017-09-08 22:19:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-09-10 01:16:49 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
place_on = {"mcl_core:dirt_with_grass", "mcl_core:dirt"},
|
2017-09-10 01:16:49 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.015,
|
|
|
|
|
scale = 0.002,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.7
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"MesaPlateauF_grasstop"},
|
2017-09-10 01:16:49 +00:00
|
|
|
|
y_min = 30,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2019-03-10 23:04:03 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
place_on = {"mcl_core:dirt_with_grass", "mcl_core:dirt"},
|
2019-03-10 23:04:03 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.008,
|
|
|
|
|
scale = 0.002,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.7
|
|
|
|
|
},
|
|
|
|
|
biomes = {"MesaPlateauFM_grasstop"},
|
|
|
|
|
y_min = 30,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-09-09 09:42:15 +00:00
|
|
|
|
|
2017-09-06 02:32:49 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block", "mcl_core:dirt", },
|
2017-09-06 02:32:49 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0,
|
|
|
|
|
scale = 0.0002,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.7
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"IcePlains"},
|
2017-09-06 02:32:49 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-09-12 19:54:42 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-12 19:54:42 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.004,
|
|
|
|
|
biomes = {"Jungle", "JungleM"},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-12 19:54:42 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.0004,
|
2017-09-12 19:58:42 +00:00
|
|
|
|
biomes = {"JungleEdge", "JungleEdgeM", "Savanna"},
|
2017-09-12 19:54:42 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_classic.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
2017-09-08 17:54:24 +00:00
|
|
|
|
-- Rare balloon oak
|
2017-08-31 16:32:52 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-08-31 16:32:52 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.002083,
|
|
|
|
|
scale = 0.0022,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 3,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Forest"},
|
2017-08-31 16:32:52 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-05 13:18:58 +00:00
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_balloon.mts",
|
2017-08-31 16:32:52 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2019-12-18 17:42:04 +00:00
|
|
|
|
|
2017-09-08 17:54:24 +00:00
|
|
|
|
-- Swamp oak
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-08 17:54:24 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0055,
|
|
|
|
|
scale = 0.0011,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 5005,
|
|
|
|
|
octaves = 5,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Swampland", "Swampland_shore"},
|
2017-09-08 17:54:24 +00:00
|
|
|
|
y_min = 0,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_oak_swamp.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2017-08-31 03:38:25 +00:00
|
|
|
|
-- Jungle tree
|
2017-09-12 03:35:02 +00:00
|
|
|
|
|
|
|
|
|
-- Huge jungle tree (2 variants)
|
|
|
|
|
for i=1, 2 do
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-12 03:35:02 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.00125,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Jungle"},
|
2017-09-12 03:35:02 +00:00
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_jungle_tree_huge_"..i..".mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-12 03:35:02 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.004,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"JungleM"},
|
2017-09-12 03:35:02 +00:00
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_jungle_tree_huge_"..i..".mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Common jungle tree
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-08-15 17:40:53 +00:00
|
|
|
|
sidelen = 80,
|
2017-08-31 16:04:40 +00:00
|
|
|
|
fill_ratio = 0.045,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Jungle"},
|
2017-08-31 16:04:40 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_jungle_tree.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-09-08 23:13:21 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-08 23:13:21 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.0045,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"JungleEdge", "JungleEdgeM"},
|
2017-09-08 23:13:21 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_jungle_tree.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 03:20:03 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-12 03:20:03 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.09,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"JungleM"},
|
2017-09-12 03:20:03 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_jungle_tree.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
|
2017-08-31 03:38:25 +00:00
|
|
|
|
-- Spruce
|
2017-09-09 09:42:15 +00:00
|
|
|
|
local function quick_spruce(seed, offset, sprucename, biomes, y)
|
|
|
|
|
if not y then
|
2017-11-15 05:23:46 +00:00
|
|
|
|
y = 1
|
2017-09-09 09:42:15 +00:00
|
|
|
|
end
|
2017-09-06 00:29:37 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block", "mcl_core:dirt", "mcl_core:podzol"},
|
2017-09-06 00:29:37 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = offset,
|
|
|
|
|
scale = 0.0006,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = seed,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
|
|
|
|
biomes = biomes,
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_min = y,
|
2017-09-06 00:29:37 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/"..sprucename,
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-09-05 02:17:35 +00:00
|
|
|
|
|
2017-09-06 00:29:37 +00:00
|
|
|
|
-- Huge spruce
|
2018-05-13 16:39:47 +00:00
|
|
|
|
quick_spruce(3000, 0.0030, "mcl_core_spruce_huge_1.mts", {"MegaSpruceTaiga"})
|
|
|
|
|
quick_spruce(4000, 0.0036, "mcl_core_spruce_huge_2.mts", {"MegaSpruceTaiga"})
|
|
|
|
|
quick_spruce(6000, 0.0036, "mcl_core_spruce_huge_3.mts", {"MegaSpruceTaiga"})
|
|
|
|
|
quick_spruce(6600, 0.0036, "mcl_core_spruce_huge_4.mts", {"MegaSpruceTaiga"})
|
2017-09-09 03:04:39 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
quick_spruce(3000, 0.0008, "mcl_core_spruce_huge_up_1.mts", {"MegaTaiga"})
|
|
|
|
|
quick_spruce(4000, 0.0008, "mcl_core_spruce_huge_up_2.mts", {"MegaTaiga"})
|
|
|
|
|
quick_spruce(6000, 0.0008, "mcl_core_spruce_huge_up_3.mts", {"MegaTaiga"})
|
2017-09-06 00:29:37 +00:00
|
|
|
|
|
2017-09-09 09:42:15 +00:00
|
|
|
|
|
2017-09-06 00:29:37 +00:00
|
|
|
|
-- Common spruce
|
2017-09-12 19:31:33 +00:00
|
|
|
|
quick_spruce(11000, 0.00150, "mcl_core_spruce_5.mts", {"Taiga", "ColdTaiga"})
|
2017-09-09 03:04:39 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
quick_spruce(2500, 0.00325, "mcl_core_spruce_1.mts", {"MegaSpruceTaiga", "MegaTaiga", "Taiga", "ColdTaiga"})
|
|
|
|
|
quick_spruce(7000, 0.00425, "mcl_core_spruce_3.mts", {"MegaSpruceTaiga", "MegaTaiga", "Taiga", "ColdTaiga"})
|
|
|
|
|
quick_spruce(9000, 0.00325, "mcl_core_spruce_4.mts", {"MegaTaiga", "Taiga", "ColdTaiga"})
|
2017-09-09 03:04:39 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
quick_spruce(9500, 0.00500, "mcl_core_spruce_tall.mts", {"MegaTaiga"})
|
2017-09-09 03:04:39 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
quick_spruce(5000, 0.00250, "mcl_core_spruce_2.mts", {"MegaSpruceTaiga", "MegaTaiga"})
|
2017-09-05 02:17:35 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
quick_spruce(11000, 0.000025, "mcl_core_spruce_5.mts", {"ExtremeHills", "ExtremeHillsM"})
|
|
|
|
|
quick_spruce(2500, 0.00005, "mcl_core_spruce_1.mts", {"ExtremeHills", "ExtremeHillsM"})
|
|
|
|
|
quick_spruce(7000, 0.00005, "mcl_core_spruce_3.mts", {"ExtremeHills", "ExtremeHillsM"})
|
|
|
|
|
quick_spruce(9000, 0.00005, "mcl_core_spruce_4.mts", {"ExtremeHills", "ExtremeHillsM"})
|
2017-09-09 09:42:15 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
quick_spruce(11000, 0.001, "mcl_core_spruce_5.mts", {"ExtremeHills+", "ExtremeHills+_snowtop"}, 50)
|
|
|
|
|
quick_spruce(2500, 0.002, "mcl_core_spruce_1.mts", {"ExtremeHills+", "ExtremeHills+_snowtop"}, 50)
|
|
|
|
|
quick_spruce(7000, 0.003, "mcl_core_spruce_3.mts", {"ExtremeHills+", "ExtremeHills+_snowtop"}, 50)
|
|
|
|
|
quick_spruce(9000, 0.002, "mcl_core_spruce_4.mts", {"ExtremeHills+", "ExtremeHills+_snowtop"}, 50)
|
2017-09-09 09:42:15 +00:00
|
|
|
|
|
|
|
|
|
|
2017-09-05 02:17:35 +00:00
|
|
|
|
-- Small lollipop spruce
|
2017-08-31 18:11:23 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block", "mcl_core:podzol"},
|
2017-08-31 18:11:23 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
2017-08-31 19:05:04 +00:00
|
|
|
|
offset = 0.004,
|
2017-08-31 18:11:23 +00:00
|
|
|
|
scale = 0.0022,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2500,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Taiga", "ColdTaiga"},
|
2017-08-31 18:11:23 +00:00
|
|
|
|
y_min = 2,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_spruce_lollipop.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2017-09-05 02:17:35 +00:00
|
|
|
|
-- Matchstick spruce: Very few leaves, tall trunk
|
2017-08-31 19:05:04 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block", "mcl_core:podzol"},
|
2017-08-31 19:05:04 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
2017-09-06 00:36:26 +00:00
|
|
|
|
offset = -0.025,
|
2017-08-31 19:05:04 +00:00
|
|
|
|
scale = 0.025,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2566,
|
|
|
|
|
octaves = 5,
|
|
|
|
|
persist = 0.60,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Taiga", "ColdTaiga"},
|
2017-08-31 19:05:04 +00:00
|
|
|
|
y_min = 3,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-05 02:17:35 +00:00
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_spruce_matchstick.mts",
|
2017-08-31 19:05:04 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
-- Rare spruce in Ice Plains
|
2017-09-10 14:53:33 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block"},
|
2017-09-10 14:53:33 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = -0.00075,
|
|
|
|
|
scale = -0.0015,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 11,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.7
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"IcePlains"},
|
2017-09-10 14:53:33 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_spruce_5.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 06:15:49 +00:00
|
|
|
|
-- Acacia (many variants)
|
|
|
|
|
for a=1, 7 do
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
place_on = {"mcl_core:dirt_with_grass", "mcl_core:dirt", "mcl_core:coarse_dirt"},
|
2017-09-09 06:15:49 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
fill_ratio = 0.0002,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Savanna", "SavannaM"},
|
2017-09-09 06:15:49 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_acacia_"..a..".mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2017-08-31 03:38:25 +00:00
|
|
|
|
-- Birch
|
2017-09-06 04:04:32 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-09-06 04:04:32 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.03,
|
|
|
|
|
scale = 0.0025,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 11,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"BirchForest"},
|
2017-09-06 04:04:32 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_birch.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-09-06 04:04:32 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.03,
|
|
|
|
|
scale = 0.0025,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 11,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"BirchForestM"},
|
2017-09-06 04:04:32 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_birch_tall.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
|
|
|
|
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-08-15 17:40:53 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
2017-09-08 22:19:24 +00:00
|
|
|
|
offset = 0.000333,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
scale = -0.0015,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
2017-09-06 02:32:49 +00:00
|
|
|
|
seed = 11,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Forest", "FlowerForest"},
|
2017-08-15 17:40:53 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-08-31 02:56:09 +00:00
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_birch.mts",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
|
|
|
|
|
2017-08-21 02:50:45 +00:00
|
|
|
|
-- Dark Oak
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-08-21 02:50:45 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.05,
|
|
|
|
|
scale = 0.0015,
|
|
|
|
|
spread = {x = 125, y = 125, z = 125},
|
|
|
|
|
seed = 223,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"RoofedForest"},
|
2017-08-21 12:04:34 +00:00
|
|
|
|
y_min = 4,
|
2017-08-21 02:50:45 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_core").."/schematics/mcl_core_dark_oak.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-09-05 04:41:48 +00:00
|
|
|
|
rotation = "random",
|
2017-08-21 02:50:45 +00:00
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
|
|
|
|
|
2017-09-08 20:46:30 +00:00
|
|
|
|
local ratio_mushroom = 0.0001
|
|
|
|
|
local ratio_mushroom_huge = ratio_mushroom * (11/12)
|
|
|
|
|
local ratio_mushroom_giant = ratio_mushroom * (1/12)
|
|
|
|
|
local ratio_mushroom_mycelium = 0.002
|
|
|
|
|
local ratio_mushroom_mycelium_huge = ratio_mushroom_mycelium * (11/12)
|
|
|
|
|
local ratio_mushroom_mycelium_giant = ratio_mushroom_mycelium * (1/12)
|
|
|
|
|
|
2017-08-31 16:17:20 +00:00
|
|
|
|
-- Huge Brown Mushroom
|
2017-08-21 03:11:45 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = { "group:grass_block_no_snow", "mcl_core:dirt" },
|
2017-08-21 03:11:45 +00:00
|
|
|
|
sidelen = 80,
|
2017-09-08 20:46:30 +00:00
|
|
|
|
fill_ratio = ratio_mushroom_huge,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "RoofedForest" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 03:11:45 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_mushrooms").."/schematics/mcl_mushrooms_huge_brown.mts",
|
2017-08-31 16:17:20 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-12-12 22:59:02 +00:00
|
|
|
|
rotation = "0",
|
2017-08-21 03:11:45 +00:00
|
|
|
|
})
|
2017-09-08 20:46:30 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = { "group:grass_block_no_snow", "mcl_core:dirt" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = ratio_mushroom_giant,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "RoofedForest" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_mushrooms").."/schematics/mcl_mushrooms_giant_brown.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-12-12 22:59:02 +00:00
|
|
|
|
rotation = "0",
|
2017-09-08 20:46:30 +00:00
|
|
|
|
})
|
2017-08-21 03:11:45 +00:00
|
|
|
|
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-08-31 16:17:20 +00:00
|
|
|
|
place_on = { "mcl_core:mycelium" },
|
2017-08-15 17:40:53 +00:00
|
|
|
|
sidelen = 80,
|
2017-09-08 20:46:30 +00:00
|
|
|
|
fill_ratio = ratio_mushroom_mycelium_huge,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "MushroomIsland", "MushroomIslandShore" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
schematic = minetest.get_modpath("mcl_mushrooms").."/schematics/mcl_mushrooms_huge_brown.mts",
|
2017-08-31 16:17:20 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-12-12 22:59:02 +00:00
|
|
|
|
rotation = "0",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
2017-09-08 20:46:30 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
|
|
|
|
place_on = { "mcl_core:mycelium" },
|
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = ratio_mushroom_mycelium_giant,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "MushroomIsland", "MushroomIslandShore" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_mushrooms").."/schematics/mcl_mushrooms_giant_brown.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-12-12 22:59:02 +00:00
|
|
|
|
rotation = "0",
|
2017-09-08 20:46:30 +00:00
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2017-08-31 16:17:20 +00:00
|
|
|
|
-- Huge Red Mushroom
|
2017-08-15 17:40:53 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = { "group:grass_block_no_snow", "mcl_core:dirt" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = ratio_mushroom_huge,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "RoofedForest" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 03:11:45 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_mushrooms").."/schematics/mcl_mushrooms_huge_red.mts",
|
2017-08-31 16:17:20 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-12-12 22:59:02 +00:00
|
|
|
|
rotation = "0",
|
2017-08-21 03:11:45 +00:00
|
|
|
|
})
|
2017-09-08 20:46:30 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = { "group:grass_block_no_snow", "mcl_core:dirt" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = ratio_mushroom_giant,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "RoofedForest" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_mushrooms").."/schematics/mcl_mushrooms_giant_red.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-12-12 22:59:02 +00:00
|
|
|
|
rotation = "0",
|
2017-09-08 20:46:30 +00:00
|
|
|
|
})
|
2017-08-21 03:11:45 +00:00
|
|
|
|
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-08-31 16:17:20 +00:00
|
|
|
|
place_on = { "mcl_core:mycelium" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = ratio_mushroom_mycelium_huge,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "MushroomIsland", "MushroomIslandShore" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
y_min = 1,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-08-15 17:40:53 +00:00
|
|
|
|
schematic = minetest.get_modpath("mcl_mushrooms").."/schematics/mcl_mushrooms_huge_red.mts",
|
2017-08-31 16:17:20 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-12-12 22:59:02 +00:00
|
|
|
|
rotation = "0",
|
2017-08-15 17:40:53 +00:00
|
|
|
|
})
|
2017-09-08 20:46:30 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
|
|
|
|
place_on = { "mcl_core:mycelium" },
|
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = ratio_mushroom_mycelium_giant,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "MushroomIsland", "MushroomIslandShore" },
|
2017-09-08 20:46:30 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_mushrooms").."/schematics/mcl_mushrooms_giant_red.mts",
|
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-12-12 22:59:02 +00:00
|
|
|
|
rotation = "0",
|
2017-09-08 20:46:30 +00:00
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2019-12-11 03:23:26 +00:00
|
|
|
|
-- Mossy cobblestone boulder (3×3)
|
2017-09-03 05:06:14 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
|
|
|
|
place_on = {"mcl_core:podzol", "mcl_core:dirt", "mcl_core:coarse_dirt"},
|
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.00015,
|
|
|
|
|
scale = 0.001,
|
|
|
|
|
spread = {x = 300, y = 300, z = 300},
|
|
|
|
|
seed = 775703,
|
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.63,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"MegaTaiga", "MegaSpruceTaiga"},
|
2017-09-03 12:34:03 +00:00
|
|
|
|
y_min = 1,
|
2017-09-03 05:06:14 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_structures").."/schematics/mcl_structures_boulder.mts",
|
2017-09-04 04:32:30 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-09-03 05:06:14 +00:00
|
|
|
|
})
|
|
|
|
|
|
2019-12-11 03:23:26 +00:00
|
|
|
|
-- Small mossy cobblestone boulder (2×2)
|
2017-09-03 05:06:14 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
|
|
|
|
place_on = {"mcl_core:podzol", "mcl_core:dirt", "mcl_core:coarse_dirt"},
|
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.001,
|
|
|
|
|
scale = 0.001,
|
|
|
|
|
spread = {x = 300, y = 300, z = 300},
|
|
|
|
|
seed = 775703,
|
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.63,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"MegaTaiga", "MegaSpruceTaiga"},
|
2017-09-03 12:34:03 +00:00
|
|
|
|
y_min = 1,
|
2017-09-03 05:06:14 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = minetest.get_modpath("mcl_structures").."/schematics/mcl_structures_boulder_small.mts",
|
2017-09-04 04:32:30 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
2017-09-03 05:06:14 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-08-21 02:14:28 +00:00
|
|
|
|
-- Cacti
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = {"group:sand"},
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = -0.012,
|
|
|
|
|
scale = 0.024,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = 257,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_core:cactus",
|
2019-03-10 23:04:03 +00:00
|
|
|
|
biomes = {"Desert",
|
|
|
|
|
"Mesa","Mesa_sandlevel",
|
|
|
|
|
"MesaPlateauF","MesaPlateauF_sandlevel",
|
|
|
|
|
"MesaPlateauFM","MesaPlateauFM_sandlevel"},
|
2017-08-21 02:14:28 +00:00
|
|
|
|
height = 1,
|
|
|
|
|
height_max = 3,
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
-- Sugar canes
|
|
|
|
|
minetest.register_decoration({
|
2017-08-22 13:57:19 +00:00
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"mcl_core:dirt", "mcl_core:coarse_dirt", "group:grass_block_no_snow", "group:sand", "mcl_core:podzol", "mcl_core:reeds"},
|
2017-08-21 02:14:28 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = -0.3,
|
|
|
|
|
scale = 0.7,
|
2017-09-19 11:51:09 +00:00
|
|
|
|
spread = {x = 200, y = 200, z = 200},
|
2017-08-21 02:14:28 +00:00
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.7
|
|
|
|
|
},
|
2017-09-08 17:54:24 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_core:reeds",
|
|
|
|
|
height = 1,
|
|
|
|
|
height_max = 3,
|
|
|
|
|
spawn_by = { "mcl_core:water_source", "group:frosted_ice" },
|
|
|
|
|
num_spawn_by = 1,
|
|
|
|
|
})
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"mcl_core:dirt", "mcl_core:coarse_dirt", "group:grass_block_no_snow", "group:sand", "mcl_core:podzol", "mcl_core:reeds"},
|
2017-09-08 17:54:24 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0,
|
|
|
|
|
scale = 0.5,
|
2017-09-19 11:51:09 +00:00
|
|
|
|
spread = {x = 200, y = 200, z = 200},
|
2017-09-08 17:54:24 +00:00
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.7,
|
|
|
|
|
},
|
2017-09-19 11:50:07 +00:00
|
|
|
|
biomes = {"Swampland", "Swampland_shore"},
|
2017-08-21 02:14:28 +00:00
|
|
|
|
y_min = 1,
|
2017-08-22 13:57:19 +00:00
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-08-21 02:14:28 +00:00
|
|
|
|
decoration = "mcl_core:reeds",
|
|
|
|
|
height = 1,
|
|
|
|
|
height_max = 3,
|
|
|
|
|
spawn_by = { "mcl_core:water_source", "group:frosted_ice" },
|
|
|
|
|
num_spawn_by = 1,
|
|
|
|
|
})
|
|
|
|
|
|
2017-11-16 02:13:19 +00:00
|
|
|
|
-- Doubletall grass
|
2019-12-13 22:48:13 +00:00
|
|
|
|
local register_doubletall_grass = function(offset, scale, biomes)
|
2017-08-21 02:14:28 +00:00
|
|
|
|
|
2019-12-13 22:48:13 +00:00
|
|
|
|
for b=1, #biomes do
|
|
|
|
|
local param2 = minetest.registered_biomes[biomes[b]]._mcl_palette_index
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
|
|
|
|
schematic = {
|
|
|
|
|
size = { x=1, y=3, z=1 },
|
|
|
|
|
data = {
|
|
|
|
|
{ name = "air", prob = 0 },
|
|
|
|
|
{ name = "mcl_flowers:double_grass", param1=255, param2=param2 },
|
|
|
|
|
{ name = "mcl_flowers:double_grass_top", param1=255, param2=param2 },
|
|
|
|
|
},
|
2017-09-13 17:03:15 +00:00
|
|
|
|
},
|
2019-12-13 22:48:13 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = offset,
|
|
|
|
|
scale = scale,
|
|
|
|
|
spread = {x = 200, y = 200, z = 200},
|
|
|
|
|
seed = 420,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
biomes = { biomes[b] },
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-09-13 17:03:15 +00:00
|
|
|
|
end
|
2017-08-21 02:14:28 +00:00
|
|
|
|
|
2017-11-14 22:44:53 +00:00
|
|
|
|
register_doubletall_grass(-0.01, 0.03, {"Taiga", "Forest", "FlowerForest", "BirchForest", "BirchForestM", "RoofedForest"})
|
2017-09-13 17:03:15 +00:00
|
|
|
|
register_doubletall_grass(-0.002, 0.03, {"Plains", "SunflowerPlains"})
|
2019-12-13 22:48:13 +00:00
|
|
|
|
register_doubletall_grass(-0.0005, -0.03, {"Savanna", "SavannaM"})
|
2017-09-12 03:20:03 +00:00
|
|
|
|
|
2017-09-13 17:03:15 +00:00
|
|
|
|
-- Large ferns
|
|
|
|
|
local register_double_fern = function(offset, scale, biomes)
|
2019-12-13 22:48:13 +00:00
|
|
|
|
for b=1, #biomes do
|
|
|
|
|
local param2 = minetest.registered_biomes[biomes[b]]._mcl_palette_index
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
|
|
|
|
schematic = {
|
|
|
|
|
size = { x=1, y=3, z=1 },
|
|
|
|
|
data = {
|
|
|
|
|
{ name = "air", prob = 0 },
|
|
|
|
|
{ name = "mcl_flowers:double_fern", param1=255, param2=param2 },
|
|
|
|
|
{ name = "mcl_flowers:double_fern_top", param1=255, param2=param2 },
|
|
|
|
|
},
|
2017-09-13 17:03:15 +00:00
|
|
|
|
},
|
2019-12-13 22:48:13 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:podzol"},
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = offset,
|
|
|
|
|
scale = scale,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 333,
|
|
|
|
|
octaves = 2,
|
|
|
|
|
persist = 0.66,
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
biomes = biomes[b],
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-09-13 17:03:15 +00:00
|
|
|
|
end
|
2017-09-12 03:20:03 +00:00
|
|
|
|
|
2017-09-13 17:03:15 +00:00
|
|
|
|
register_double_fern(0.01, 0.03, { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "ColdTaiga", "MegaTaiga", "MegaSpruceTaiga" })
|
|
|
|
|
register_double_fern(0.15, 0.1, { "JungleM" })
|
2017-08-21 02:14:28 +00:00
|
|
|
|
|
2017-08-21 00:25:22 +00:00
|
|
|
|
-- Large flowers
|
2017-09-08 22:19:24 +00:00
|
|
|
|
local register_large_flower = function(name, biomes, seed, offset, flower_forest_offset)
|
|
|
|
|
local maxi
|
|
|
|
|
if flower_forest_offset then
|
|
|
|
|
maxi = 2
|
|
|
|
|
else
|
|
|
|
|
maxi = 1
|
|
|
|
|
end
|
|
|
|
|
for i=1, maxi do
|
|
|
|
|
local o, b -- offset, biomes
|
|
|
|
|
if i == 1 then
|
|
|
|
|
o = offset
|
|
|
|
|
b = biomes
|
|
|
|
|
else
|
|
|
|
|
o = flower_forest_offset
|
2017-09-12 19:31:33 +00:00
|
|
|
|
b = { "FlowerForest" }
|
2017-09-08 22:19:24 +00:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
|
|
|
|
schematic = {
|
|
|
|
|
size = { x=1, y=3, z=1 },
|
|
|
|
|
data = {
|
|
|
|
|
{ name = "air", prob = 0 },
|
|
|
|
|
{ name = "mcl_flowers:"..name, param1=255, },
|
|
|
|
|
{ name = "mcl_flowers:"..name.."_top", param1=255, },
|
|
|
|
|
},
|
2017-08-21 00:25:22 +00:00
|
|
|
|
},
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-08 22:19:24 +00:00
|
|
|
|
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = o,
|
|
|
|
|
scale = 0.01,
|
|
|
|
|
spread = {x = 300, y = 300, z = 300},
|
|
|
|
|
seed = seed,
|
|
|
|
|
octaves = 5,
|
|
|
|
|
persist = 0.62,
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
flags = "",
|
|
|
|
|
biomes = b,
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-08-21 00:25:22 +00:00
|
|
|
|
end
|
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
register_large_flower("rose_bush", {"Forest"}, 9350, -0.008, 0.003)
|
|
|
|
|
register_large_flower("peony", {"Forest"}, 10450, -0.008, 0.003)
|
|
|
|
|
register_large_flower("lilac", {"Forest"}, 10600, -0.007, 0.003)
|
2017-09-12 19:38:38 +00:00
|
|
|
|
register_large_flower("sunflower", {"SunflowerPlains"}, 2940, 0.01)
|
2017-08-21 00:25:22 +00:00
|
|
|
|
|
2017-08-31 03:43:46 +00:00
|
|
|
|
-- Jungle bush
|
2017-09-13 01:15:16 +00:00
|
|
|
|
|
2017-08-31 03:43:46 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-08-31 03:43:46 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
2017-08-31 16:04:40 +00:00
|
|
|
|
offset = 0.0196,
|
2017-08-31 03:43:46 +00:00
|
|
|
|
scale = 0.025,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2930,
|
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Jungle"},
|
2017-08-31 03:43:46 +00:00
|
|
|
|
y_min = 3,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-13 01:15:16 +00:00
|
|
|
|
schematic = jungle_bush_schematic,
|
2017-08-31 03:43:46 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
2017-09-12 03:20:03 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-12 03:20:03 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.05,
|
|
|
|
|
scale = 0.025,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2930,
|
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"JungleM"},
|
2017-09-12 03:20:03 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-13 01:15:16 +00:00
|
|
|
|
schematic = jungle_bush_schematic,
|
2017-09-12 03:20:03 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
2017-09-08 23:13:21 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-08 23:13:21 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0085,
|
|
|
|
|
scale = 0.025,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2930,
|
|
|
|
|
octaves = 4,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"JungleEdge", "JungleEdgeM"},
|
2017-09-08 23:13:21 +00:00
|
|
|
|
y_min = 3,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-13 01:58:33 +00:00
|
|
|
|
schematic = jungle_bush_schematic,
|
2017-09-08 23:13:21 +00:00
|
|
|
|
flags = "place_center_x, place_center_z",
|
|
|
|
|
})
|
2017-08-31 03:43:46 +00:00
|
|
|
|
|
2017-08-31 03:38:25 +00:00
|
|
|
|
-- Fallen logs
|
2017-09-13 01:15:16 +00:00
|
|
|
|
-- These fallen logs are not really good yet. They must be longer and also have one upright block.
|
|
|
|
|
-- Note the decortion API does not like wide schematics, they are likely to overhang.
|
|
|
|
|
if generate_fallen_logs then
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:podzol", "mcl_core:coarse_dirt"},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.00018,
|
|
|
|
|
scale = 0.00011,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
2017-08-31 03:38:25 +00:00
|
|
|
|
},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
biomes = {"MegaTaiga", "MegaSpruceTaiga", "Taiga"},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = {
|
|
|
|
|
size = {x = 3, y = 3, z = 1},
|
|
|
|
|
data = {
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "mcl_core:sprucetree", param2 = 12, prob = 127},
|
|
|
|
|
{name = "mcl_core:sprucetree", param2 = 12},
|
|
|
|
|
{name = "mcl_core:sprucetree", param2 = 12},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "mcl_mushrooms:mushroom_brown", prob = 160},
|
|
|
|
|
{name = "mcl_mushrooms:mushroom_red", prob = 160},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
flags = "place_center_x",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-08-31 03:38:25 +00:00
|
|
|
|
|
2017-09-13 01:15:16 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block", "mcl_core:podzol", "mcl_core:podzol_snow", "mcl_core:coarse_dirt"},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.00018,
|
|
|
|
|
scale = 0.00011,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
2017-09-06 01:03:02 +00:00
|
|
|
|
},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
biomes = {"ColdTaiga"},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = {
|
|
|
|
|
size = {x = 3, y = 3, z = 1},
|
|
|
|
|
data = {
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "mcl_core:sprucetree", param2 = 12, prob = 127},
|
|
|
|
|
{name = "mcl_core:sprucetree", param2 = 12},
|
|
|
|
|
{name = "mcl_core:sprucetree", param2 = 12},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
flags = "place_center_x",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-09-06 01:03:02 +00:00
|
|
|
|
|
2017-09-13 01:15:16 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0,
|
|
|
|
|
scale = -0.00008,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
2017-08-31 03:38:25 +00:00
|
|
|
|
},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
biomes = {"BirchForest", "BirchForestM",},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = {
|
|
|
|
|
size = {x = 3, y = 3, z = 1},
|
|
|
|
|
data = {
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "mcl_core:birchtree", param2 = 12},
|
|
|
|
|
{name = "mcl_core:birchtree", param2 = 12},
|
|
|
|
|
{name = "mcl_core:birchtree", param2 = 12, prob = 127},
|
|
|
|
|
{name = "mcl_mushrooms:mushroom_red", prob = 100},
|
|
|
|
|
{name = "mcl_mushrooms:mushroom_brown", prob = 10},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
flags = "place_center_x",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-08-31 03:38:25 +00:00
|
|
|
|
|
2017-09-13 01:15:16 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.005,
|
|
|
|
|
biomes = {"Jungle", "JungleM"},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = {
|
|
|
|
|
size = {x = 3, y = 3, z = 1},
|
|
|
|
|
data = {
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "mcl_core:jungletree", param2 = 12},
|
|
|
|
|
{name = "mcl_core:jungletree", param2 = 12},
|
|
|
|
|
{name = "mcl_core:jungletree", param2 = 12, prob = 127},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "mcl_mushrooms:mushroom_brown", prob = 50},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
},
|
2017-08-31 03:38:25 +00:00
|
|
|
|
},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
flags = "place_center_x",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
2017-08-31 03:38:25 +00:00
|
|
|
|
|
2017-09-13 01:15:16 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.00018,
|
|
|
|
|
scale = 0.00011,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 2,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66
|
2017-08-31 03:38:25 +00:00
|
|
|
|
},
|
2017-09-13 01:15:16 +00:00
|
|
|
|
biomes = {"Forest"},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = {
|
|
|
|
|
size = {x = 3, y = 3, z = 1},
|
|
|
|
|
data = {
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "mcl_core:tree", param2 = 12, prob = 127},
|
|
|
|
|
{name = "mcl_core:tree", param2 = 12},
|
|
|
|
|
{name = "mcl_core:tree", param2 = 12},
|
|
|
|
|
{name = "air", prob = 0},
|
|
|
|
|
{name = "mcl_mushrooms:mushroom_brown", prob = 96},
|
|
|
|
|
{name = "mcl_mushrooms:mushroom_red", prob = 96},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
flags = "place_center_x",
|
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-08-31 03:38:25 +00:00
|
|
|
|
|
2017-08-22 15:40:54 +00:00
|
|
|
|
-- Lily pad
|
2017-09-08 20:04:05 +00:00
|
|
|
|
|
|
|
|
|
local lily_schem = {
|
|
|
|
|
{ name = "mcl_core:water_source" },
|
|
|
|
|
{ name = "mcl_flowers:waterlily" },
|
|
|
|
|
}
|
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
-- Spawn them in shallow water at ocean level in Swampland.
|
2017-09-08 20:04:05 +00:00
|
|
|
|
-- Tweak lilydepth to change the maximum water depth
|
|
|
|
|
local lilydepth = 2
|
|
|
|
|
|
|
|
|
|
for d=1, lilydepth do
|
|
|
|
|
local height = d + 2
|
|
|
|
|
local y = 1 - d
|
|
|
|
|
table.insert(lily_schem, 1, { name = "air", prob = 0 })
|
|
|
|
|
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
|
|
|
|
schematic = {
|
|
|
|
|
size = { x=1, y=height, z=1 },
|
|
|
|
|
data = lily_schem,
|
2017-08-22 15:40:54 +00:00
|
|
|
|
},
|
2017-09-08 20:04:05 +00:00
|
|
|
|
place_on = "mcl_core:dirt",
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
|
|
|
|
scale = 0.3,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = 503,
|
|
|
|
|
octaves = 6,
|
|
|
|
|
persist = 0.7,
|
|
|
|
|
},
|
|
|
|
|
y_min = y,
|
|
|
|
|
y_max = y,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "Swampland_shore" },
|
2017-09-08 20:04:05 +00:00
|
|
|
|
rotation = "random",
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-08-22 15:40:54 +00:00
|
|
|
|
|
2017-08-21 00:25:22 +00:00
|
|
|
|
-- Melon
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-08-21 00:25:22 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
2017-09-08 23:34:37 +00:00
|
|
|
|
offset = -0.01,
|
|
|
|
|
scale = 0.006,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 333,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_farming:melon",
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "Jungle" },
|
2017-09-08 23:34:37 +00:00
|
|
|
|
})
|
2017-09-12 03:20:03 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-09-12 03:20:03 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0,
|
|
|
|
|
scale = 0.006,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 333,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_farming:melon",
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "JungleM" },
|
2017-09-12 03:20:03 +00:00
|
|
|
|
})
|
2017-09-08 23:34:37 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-09-08 23:34:37 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = -0.005,
|
2017-08-21 00:25:22 +00:00
|
|
|
|
scale = 0.006,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 333,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_farming:melon",
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "JungleEdge", "JungleEdgeM" },
|
2017-08-21 00:25:22 +00:00
|
|
|
|
})
|
2017-09-10 02:45:43 +00:00
|
|
|
|
|
2017-09-12 18:40:20 +00:00
|
|
|
|
-- Lots of melons in Jungle Edge M
|
2017-09-10 01:59:59 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-09-10 01:59:59 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.013,
|
|
|
|
|
scale = 0.006,
|
|
|
|
|
spread = {x = 125, y = 125, z = 125},
|
|
|
|
|
seed = 333,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_farming:melon",
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "JungleEdgeM" },
|
2017-09-10 01:59:59 +00:00
|
|
|
|
})
|
2017-08-15 17:40:53 +00:00
|
|
|
|
|
2017-08-21 02:14:28 +00:00
|
|
|
|
-- Pumpkin
|
|
|
|
|
minetest.register_decoration({
|
2019-03-10 05:37:36 +00:00
|
|
|
|
deco_type = "simple",
|
|
|
|
|
decoration = "mcl_farming:pumpkin_face",
|
|
|
|
|
param2 = 0,
|
|
|
|
|
param2_max = 3,
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow"},
|
2017-08-21 02:14:28 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = -0.016,
|
|
|
|
|
scale = 0.01332,
|
|
|
|
|
spread = {x = 125, y = 125, z = 125},
|
|
|
|
|
seed = 666,
|
|
|
|
|
octaves = 6,
|
|
|
|
|
persist = 0.666
|
|
|
|
|
},
|
2017-09-10 04:06:02 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-08-21 02:14:28 +00:00
|
|
|
|
})
|
|
|
|
|
|
2017-08-21 12:04:34 +00:00
|
|
|
|
-- Grasses and ferns
|
2017-11-14 22:44:53 +00:00
|
|
|
|
local grass_forest = {"Plains", "Taiga", "Forest", "FlowerForest", "BirchForest", "BirchForestM", "RoofedForest", "Swampland", }
|
|
|
|
|
local grass_mpf = {"MesaPlateauF_grasstop"}
|
2017-09-12 19:31:33 +00:00
|
|
|
|
local grass_plains = {"Plains", "SunflowerPlains", "JungleEdge", "JungleEdgeM" }
|
|
|
|
|
local grass_savanna = {"Savanna", "SavannaM"}
|
2019-03-10 23:04:03 +00:00
|
|
|
|
local grass_sparse = {"ExtremeHills", "ExtremeHills+", "ExtremeHills+_snowtop", "ExtremeHillsM", "Jungle" }
|
|
|
|
|
local grass_mpfm = {"MesaPlateauFM_grasstop" }
|
2017-09-06 02:11:39 +00:00
|
|
|
|
|
2017-09-08 05:41:14 +00:00
|
|
|
|
register_grass_decoration("tallgrass", -0.03, 0.09, grass_forest)
|
|
|
|
|
register_grass_decoration("tallgrass", -0.015, 0.075, grass_forest)
|
2017-09-05 19:30:02 +00:00
|
|
|
|
register_grass_decoration("tallgrass", 0, 0.06, grass_forest)
|
|
|
|
|
register_grass_decoration("tallgrass", 0.015, 0.045, grass_forest)
|
|
|
|
|
register_grass_decoration("tallgrass", 0.03, 0.03, grass_forest)
|
2019-12-13 22:48:13 +00:00
|
|
|
|
register_grass_decoration("tallgrass", -0.03, 0.09, grass_mpf)
|
|
|
|
|
register_grass_decoration("tallgrass", -0.015, 0.075, grass_mpf)
|
|
|
|
|
register_grass_decoration("tallgrass", 0, 0.06, grass_mpf)
|
|
|
|
|
register_grass_decoration("tallgrass", 0.01, 0.045, grass_mpf)
|
2017-09-05 19:30:02 +00:00
|
|
|
|
register_grass_decoration("tallgrass", 0.01, 0.05, grass_forest)
|
2017-09-05 23:50:39 +00:00
|
|
|
|
register_grass_decoration("tallgrass", 0.03, 0.03, grass_plains)
|
|
|
|
|
register_grass_decoration("tallgrass", 0.05, 0.01, grass_plains)
|
|
|
|
|
register_grass_decoration("tallgrass", 0.07, -0.01, grass_plains)
|
|
|
|
|
register_grass_decoration("tallgrass", 0.09, -0.03, grass_plains)
|
2019-12-13 22:48:13 +00:00
|
|
|
|
register_grass_decoration("tallgrass", 0.18, -0.03, grass_savanna)
|
2017-09-09 09:42:15 +00:00
|
|
|
|
register_grass_decoration("tallgrass", 0.05, -0.03, grass_sparse)
|
2019-12-13 22:48:13 +00:00
|
|
|
|
register_grass_decoration("tallgrass", 0.05, 0.05, grass_mpfm)
|
2017-08-21 12:04:34 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
local fern_minimal = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga", "ColdTaiga" }
|
|
|
|
|
local fern_low = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga" }
|
|
|
|
|
local fern_Jungle = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM" }
|
|
|
|
|
local fern_JungleM = { "JungleM" },
|
2017-09-05 19:30:02 +00:00
|
|
|
|
register_grass_decoration("fern", -0.03, 0.09, fern_minimal)
|
|
|
|
|
register_grass_decoration("fern", -0.015, 0.075, fern_minimal)
|
|
|
|
|
register_grass_decoration("fern", 0, 0.06, fern_minimal)
|
|
|
|
|
register_grass_decoration("fern", 0.015, 0.045, fern_low)
|
|
|
|
|
register_grass_decoration("fern", 0.03, 0.03, fern_low)
|
2017-09-12 19:31:33 +00:00
|
|
|
|
register_grass_decoration("fern", 0.01, 0.05, fern_Jungle)
|
|
|
|
|
register_grass_decoration("fern", 0.03, 0.03, fern_Jungle)
|
|
|
|
|
register_grass_decoration("fern", 0.05, 0.01, fern_Jungle)
|
|
|
|
|
register_grass_decoration("fern", 0.07, -0.01, fern_Jungle)
|
|
|
|
|
register_grass_decoration("fern", 0.09, -0.03, fern_Jungle)
|
|
|
|
|
register_grass_decoration("fern", 0.12, -0.03, fern_JungleM)
|
2017-02-22 22:21:13 +00:00
|
|
|
|
|
2019-12-18 20:04:07 +00:00
|
|
|
|
local b_seagrass = {"ColdTaiga_ocean","ExtremeHills_ocean","ExtremeHillsM_ocean","ExtremeHills+_ocean","Taiga_ocean","MegaTaiga_ocean","MegaSpruceTaiga_ocean","StoneBeach_ocean","Plains_ocean","SunflowerPlains_ocean","Forest_ocean","FlowerForest_ocean","BirchForest_ocean","BirchForestM_ocean","RoofedForest_ocean","Swampland_ocean","Jungle_ocean","JungleM_ocean","JungleEdge_ocean","JungleEdgeM_ocean","MushroomIsland_ocean","Desert_ocean","Savanna_ocean","SavannaM_ocean","Mesa_ocean","MesaBryce_ocean","MesaPlateauF_ocean","MesaPlateauFM_ocean",
|
|
|
|
|
"ColdTaiga_deep_ocean","ExtremeHills_deep_ocean","ExtremeHillsM_deep_ocean","ExtremeHills+_deep_ocean","Taiga_deep_ocean","MegaTaiga_deep_ocean","MegaSpruceTaiga_deep_ocean","StoneBeach_deep_ocean","Plains_deep_ocean","SunflowerPlains_deep_ocean","Forest_deep_ocean","FlowerForest_deep_ocean","BirchForest_deep_ocean","BirchForestM_deep_ocean","RoofedForest_deep_ocean","Swampland_deep_ocean","Jungle_deep_ocean","JungleM_deep_ocean","JungleEdge_deep_ocean","JungleEdgeM_deep_ocean","MushroomIsland_deep_ocean","Desert_deep_ocean","Savanna_deep_ocean","SavannaM_deep_ocean","Mesa_deep_ocean","MesaBryce_deep_ocean","MesaPlateauF_deep_ocean","MesaPlateauFM_deep_ocean",
|
|
|
|
|
"Mesa_sandlevel","MesaBryce_sandlevel","MesaPlateauF_sandlevel","MesaPlateauFM_sandlevel","Swampland_shore","Jungle_shore","JungleM_shore","Savanna_beach","FlowerForest_beach","ColdTaiga_beach_water","ExtremeHills_beach"}
|
|
|
|
|
local b_kelp = {"ExtremeHillsM_ocean","ExtremeHills+_ocean","MegaTaiga_ocean","MegaSpruceTaiga_ocean","Plains_ocean","SunflowerPlains_ocean","Forest_ocean","FlowerForest_ocean","BirchForest_ocean","BirchForestM_ocean","RoofedForest_ocean","Swampland_ocean","Jungle_ocean","JungleM_ocean","JungleEdge_ocean","JungleEdgeM_ocean","MushroomIsland_ocean",
|
|
|
|
|
"ExtremeHillsM_deep_ocean","ExtremeHills+_deep_ocean","MegaTaiga_deep_ocean","MegaSpruceTaiga_deep_ocean","Plains_deep_ocean","SunflowerPlains_deep_ocean","Forest_deep_ocean","FlowerForest_deep_ocean","BirchForest_deep_ocean","BirchForestM_deep_ocean","RoofedForest_deep_ocean","Swampland_deep_ocean","Jungle_deep_ocean","JungleM_deep_ocean","JungleEdge_deep_ocean","JungleEdgeM_deep_ocean","MushroomIsland_deep_ocean"
|
|
|
|
|
}
|
2019-12-18 17:42:04 +00:00
|
|
|
|
|
|
|
|
|
register_seagrass_decoration("seagrass", 0, 0.5, b_seagrass)
|
|
|
|
|
register_seagrass_decoration("kelp", -0.5, 1, b_kelp)
|
|
|
|
|
|
2019-12-18 19:55:20 +00:00
|
|
|
|
local b_sponge = {"Plains_deep_ocean","SunflowerPlains_deep_ocean","Forest_deep_ocean","FlowerForest_deep_ocean","BirchForest_deep_ocean","BirchForestM_deep_ocean","RoofedForest_deep_ocean","Jungle_deep_ocean","JungleM_deep_ocean","JungleEdge_deep_ocean","JungleEdgeM_deep_ocean","MushroomIsland_deep_ocean","Desert_deep_ocean","Savanna_deep_ocean","SavannaM_deep_ocean","Mesa_deep_ocean","MesaBryce_deep_ocean","MesaPlateauF_deep_ocean","MesaPlateauFM_deep_ocean"}
|
|
|
|
|
-- Wet Sponge
|
|
|
|
|
-- TODO: Remove this when we got ocean monuments
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
decoration = "mcl_sponges:sponge_wet",
|
|
|
|
|
biomes = b_sponge,
|
|
|
|
|
spawn_by = {"group:water"},
|
|
|
|
|
num_spawn_by = 1,
|
|
|
|
|
place_on = {"mcl_core:dirt","mcl_core:sand","mcl_core:gravel"},
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.00495,
|
|
|
|
|
scale = 0.006,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = 999,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.666
|
|
|
|
|
},
|
|
|
|
|
flags = "force_placement",
|
2019-12-18 20:04:07 +00:00
|
|
|
|
y_min = mcl_vars.mg_lava_overworld_max + 5,
|
2019-12-18 19:55:20 +00:00
|
|
|
|
y_max = -20,
|
|
|
|
|
})
|
|
|
|
|
|
2017-09-09 09:42:15 +00:00
|
|
|
|
-- Place tall grass on snow in Ice Plains and Extreme Hills+
|
2017-09-06 02:11:39 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block"},
|
2017-09-06 02:11:39 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = -0.08,
|
|
|
|
|
scale = 0.09,
|
|
|
|
|
spread = {x = 15, y = 15, z = 15},
|
|
|
|
|
seed = 420,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"IcePlains"},
|
2017-09-06 02:11:39 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = {
|
|
|
|
|
size = { x=1, y=2, z=1 },
|
|
|
|
|
data = {
|
|
|
|
|
{ name = "mcl_core:dirt_with_grass", force_place=true, },
|
2019-12-13 22:48:13 +00:00
|
|
|
|
{ name = "mcl_flowers:tallgrass", param2 = minetest.registered_biomes["IcePlains"]._mcl_palette_index },
|
2017-09-06 02:11:39 +00:00
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
})
|
2017-09-09 09:42:15 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "schematic",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block"},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0,
|
|
|
|
|
scale = 0.09,
|
|
|
|
|
spread = {x = 15, y = 15, z = 15},
|
|
|
|
|
seed = 420,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"ExtremeHills+_snowtop"},
|
2017-09-09 09:42:15 +00:00
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
schematic = {
|
|
|
|
|
size = { x=1, y=2, z=1 },
|
|
|
|
|
data = {
|
|
|
|
|
{ name = "mcl_core:dirt_with_grass", force_place=true, },
|
2019-12-13 22:48:13 +00:00
|
|
|
|
{ name = "mcl_flowers:tallgrass", param2 = minetest.registered_biomes["ExtremeHills+_snowtop"]._mcl_palette_index },
|
2017-09-09 09:42:15 +00:00
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
2017-09-06 02:11:39 +00:00
|
|
|
|
|
2017-08-21 02:14:28 +00:00
|
|
|
|
-- Dead bushes
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
place_on = {"group:sand", "mcl_core:podzol", "mcl_core:dirt", "mcl_core:dirt_with_grass", "mcl_core:coarse_dirt", "group:hardened_clay"},
|
2017-08-21 02:14:28 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
2019-03-10 23:04:03 +00:00
|
|
|
|
offset = 0.0,
|
2017-08-21 02:14:28 +00:00
|
|
|
|
scale = 0.035,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = 1972,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2019-03-11 20:42:30 +00:00
|
|
|
|
biomes = {"Desert", "Mesa", "Mesa_sandlevel", "MesaPlateauF", "MesaPlateauF_sandlevel", "MesaPlateauF_grasstop","MesaBryce","Taiga", "MegaTaiga"},
|
2017-08-21 02:14:28 +00:00
|
|
|
|
decoration = "mcl_core:deadbush",
|
|
|
|
|
height = 1,
|
|
|
|
|
})
|
2019-03-10 23:04:03 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2019-12-13 13:03:12 +00:00
|
|
|
|
place_on = {"group:sand", "mcl_core:dirt", "mcl_core:dirt_with_grass", "mcl_core:coarse_dirt"},
|
2019-03-10 23:04:03 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.1,
|
|
|
|
|
scale = 0.035,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = 1972,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
biomes = {"MesaPlateauFM_grasstop"},
|
|
|
|
|
decoration = "mcl_core:deadbush",
|
|
|
|
|
height = 1,
|
|
|
|
|
})
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = {"group:sand"},
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.045,
|
|
|
|
|
scale = 0.055,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = 1972,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
biomes = {"MesaPlateauFM","MesaPlateauFM_sandlevel"},
|
|
|
|
|
decoration = "mcl_core:deadbush",
|
|
|
|
|
height = 1,
|
|
|
|
|
})
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = {"group:hardened_clay"},
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.010,
|
|
|
|
|
scale = 0.035,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = 1972,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 4,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
biomes = {"MesaPlateauFM", "MesaPlateauFM_sandlevel", "MesaPlateauFM_grasstop"},
|
|
|
|
|
decoration = "mcl_core:deadbush",
|
|
|
|
|
height = 1,
|
|
|
|
|
})
|
2017-08-21 02:14:28 +00:00
|
|
|
|
|
|
|
|
|
-- Mushrooms in mushroom biome
|
2017-08-21 00:25:22 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = {"mcl_core:mycelium"},
|
|
|
|
|
sidelen = 80,
|
2017-08-21 13:14:33 +00:00
|
|
|
|
fill_ratio = 0.009,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"MushroomIsland", "MushroomIslandShore"},
|
2017-08-21 13:14:33 +00:00
|
|
|
|
noise_threshold = 2.0,
|
2017-08-21 02:23:24 +00:00
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-08-21 00:25:22 +00:00
|
|
|
|
decoration = "mcl_mushrooms:mushroom_red",
|
|
|
|
|
})
|
2017-02-22 22:21:13 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-08-21 00:25:22 +00:00
|
|
|
|
place_on = {"mcl_core:mycelium"},
|
|
|
|
|
sidelen = 80,
|
2017-08-21 13:14:33 +00:00
|
|
|
|
fill_ratio = 0.009,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"MushroomIsland", "MushroomIslandShore"},
|
2017-08-21 00:25:22 +00:00
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_mushrooms:mushroom_brown",
|
|
|
|
|
})
|
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
-- Mushrooms in Taiga
|
2017-08-21 13:14:33 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = {"mcl_core:podzol"},
|
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.003,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Taiga", "MegaTaiga", "MegaSpruceTaiga"},
|
2017-08-21 13:14:33 +00:00
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_mushrooms:mushroom_red",
|
|
|
|
|
})
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = {"mcl_core:podzol"},
|
|
|
|
|
sidelen = 80,
|
|
|
|
|
fill_ratio = 0.003,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"Taiga", "MegaTaiga", "MegaSpruceTaiga"},
|
2017-08-21 13:14:33 +00:00
|
|
|
|
y_min = mcl_vars.mg_overworld_min,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = "mcl_mushrooms:mushroom_brown",
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
2017-08-21 02:14:28 +00:00
|
|
|
|
-- Mushrooms next to trees
|
|
|
|
|
local mushrooms = {"mcl_mushrooms:mushroom_red", "mcl_mushrooms:mushroom_brown"}
|
|
|
|
|
local mseeds = { 7133, 8244 }
|
|
|
|
|
for m=1, #mushrooms do
|
|
|
|
|
-- Mushrooms next to trees
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt", "mcl_core:podzol", "mcl_core:mycelium", "mcl_core:stone", "mcl_core:andesite", "mcl_core:diorite", "mcl_core:granite"},
|
2017-08-21 02:14:28 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0,
|
2017-08-21 13:14:33 +00:00
|
|
|
|
scale = 0.003,
|
2017-08-21 02:14:28 +00:00
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = mseeds[m],
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.66,
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = mushrooms[m],
|
2017-09-02 17:46:56 +00:00
|
|
|
|
spawn_by = { "mcl_core:tree", "mcl_core:sprucetree", "mcl_core:darktree", "mcl_core:birchtree" },
|
2017-08-21 02:14:28 +00:00
|
|
|
|
num_spawn_by = 1,
|
|
|
|
|
})
|
2017-09-08 17:54:24 +00:00
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
-- More mushrooms in Swampland
|
2017-09-08 17:54:24 +00:00
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt", "mcl_core:podzol", "mcl_core:mycelium", "mcl_core:stone", "mcl_core:andesite", "mcl_core:diorite", "mcl_core:granite"},
|
2017-09-08 17:54:24 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.05,
|
|
|
|
|
scale = 0.003,
|
|
|
|
|
spread = {x = 250, y = 250, z = 250},
|
|
|
|
|
seed = mseeds[m],
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
decoration = mushrooms[m],
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = { "Swampland"},
|
2017-09-08 17:54:24 +00:00
|
|
|
|
spawn_by = { "mcl_core:tree", "mcl_core:sprucetree", "mcl_core:darktree", "mcl_core:birchtree" },
|
|
|
|
|
num_spawn_by = 1,
|
|
|
|
|
})
|
2017-08-21 02:14:28 +00:00
|
|
|
|
end
|
2017-09-08 22:19:24 +00:00
|
|
|
|
local function register_flower(name, biomes, seed, is_in_flower_forest)
|
|
|
|
|
if is_in_flower_forest == nil then
|
|
|
|
|
is_in_flower_forest = true
|
|
|
|
|
end
|
2017-09-08 22:22:59 +00:00
|
|
|
|
if biomes then
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-08 22:22:59 +00:00
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = 0.0008,
|
|
|
|
|
scale = 0.006,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = seed,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
|
|
|
|
biomes = biomes,
|
|
|
|
|
decoration = "mcl_flowers:"..name,
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-09-08 22:19:24 +00:00
|
|
|
|
if is_in_flower_forest then
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
deco_type = "simple",
|
2017-11-15 19:27:29 +00:00
|
|
|
|
place_on = {"group:grass_block_no_snow", "mcl_core:dirt"},
|
2017-09-08 22:19:24 +00:00
|
|
|
|
sidelen = 80,
|
|
|
|
|
noise_params= {
|
|
|
|
|
offset = 0.0008*40,
|
|
|
|
|
scale = 0.003,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = seed,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6,
|
|
|
|
|
},
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = mcl_vars.mg_overworld_max,
|
2017-09-12 19:31:33 +00:00
|
|
|
|
biomes = {"FlowerForest"},
|
2017-09-08 22:19:24 +00:00
|
|
|
|
decoration = "mcl_flowers:"..name,
|
|
|
|
|
})
|
|
|
|
|
end
|
2017-08-21 00:25:22 +00:00
|
|
|
|
end
|
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
local flower_biomes1 = {"Plains", "SunflowerPlains", "RoofedForest", "Forest", "BirchForest", "BirchForestM", "Taiga", "ColdTaiga", "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Savanna", "SavannaM", "ExtremeHills", "ExtremeHillsM", "ExtremeHills+", "ExtremeHills+_snowtop" }
|
2017-08-21 00:25:22 +00:00
|
|
|
|
|
|
|
|
|
register_flower("dandelion", flower_biomes1, 8)
|
|
|
|
|
register_flower("poppy", flower_biomes1, 9439)
|
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
local flower_biomes2 = {"Plains", "SunflowerPlains"}
|
2017-08-21 00:25:22 +00:00
|
|
|
|
register_flower("tulip_red", flower_biomes2, 436)
|
|
|
|
|
register_flower("tulip_orange", flower_biomes2, 536)
|
|
|
|
|
register_flower("tulip_pink", flower_biomes2, 636)
|
|
|
|
|
register_flower("tulip_white", flower_biomes2, 736)
|
|
|
|
|
register_flower("azure_bluet", flower_biomes2, 800)
|
|
|
|
|
register_flower("oxeye_daisy", flower_biomes2, 3490)
|
|
|
|
|
|
2017-09-12 19:31:33 +00:00
|
|
|
|
register_flower("allium", nil, 0) -- flower Forest only
|
|
|
|
|
register_flower("blue_orchid", {"Swampland"}, 64500, false)
|
2017-08-21 00:25:22 +00:00
|
|
|
|
|
2017-08-17 21:14:02 +00:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Decorations in non-Overworld dimensions
|
|
|
|
|
local function register_dimension_decorations()
|
2019-03-09 20:02:40 +00:00
|
|
|
|
--[[ NETHER ]]
|
2021-04-16 10:17:07 +00:00
|
|
|
|
-- TODO: Nether
|
2019-03-09 20:02:40 +00:00
|
|
|
|
|
|
|
|
|
--[[ THE END ]]
|
|
|
|
|
|
|
|
|
|
-- Chorus plant
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
name = "mcl_biomes:chorus_plant",
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
place_on = {"mcl_end:end_stone", "air"},
|
|
|
|
|
flags = "all_floors",
|
|
|
|
|
sidelen = 16,
|
|
|
|
|
noise_params = {
|
|
|
|
|
offset = -0.012,
|
|
|
|
|
scale = 0.024,
|
|
|
|
|
spread = {x = 100, y = 100, z = 100},
|
|
|
|
|
seed = 257,
|
|
|
|
|
octaves = 3,
|
|
|
|
|
persist = 0.6
|
|
|
|
|
},
|
|
|
|
|
y_min = mcl_vars.mg_end_min,
|
|
|
|
|
y_max = mcl_vars.mg_end_max,
|
|
|
|
|
decoration = "mcl_end:chorus_flower",
|
|
|
|
|
height = 1,
|
|
|
|
|
biomes = { "End" },
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
deco_id_chorus_plant = minetest.get_decoration_id("mcl_biomes:chorus_plant")
|
|
|
|
|
minetest.set_gen_notify({decoration=true}, { deco_id_chorus_plant })
|
|
|
|
|
|
|
|
|
|
-- TODO: End cities
|
|
|
|
|
|
2017-02-22 22:21:13 +00:00
|
|
|
|
end
|
|
|
|
|
|
2018-01-10 16:55:17 +00:00
|
|
|
|
|
2017-02-22 22:21:13 +00:00
|
|
|
|
--
|
|
|
|
|
-- Detect mapgen to select functions
|
|
|
|
|
--
|
2017-09-05 20:47:48 +00:00
|
|
|
|
if mg_name ~= "singlenode" then
|
2019-02-09 01:42:11 +00:00
|
|
|
|
if not superflat then
|
2018-01-10 16:55:17 +00:00
|
|
|
|
if mg_name ~= "v6" then
|
|
|
|
|
register_biomes()
|
|
|
|
|
register_biomelike_ores()
|
|
|
|
|
end
|
|
|
|
|
register_biome_ores()
|
|
|
|
|
if mg_name ~= "v6" then
|
|
|
|
|
register_decorations()
|
|
|
|
|
end
|
|
|
|
|
else
|
2019-02-09 01:42:11 +00:00
|
|
|
|
-- Implementation of Minecraft's Superflat mapgen, classic style:
|
|
|
|
|
-- * Perfectly flat land, 1 grass biome, no decorations, no caves
|
|
|
|
|
-- * 4 layers, from top to bottom: grass block, dirt, dirt, bedrock
|
2017-09-05 20:47:48 +00:00
|
|
|
|
minetest.clear_registered_biomes()
|
|
|
|
|
minetest.clear_registered_decorations()
|
|
|
|
|
minetest.clear_registered_schematics()
|
|
|
|
|
register_classic_superflat_biome()
|
|
|
|
|
end
|
2017-08-17 21:14:02 +00:00
|
|
|
|
|
2017-09-05 20:47:48 +00:00
|
|
|
|
-- Non-overworld stuff is registered independently
|
|
|
|
|
register_dimension_biomes()
|
|
|
|
|
register_dimension_ores()
|
|
|
|
|
register_dimension_decorations()
|
|
|
|
|
|
|
|
|
|
-- Overworld decorations for v6 are handled in mcl_mapgen_core
|
2019-03-09 20:02:40 +00:00
|
|
|
|
|
|
|
|
|
if deco_id_chorus_plant then
|
2021-02-21 23:15:32 +00:00
|
|
|
|
mcl_mapgen_core.register_generator("chorus_grow", nil, function(minp, maxp, blockseed)
|
2019-03-09 20:02:40 +00:00
|
|
|
|
local gennotify = minetest.get_mapgen_object("gennotify")
|
2021-04-16 11:35:03 +00:00
|
|
|
|
--local poslist = {}
|
2021-05-09 22:47:56 +00:00
|
|
|
|
local pr = PseudoRandom(blockseed + 14)
|
2019-03-09 20:02:40 +00:00
|
|
|
|
for _, pos in ipairs(gennotify["decoration#"..deco_id_chorus_plant] or {}) do
|
2021-05-09 22:47:56 +00:00
|
|
|
|
local x, y, z = pos.x, pos.y, pos.z
|
|
|
|
|
if x < -2 or x > 2 or z < -2 or z > 2 then
|
|
|
|
|
local realpos = { x = x, y = y + 1, z = z }
|
|
|
|
|
local node = minetest.get_node(realpos)
|
|
|
|
|
if node and node.name == "mcl_end:chorus_flower" then
|
|
|
|
|
mcl_end.grow_chorus_plant(realpos, node, pr)
|
|
|
|
|
end
|
2021-05-09 22:24:38 +00:00
|
|
|
|
end
|
2019-03-09 20:02:40 +00:00
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
2017-09-05 20:47:48 +00:00
|
|
|
|
end
|
2017-08-17 21:14:02 +00:00
|
|
|
|
|