diff --git a/mods/CORE/mcl_init/init.lua b/mods/CORE/mcl_init/init.lua index f77b03828..c8c67e666 100644 --- a/mods/CORE/mcl_init/init.lua +++ b/mods/CORE/mcl_init/init.lua @@ -100,7 +100,7 @@ function mcl_vars.get_chunk_number(pos) -- unsigned int c.x + k_positive end -if not superflat and not singlenode then +if not superflat and (not singlenode or minetest.get_modpath("biomegen")) then -- Normal mode --[[ Realm stacking (h is for height) - Overworld (h>=256) diff --git a/mods/ENVIRONMENT/mcl_weather/rain.lua b/mods/ENVIRONMENT/mcl_weather/rain.lua index 00dc2f6eb..455f8debe 100644 --- a/mods/ENVIRONMENT/mcl_weather/rain.lua +++ b/mods/ENVIRONMENT/mcl_weather/rain.lua @@ -44,7 +44,7 @@ local textures = {"weather_pack_rain_raindrop_1.png", "weather_pack_rain_raindro function mcl_weather.has_rain(pos) if not mcl_worlds.has_weather(pos) then return false end - if mgname == "singlenode" or mgname == "v6" then return true end + if (mgname == "singlenode" and not minetest.get_modpath("biomegen")) or mgname == "v6" then return true end local bd = minetest.registered_biomes[minetest.get_biome_name(minetest.get_biome_data(pos).biome)] if bd and bd._mcl_biome_type == "hot" then return false end return true diff --git a/mods/ENVIRONMENT/mcl_weather/skycolor.lua b/mods/ENVIRONMENT/mcl_weather/skycolor.lua index aea469760..5a9e0b9aa 100644 --- a/mods/ENVIRONMENT/mcl_weather/skycolor.lua +++ b/mods/ENVIRONMENT/mcl_weather/skycolor.lua @@ -172,7 +172,7 @@ mcl_weather.skycolor = { if dim == "overworld" then local biomesky local biomefog - if mg_name ~= "v6" and mg_name ~= "singlenode" then + if mg_name ~= "v6" and (mg_name ~= "singlenode" or minetest.get_modpath("biomegen")) then local biome_index = minetest.get_biome_data(player:get_pos()).biome local biome_name = minetest.get_biome_name(biome_index) local biome = minetest.registered_biomes[biome_name] @@ -246,7 +246,7 @@ mcl_weather.skycolor = { elseif dim == "end" then local biomesky = "#000000" local biomefog = "#A080A0" - if mg_name ~= "v6" and mg_name ~= "singlenode" then + if mg_name ~= "v6" and (mg_name ~= "singlenode" or minetest.get_modpath("biomegen")) then local biome_index = minetest.get_biome_data(player:get_pos()).biome local biome_name = minetest.get_biome_name(biome_index) local biome = minetest.registered_biomes[biome_name] @@ -271,7 +271,7 @@ mcl_weather.skycolor = { elseif dim == "nether" then local biomesky = "#6EB1FF" local biomefog = "#330808" - if mg_name ~= "v6" and mg_name ~= "singlenode" then + if mg_name ~= "v6" and (mg_name ~= "singlenode" or minetest.get_modpath("biomegen")) then local biome_index = minetest.get_biome_data(player:get_pos()).biome local biome_name = minetest.get_biome_name(biome_index) local biome = minetest.registered_biomes[biome_name] diff --git a/mods/ENVIRONMENT/mcl_weather/snow.lua b/mods/ENVIRONMENT/mcl_weather/snow.lua index 9ff2605df..73ff46437 100644 --- a/mods/ENVIRONMENT/mcl_weather/snow.lua +++ b/mods/ENVIRONMENT/mcl_weather/snow.lua @@ -63,7 +63,7 @@ local psdef= { function mcl_weather.has_snow(pos) if not mcl_worlds.has_weather(pos) then return false end - if mgname == "singlenode" or mgname == "v6" then return false end + if (mgname == "singlenode" and not minetest.get_modpath("biomegen")) or mgname == "v6" then return false end local bn = minetest.get_biome_name(minetest.get_biome_data(pos).biome) local bd = minetest.registered_biomes[bn] if bd and bd._mcl_biome_type == "snowy" then return true end diff --git a/mods/MAPGEN/mcl_biomes/mod.conf b/mods/MAPGEN/mcl_biomes/mod.conf index 6cce58bf4..9bf04a923 100644 --- a/mods/MAPGEN/mcl_biomes/mod.conf +++ b/mods/MAPGEN/mcl_biomes/mod.conf @@ -2,3 +2,4 @@ name = mcl_biomes author = maikerumine description = Adds the various biomes and biome-related things for non-v6 map generators. depends = mcl_init, mcl_mapgen_core, mcl_core, mcl_worlds, mcl_farming, mcl_flowers, mcl_end, mcl_ocean, mcl_crimson, mcl_blackstone, mcl_mangrove +optional_depends = biomegen diff --git a/mods/MAPGEN/mcl_dungeons/init.lua b/mods/MAPGEN/mcl_dungeons/init.lua index c115c35c3..f221e209a 100644 --- a/mods/MAPGEN/mcl_dungeons/init.lua +++ b/mods/MAPGEN/mcl_dungeons/init.lua @@ -5,7 +5,7 @@ mcl_dungeons = {} local mg_name = minetest.get_mapgen_setting("mg_name") -- Are dungeons disabled? -if mcl_vars.mg_dungeons == false or mg_name == "singlenode" then +if mcl_vars.mg_dungeons == false or (mg_name == "singlenode" and not minetest.get_modpath("biomegen")) then return end diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index c3eef6a26..46e828974 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -373,7 +373,7 @@ local function world_structure(vm, data, data2, emin, emax, area, minp, maxp, bl lvm_used = set_layers(data, area, c_void , nil, mcl_vars.mg_realm_barrier_overworld_end_max+1, mcl_vars.mg_overworld_min -1, minp, maxp, lvm_used, pr) - if mg_name ~= "singlenode" then + if (mg_name ~= "singlenode" or minetest.get_modpath("biomegen")) then -- Bedrock lvm_used = set_layers(data, area, c_bedrock, bedrock_check, mcl_vars.mg_bedrock_overworld_min, mcl_vars.mg_bedrock_overworld_max, minp, maxp, lvm_used, pr) lvm_used = set_layers(data, area, c_bedrock, bedrock_check, mcl_vars.mg_bedrock_nether_bottom_min, mcl_vars.mg_bedrock_nether_bottom_max, minp, maxp, lvm_used, pr) @@ -470,7 +470,7 @@ mcl_mapgen_core.register_generator("end_fixes", end_basic, function(minp,maxp) if maxp.y < mcl_vars.mg_end_min or minp.y > mcl_vars.mg_end_max then return end end, 9999, true) -if mg_name ~= "v6" and mg_name ~= "singlenode" then +if mg_name ~= "v6" and (mg_name ~= "singlenode" or minetest.get_modpath("biomegen")) then mcl_mapgen_core.register_generator("block_fixes_grass", block_fixes_grass, nil, 9999, true) mcl_mapgen_core.register_generator("block_fixes_foliage", block_fixes_foliage, nil, 9999, true) mcl_mapgen_core.register_generator("block_fixes_water", block_fixes_water, nil, 9999, true) diff --git a/mods/MAPGEN/mcl_mapgen_core/v6.lua b/mods/MAPGEN/mcl_mapgen_core/v6.lua index bfdc14c06..281b73cbb 100644 --- a/mods/MAPGEN/mcl_mapgen_core/v6.lua +++ b/mods/MAPGEN/mcl_mapgen_core/v6.lua @@ -817,7 +817,7 @@ local function end_fixes(minp,maxp) end local function basic_node(minp, maxp, blockseed) - if mg_name ~= "singlenode" then + if (mg_name ~= "singlenode" or minetest.get_modpath("biomegen")) then -- Generate special decorations if mg_name == "v6" then generate_underground_mushrooms(minp, maxp, blockseed) diff --git a/mods/MAPGEN/mcl_strongholds/init.lua b/mods/MAPGEN/mcl_strongholds/init.lua index d5bc87963..462c1b7e4 100644 --- a/mods/MAPGEN/mcl_strongholds/init.lua +++ b/mods/MAPGEN/mcl_strongholds/init.lua @@ -24,7 +24,7 @@ local seed = tonumber(minetest.get_mapgen_setting("seed")) local function init_strongholds() local stronghold_positions = {} -- Don't generate strongholds in singlenode - if mg_name == "singlenode" then + if (mg_name == "singlenode" and not minetest.get_modpath("biomegen")) then return {} end local pr = PseudoRandom(seed) diff --git a/mods/MAPGEN/mcl_structures/api.lua b/mods/MAPGEN/mcl_structures/api.lua index cf47b4e30..512f47ae1 100644 --- a/mods/MAPGEN/mcl_structures/api.lua +++ b/mods/MAPGEN/mcl_structures/api.lua @@ -395,7 +395,7 @@ function mcl_structures.register_structure_spawn(def) local p = vector.offset(pos,0,1,0) if minetest.get_node(p).name ~= "air" then return end if minetest.get_meta(pos):get_string("spawnblock") == "" then return end - if mg_name ~= "v6" and mg_name ~= "singlenode" and def.biomes then + if mg_name ~= "v6" and (mg_name ~= "singlenode" or minetest.get_modpath("biomegen")) and def.biomes then if table.indexof(def.biomes,minetest.get_biome_name(minetest.get_biome_data(p).biome)) == -1 then return end diff --git a/mods/MAPGEN/mcl_villages/init.lua b/mods/MAPGEN/mcl_villages/init.lua index 0cb0712b5..38789c194 100644 --- a/mods/MAPGEN/mcl_villages/init.lua +++ b/mods/MAPGEN/mcl_villages/init.lua @@ -78,7 +78,7 @@ end -- Disable natural generation in singlenode. local mg_name = minetest.get_mapgen_setting("mg_name") -if mg_name ~= "singlenode" then +if (mg_name ~= "singlenode" or minetest.get_modpath("biomegen")) then mcl_mapgen_core.register_generator("villages", nil, function(minp, maxp, blockseed) if maxp.y < 0 then return end diff --git a/mods/MAPGEN/tsm_railcorridors/init.lua b/mods/MAPGEN/tsm_railcorridors/init.lua index d68c58aa3..351675e54 100644 --- a/mods/MAPGEN/tsm_railcorridors/init.lua +++ b/mods/MAPGEN/tsm_railcorridors/init.lua @@ -20,7 +20,7 @@ local probability_railcaves_in_mapchunk = P(0.33333) setting = tonumber(minetest.settings:get("tsm_railcorridors_probability_railcaves_in_mapchunk")) -- Extra check to prevent mod griefing in singlenode, mcimported worlds. local mg_name = minetest.get_mapgen_setting("mg_name") -if mg_name == "singlenode" then +if (mg_name == "singlenode" and not minetest.get_modpath("biomegen")) then probability_railcaves_in_mapchunk = P(0) elseif setting then probability_railcaves_in_mapchunk = P(setting) diff --git a/mods/PLAYER/mcl_spawn/init.lua b/mods/PLAYER/mcl_spawn/init.lua index eb0208dcb..1452139e3 100644 --- a/mods/PLAYER/mcl_spawn/init.lua +++ b/mods/PLAYER/mcl_spawn/init.lua @@ -75,7 +75,7 @@ local node_search_list = -- Initial variables local success = storage:get_int("mcl_spawn_success")==1 -local searched = (storage:get_int("mcl_spawn_searched")==1) or mg_name == "v6" or mg_name == "singlenode" or minetest.settings:get("static_spawnpoint") +local searched = (storage:get_int("mcl_spawn_searched")==1) or mg_name == "v6" or (mg_name == "singlenode" and not minetest.get_modpath("biomegen")) or minetest.settings:get("static_spawnpoint") local wsp = minetest.string_to_pos(storage:get_string("mcl_spawn_world_spawn_point")) or {} -- world spawn position local check = storage:get_int("mcl_spawn_check") or 0 local cp = minetest.string_to_pos(storage:get_string("mcl_spawn_cp")) or {x=start_pos.x, y=start_pos.y, z=start_pos.z}