From 98767722bccc46ae17e65c418606494dd0b0b73f Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Tue, 10 May 2022 11:17:56 +0200 Subject: [PATCH] Add experimental biome: Rocky Dryland --- mods/rp_default/functions.lua | 11 +- mods/rp_default/mapgen.lua | 149 +++++++++++++++++++++ .../schematics/rp_default_dry_tree_2layer.mts | Bin 0 -> 112 bytes .../schematics/rp_default_dry_tree_3layer.mts | Bin 0 -> 120 bytes .../schematics/rp_default_tiny_dry_tree.mts | Bin 0 -> 105 bytes 5 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 mods/rp_default/schematics/rp_default_dry_tree_2layer.mts create mode 100644 mods/rp_default/schematics/rp_default_dry_tree_3layer.mts create mode 100644 mods/rp_default/schematics/rp_default_tiny_dry_tree.mts diff --git a/mods/rp_default/functions.lua b/mods/rp_default/functions.lua index 5f43a43..46db0e5 100644 --- a/mods/rp_default/functions.lua +++ b/mods/rp_default/functions.lua @@ -459,8 +459,17 @@ minetest.register_abm( -- leaf decay end }) +local dry_biomes = { + ["Charparral"] = true, + ["Savanna"] = true, + ["Savanna Ocean"] = true, + ["Desert"] = true, + ["Wasteland"] = true, + ["Rocky Dryland"] = true, +} + local is_dry_biome = function(biomename) - return biomename == "Charparral" or biomename == "Savanna" or biomename == "Savanna Ocean" or biomename == "Desert" or biomename == "Wasteland" + return dry_biomes[biomename] == true end minetest.register_abm( -- dirt and grass footsteps becomes dirt with grass if uncovered diff --git a/mods/rp_default/mapgen.lua b/mods/rp_default/mapgen.lua index ed4f676..e280ac3 100644 --- a/mods/rp_default/mapgen.lua +++ b/mods/rp_default/mapgen.lua @@ -322,6 +322,7 @@ minetest.register_biome( heat_point = 60, humidity_point = 30, }) + end local function spring_ore_np(seed) @@ -1058,3 +1059,151 @@ minetest.register_ore( -- Large clusters y_min = -230, y_max = -180, }) + +-- EXPERIMENTAL BIOMES + +minetest.clear_registered_biomes() +minetest.clear_registered_decorations() + +minetest.register_biome( + { + name = "Rocky Dryland", + + node_top = "rp_default:dry_dirt", + node_filler = "rp_default:dry_dirt", + + depth_filler = 0, + depth_top = 1, + + y_min = -32000, + y_max = 32000, + + heat_point = 70, + humidity_point = 25, +}) + +minetest.register_decoration( + { + deco_type = "schematic", + place_on = {"rp_default:dry_dirt"}, + sidelen = 16, + fill_ratio = 0.0001, + biomes = {"Rocky Dryland"}, + flags = "place_center_x, place_center_z", + schematic = minetest.get_modpath("rp_default") + .. "/schematics/rp_default_tiny_birch.mts", + y_min = 1, + y_max = 32000, +}) + +minetest.register_decoration( + { + deco_type = "schematic", + place_on = {"rp_default:dry_dirt"}, + sidelen = 16, + fill_ratio = 0.00025, + biomes = {"Rocky Dryland"}, + flags = "place_center_x, place_center_z", + schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_3layer.mts", + y_min = 3, + y_max = 32000, +}) +minetest.register_decoration( + { + deco_type = "schematic", + place_on = {"rp_default:dry_dirt"}, + sidelen = 16, + fill_ratio = 0.00025, + biomes = {"Rocky Dryland"}, + flags = "place_center_x, place_center_z", + schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_dry_tree_2layer.mts", + y_min = 3, + y_max = 32000, +}) +minetest.register_decoration( + { + deco_type = "schematic", + place_on = {"rp_default:dry_dirt"}, + sidelen = 16, + fill_ratio = 0.002, + biomes = {"Rocky Dryland"}, + flags = "place_center_x, place_center_z", + schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_tiny_dry_tree.mts", + y_min = 3, + y_max = 32000, +}) + +minetest.register_decoration( + { + deco_type = "schematic", + place_on = {"rp_default:dry_dirt"}, + sidelen = 16, + fill_ratio = 0.001, + biomes = {"Rocky Dryland"}, + flags = "place_center_x, place_center_z", + replacements = {["default:leaves"] = "rp_default:dry_leaves"}, + schematic = minetest.get_modpath("rp_default") .. "/schematics/default_shrub.mts", + y_min = 3, + y_max = 32000, +}) + + + + + +minetest.register_ore( + { + ore_type = "blob", + ore = "rp_default:gravel", + wherein = "rp_default:dry_dirt", + biomes = {"Rocky Dryland"}, + clust_scarcity = 8*8*8, + clust_size = 8, + y_min = -31000, + y_max = 31000, + noise_params = { + octaves = 1, + scale = 1, + offset = 0, + spread = { x = 100, y = 100, z = 100 }, + lacunarity = 2.0, + persistence = 0.5, + seed = 43400, + }, +}) +minetest.register_ore( + { + ore_type = "blob", + ore = "rp_default:stone", + wherein = "rp_default:dry_dirt", + biomes = {"Rocky Dryland"}, + clust_scarcity = 8*8*8, + clust_size = 7, + y_min = -31000, + y_max = 31000, + noise_params = { + octaves = 1, + scale = 1, + offset = 0, + spread = { x = 100, y = 100, z = 100 }, + lacunarity = 2.0, + persistence = 0.5, + seed = 13940, + }, +}) + +minetest.register_decoration( + { + deco_type = "schematic", + place_on = {"rp_default:stone", "rp_default:dry_dirt"}, + sidelen = 16, + fill_ratio = 0.003, + biomes = {"Rocky Dryland"}, + flags = "place_center_x, place_center_z", + schematic = minetest.get_modpath("rp_default") + .. "/schematics/default_small_rock.mts", + replacements = {["default:dirt"] = "rp_default:dry_dirt"}, + y_min = 1, + y_max = 32000, + rotation = "random", +}) diff --git a/mods/rp_default/schematics/rp_default_dry_tree_2layer.mts b/mods/rp_default/schematics/rp_default_dry_tree_2layer.mts new file mode 100644 index 0000000000000000000000000000000000000000..ff2c50e3e078f79d7d9bd8007386f1d649f3a36a GIT binary patch literal 112 zcwX}j3HD`RVPIxpV_>ca10b6@F|&w4w5T9HB{eOvG^fNWrKmDKCpEDwwU~h)Nw}ma zHML?+a>4;7iHRN@2~NtAjVj7hTtYkV%V?}%SLS$Z&vEttdUmB13bUj(F)-Zx$H@i& DidZEj literal 0 HcwPel00001 diff --git a/mods/rp_default/schematics/rp_default_dry_tree_3layer.mts b/mods/rp_default/schematics/rp_default_dry_tree_3layer.mts new file mode 100644 index 0000000000000000000000000000000000000000..cd72dede5d4ae86bed42857af37d5455a60b8f49 GIT binary patch literal 120 zcwX}j3HD`RVPIxpXJD>}03e4sF|&w4w5T9HB{eOvG^fNWrKmDKCpEDwwU~h)Nw}ma zHML?+a>4;diGvdudlDNswNG-WNG?=aRh4w6rTN#ds4;7iHSFSGE|f&q__k(d+Uo_Ieg;3LdgI9a#~F~-dqd})2-N80k=>iH~;_u literal 0 HcwPel00001 -- 2.11.4.GIT