From e6bcdb6e5c9ef8eab38d2826d5b430b0677b570f Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 16 May 2022 16:42:08 +0200 Subject: [PATCH] Add swamp highland biomes --- mods/rp_default/mapgen.lua | 162 ++++++++++++++++++++++++++++++++----- mods/rp_farming/mapgen.lua | 18 +++++ 2 files changed, 159 insertions(+), 21 deletions(-) diff --git a/mods/rp_default/mapgen.lua b/mods/rp_default/mapgen.lua index 5810567..f6b3b89 100644 --- a/mods/rp_default/mapgen.lua +++ b/mods/rp_default/mapgen.lua @@ -65,6 +65,7 @@ local mg_name = minetest.get_mapgen_setting("mg_name") local UNDERGROUND_Y_MAX = -200 local ORCHARD_Y_MIN = 20 local SWAMP_Y_MAX = 7 +local SWAMP_HIGH_Y_MAX = 25 local register_ocean_and_beach = function(biomename, node_ocean, beach_depth, node_beach) local orig_biome = minetest.registered_biomes[biomename] @@ -98,6 +99,7 @@ end if mg_name ~= "v6" then +-- 'lowland' version of Dense Grassland biome minetest.register_biome( { name = "Marsh", @@ -120,6 +122,28 @@ minetest.register_biome( register_ocean_and_beach("Marsh", "rp_default:dirt", 2, "rp_default:sand") default.set_biome_info("Marsh", "grassy") +-- 'highland' version of Marsh biome +minetest.register_biome( +{ + name = "Dense Grassland", + + node_top = "rp_default:dirt_with_grass", + node_filler = "rp_default:dirt", + node_riverbed = "rp_default:dirt", + + depth_filler = 3, + depth_top = 1, + depth_riverbed = 3, + + y_min = SWAMP_Y_MAX + 1, + y_max = 31000, + + heat_point = 81, + humidity_point = 80, +}) +default.set_biome_info("Dense Grassland", "grassy") + + -- This special biome has the giant birch trees and is -- limited to a very specific height. -- It has no equivalent biome above or below. @@ -629,6 +653,27 @@ minetest.register_biome( register_ocean_and_beach("Swamp Meadow", "rp_default:swamp_dirt", 3, "rp_default:sand") default.set_biome_info("Swamp Meadow", "swampy") +minetest.register_biome( + { + name = "Swamp Meadow Highland", + + node_top = "rp_default:dirt_with_swamp_grass", + node_filler = "rp_default:swamp_dirt", + node_cave_liquid = "rp_default:swamp_water_source", + node_riverbed = "rp_default:swamp_dirt", + + depth_filler = 7, + depth_top = 1, + depth_riverbed = 4, + + y_min = SWAMP_Y_MAX+1, + y_max = SWAMP_HIGH_Y_MAX, + + heat_point = 54, + humidity_point = 133, +}) +default.set_biome_info("Swamp Meadow Highland", "swampy") + minetest.register_biome( { name = "Mixed Swamp", @@ -649,7 +694,28 @@ minetest.register_biome( humidity_point = 92, }) register_ocean_and_beach("Mixed Swamp", "rp_default:dirt", 5, "rp_default:swamp_dirt") -default.set_biome_info("Mixed Swamp", "swamp") +default.set_biome_info("Mixed Swamp", "swampy") + +minetest.register_biome( + { + name = "Mixed Swamp Highland", + + node_top = "rp_default:dirt_with_swamp_grass", + node_filler = "rp_default:swamp_dirt", + node_cave_liquid = "rp_default:swamp_water_source", + node_riverbed = "rp_default:swamp_dirt", + + depth_filler = 7, + depth_top = 1, + depth_riverbed = 3, + + y_min = SWAMP_Y_MAX + 1, + y_max = SWAMP_HIGH_Y_MAX, + + heat_point = 32, + humidity_point = 133, +}) +default.set_biome_info("Mixed Swamp Highland", "swampy") minetest.register_biome( { @@ -673,6 +739,28 @@ minetest.register_biome( register_ocean_and_beach("Swamp Forest", "rp_default:dirt", 5, "rp_default:swamp_dirt") default.set_biome_info("Swamp Forest", "swampy") +minetest.register_biome( + { + name = "Swamp Forest Highland", + + node_top = "rp_default:dirt_with_swamp_grass", + node_filler = "rp_default:swamp_dirt", + node_cave_liquid = "rp_default:swamp_water_source", + node_riverbed = "rp_default:swamp_dirt", + + depth_filler = 5, + depth_top = 1, + depth_riverbed = 4, + + y_min = SWAMP_Y_MAX + 1, + y_max = SWAMP_HIGH_Y_MAX, + + heat_point = 11, + humidity_point = 133, +}) +default.set_biome_info("Swamp Forest Highland", "swampy") + + minetest.register_biome( { name = "Dry Swamp", @@ -694,6 +782,26 @@ minetest.register_biome( register_ocean_and_beach("Dry Swamp", "rp_default:dirt", 3, "rp_default:swamp_dirt") -- force creation of beach sub-biome default.set_biome_info("Dry Swamp", "swampy") +minetest.register_biome( + { + name = "Dry Swamp Highland", + + node_top = "rp_default:dirt_with_swamp_grass", + node_filler = "rp_default:swamp_dirt", + node_riverbed = "rp_default:swamp_dirt", + + depth_filler = 6, + depth_top = 1, + depth_riverbed = 2, + + y_min = SWAMP_Y_MAX + 1, + y_max = SWAMP_HIGH_Y_MAX, + + heat_point = 83, + humidity_point = 129, +}) +default.set_biome_info("Dry Swamp Highland", "swampy") + minetest.register_biome( { name = "Papyrus Swamp", @@ -751,7 +859,7 @@ minetest.register_ore( -- Springs ore_type = "blob", ore = "rp_default:water_source", wherein = "rp_default:dirt_with_grass", - biomes = {"Grassland"}, + biomes = {"Grassland", "Dense Grassland"}, clust_scarcity = 26*26*26, clust_num_ores = 1, clust_size = 1, @@ -779,7 +887,7 @@ minetest.register_ore( -- Swamp (big springs) ore_type = "blob", ore = "rp_default:swamp_water_source", wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"}, - biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"}, + biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"}, clust_scarcity = 7*7*7, clust_num_ores = 10, clust_size = 4, @@ -792,7 +900,7 @@ minetest.register_ore( -- Swamp (medium springs) ore_type = "blob", ore = "rp_default:swamp_water_source", wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"}, - biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"}, + biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"}, clust_scarcity = 5*5*5, clust_num_ores = 8, clust_size = 2, @@ -806,7 +914,7 @@ minetest.register_ore( -- Swamp (small springs) ore_type = "blob", ore = "rp_default:swamp_water_source", wherein = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"}, - biomes = {"Mixed Swamp", "Papyrus Swamp", "Swamp Forest", "Swamp Meadow"}, + biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland", "Swamp Meadow", "Swamp Meadow Highland"}, clust_scarcity = 6*6*6, clust_num_ores = 1, clust_size = 1, @@ -875,7 +983,7 @@ minetest.register_ore( -- Dry Swamp (dirt with grass) ore_type = "blob", ore = "rp_default:dirt_with_grass", wherein = {"rp_default:dirt_with_swamp_grass"}, - biomes = {"Dry Swamp"}, + biomes = {"Dry Swamp", "Dry Swamp Highland"}, clust_scarcity = 3*3*3, clust_num_ores = 10, clust_size = 4, @@ -888,7 +996,7 @@ minetest.register_ore( -- Dry Swamp (dirt) ore_type = "blob", ore = "rp_default:dirt", wherein = {"rp_default:swamp_dirt"}, - biomes = {"Dry Swamp", "Dry Swamp Beach"}, + biomes = {"Dry Swamp", "Dry Swamp Beach", "Dry Swamp Highland"}, clust_scarcity = 3*3*3, clust_num_ores = 10, clust_size = 4, @@ -1149,7 +1257,7 @@ minetest.register_decoration( place_on = {"rp_default:dirt_with_grass"}, sidelen = 16, fill_ratio = 0.004, - biomes = {"Dry Swamp"}, + biomes = {"Dry Swamp", "Dry Swamp Highland"}, flags = "place_center_x, place_center_z", schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_birch_cuboid_3x3_short.mts", @@ -1304,7 +1412,7 @@ minetest.register_decoration( place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"}, sidelen = 16, fill_ratio = 0.0008, - biomes = {"Mixed Swamp", "Mixed Swamp Beach"}, + biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Mixed Swamp Beach"}, flags = "place_center_x, place_center_z", schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_swamp_oak.mts", @@ -1318,7 +1426,7 @@ minetest.register_decoration( place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"}, sidelen = 16, fill_ratio = 0.006, - biomes = {"Swamp Forest", "Swamp Forest Beach"}, + biomes = {"Swamp Forest", "Swamp Forest Highland", "Swamp Forest Beach"}, flags = "place_center_x, place_center_z", schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_swamp_oak.mts", @@ -1332,7 +1440,7 @@ minetest.register_decoration( place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"}, sidelen = 16, fill_ratio = 0.0001, - biomes = {"Swamp Forest", "Swamp Forest Beach"}, + biomes = {"Swamp Forest", "Swamp Forest Highland", "Swamp Forest Beach"}, flags = "place_center_x, place_center_z", schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_swamp_birch.mts", @@ -1345,7 +1453,7 @@ minetest.register_decoration( place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt", "rp_default:dirt"}, sidelen = 16, fill_ratio = 0.003, - biomes = {"Dry Swamp", "Dry Swamp Beach"}, + biomes = {"Dry Swamp", "Dry Swamp Beach", "Dry Swamp Highland"}, flags = "place_center_x, place_center_z", schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_swamp_birch.mts", @@ -1577,7 +1685,7 @@ minetest.register_decoration( place_on = {"rp_default:dirt_with_swamp_grass", "rp_default:swamp_dirt"}, sidelen = 16, fill_ratio = 0.0015, - biomes = {"Mixed Swamp"}, + biomes = {"Mixed Swamp", "Mixed Swamp Highland"}, flags = "place_center_x, place_center_z", schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_swamp_oak_bush.mts", y_min = 1, @@ -1720,7 +1828,7 @@ minetest.register_decoration( place_on = {"rp_default:dirt_with_grass", "rp_default:dirt"}, sidelen = 16, fill_ratio = 0.0001, - biomes = {"Dry Swamp"}, + biomes = {"Dry Swamp", "Dry Swamp Highland"}, flags = "place_center_x, place_center_z", schematic = minetest.get_modpath("rp_default") .. "/schematics/rp_default_apple_tree.mts", @@ -2305,7 +2413,7 @@ minetest.register_decoration( num_spawn_by = 1, sidelen = 16, fill_ratio = 0.08, - biomes = {"Grassland", "Marsh", "Forest", "Deep Forest", "Wilderness", "Baby Poplar Plains"}, + biomes = {"Grassland", "Dense Grassland", "Marsh", "Forest", "Deep Forest", "Wilderness", "Baby Poplar Plains"}, decoration = {"rp_default:papyrus"}, height = 2, height_max = 3, @@ -2322,7 +2430,7 @@ minetest.register_decoration( spawn_by = {"group:water"}, num_spawn_by = 1, sidelen = 16, - biomes = {"Mixed Swamp"}, + biomes = {"Mixed Swamp", "Mixed Swamp Highland"}, decoration = {"rp_default:papyrus"}, height = 4, y_max = 31000, @@ -2368,6 +2476,18 @@ minetest.register_decoration( y_min = -32000, y_max = 32000, }) +minetest.register_decoration( + { + deco_type = "simple", + place_on = "rp_default:dirt_with_grass", + sidelen = 16, + fill_ratio = 0.003, + biomes = {"Dense Grassland"}, + decoration = {"rp_default:flower"}, + y_min = -32000, + y_max = 32000, +}) + -- Grass decorations @@ -2378,7 +2498,7 @@ minetest.register_decoration( place_on = "rp_default:dirt_with_grass", sidelen = 16, fill_ratio = 0.18, - biomes = {"Grassland", "Orchard", "Swamp Meadow", "Baby Poplar Plains", "Poplar Plains", "Shrubbery", "Oak Shrubbery", "Thorny Shrubs", "Dry Swamp"}, + biomes = {"Grassland", "Dense Grassland", "Orchard", "Swamp Meadow", "Swamp Meadow Highland", "Baby Poplar Plains", "Poplar Plains", "Shrubbery", "Oak Shrubbery", "Thorny Shrubs", "Dry Swamp", "Dry Swamp Highland"}, decoration = {"rp_default:grass"}, y_min = 10, y_max = 32000, @@ -2390,7 +2510,7 @@ minetest.register_decoration( place_on = "rp_default:dirt_with_grass", sidelen = 16, fill_ratio = 0.08, - biomes = {"Grassland", "Forest", "Deep Forest", "Birch Forest", "Tall Birch Forest", "Oak Forest", "Dense Oak Forest", "Tall Oak Forest", "Mystery Forest", "Baby Poplar Plains", "Poplar Plains", "Dry Swamp", "Shrubbery", "Oak Shrubbery"}, + biomes = {"Grassland", "Dense Grassland", "Forest", "Deep Forest", "Birch Forest", "Tall Birch Forest", "Oak Forest", "Dense Oak Forest", "Tall Oak Forest", "Mystery Forest", "Baby Poplar Plains", "Poplar Plains", "Dry Swamp", "Dry Swamp Highland", "Shrubbery", "Oak Shrubbery"}, decoration = {"rp_default:grass"}, y_min = 0, y_max = 32000, @@ -2403,7 +2523,7 @@ minetest.register_decoration( place_on = "rp_default:dirt_with_swamp_grass", sidelen = 16, fill_ratio = 0.04, - biomes = {"Mixed Swamp", "Dry Swamp", "Papyrus Swamp", "Swamp Forest"}, + biomes = {"Mixed Swamp", "Mixed Swamp Highland", "Dry Swamp", "Dry Swamp Highland", "Papyrus Swamp", "Swamp Forest", "Swamp Forest Highland"}, decoration = {"rp_default:swamp_grass"}, y_min = 1, y_max = 31000, @@ -2414,7 +2534,7 @@ minetest.register_decoration( place_on = "rp_default:dirt_with_swamp_grass", sidelen = 16, fill_ratio = 0.16, - biomes = {"Swamp Meadow"}, + biomes = {"Swamp Meadow", "Swamp Meadow Highland"}, decoration = {"rp_default:swamp_grass"}, y_min = 1, y_max = 31000, @@ -2440,7 +2560,7 @@ minetest.register_decoration( place_on = "rp_default:dirt_with_grass", sidelen = 16, fill_ratio = 0.08, - biomes = {"Forest", "Marsh", "Grove", "Shrubbery", "Oak Shrubbery"}, + biomes = {"Forest", "Marsh", "Dense Grassland", "Grove", "Shrubbery", "Oak Shrubbery"}, decoration = {"rp_default:tall_grass"}, y_min = 0, y_max = 32000, diff --git a/mods/rp_farming/mapgen.lua b/mods/rp_farming/mapgen.lua index 5ab45b4..399c812 100644 --- a/mods/rp_farming/mapgen.lua +++ b/mods/rp_farming/mapgen.lua @@ -15,6 +15,24 @@ minetest.register_decoration( y_max = 32000, }) +minetest.register_decoration( + { + deco_type = "simple", + place_on = "rp_default:dirt_with_grass", + sidelen = 16, + fill_ratio = 0.002, + biomes = {"Dense Grassland"}, + decoration = {"rp_farming:wheat_4"}, + y_min = 1, + y_max = 32000, + noise_params = { + seed = 13, + octaves = 2, + scale = 0.001, + offset = 0.0, + spread = { x = 50, y = 50, z = 50 }, + }, +}) minetest.register_decoration( { deco_type = "simple",