forked from VoxeLibre/VoxeLibre
Include biomegen in generation where possible
This commit is contained in:
parent
813d669875
commit
cba8b658fd
|
@ -100,7 +100,7 @@ function mcl_vars.get_chunk_number(pos) -- unsigned int
|
||||||
c.x + k_positive
|
c.x + k_positive
|
||||||
end
|
end
|
||||||
|
|
||||||
if not superflat and not singlenode then
|
if not superflat and (not singlenode or minetest.get_modpath("biomegen")) then
|
||||||
-- Normal mode
|
-- Normal mode
|
||||||
--[[ Realm stacking (h is for height)
|
--[[ Realm stacking (h is for height)
|
||||||
- Overworld (h>=256)
|
- Overworld (h>=256)
|
||||||
|
|
|
@ -44,7 +44,7 @@ local textures = {"weather_pack_rain_raindrop_1.png", "weather_pack_rain_raindro
|
||||||
|
|
||||||
function mcl_weather.has_rain(pos)
|
function mcl_weather.has_rain(pos)
|
||||||
if not mcl_worlds.has_weather(pos) then return false end
|
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)]
|
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
|
if bd and bd._mcl_biome_type == "hot" then return false end
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -172,7 +172,7 @@ mcl_weather.skycolor = {
|
||||||
if dim == "overworld" then
|
if dim == "overworld" then
|
||||||
local biomesky
|
local biomesky
|
||||||
local biomefog
|
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_index = minetest.get_biome_data(player:get_pos()).biome
|
||||||
local biome_name = minetest.get_biome_name(biome_index)
|
local biome_name = minetest.get_biome_name(biome_index)
|
||||||
local biome = minetest.registered_biomes[biome_name]
|
local biome = minetest.registered_biomes[biome_name]
|
||||||
|
@ -246,7 +246,7 @@ mcl_weather.skycolor = {
|
||||||
elseif dim == "end" then
|
elseif dim == "end" then
|
||||||
local biomesky = "#000000"
|
local biomesky = "#000000"
|
||||||
local biomefog = "#A080A0"
|
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_index = minetest.get_biome_data(player:get_pos()).biome
|
||||||
local biome_name = minetest.get_biome_name(biome_index)
|
local biome_name = minetest.get_biome_name(biome_index)
|
||||||
local biome = minetest.registered_biomes[biome_name]
|
local biome = minetest.registered_biomes[biome_name]
|
||||||
|
@ -271,7 +271,7 @@ mcl_weather.skycolor = {
|
||||||
elseif dim == "nether" then
|
elseif dim == "nether" then
|
||||||
local biomesky = "#6EB1FF"
|
local biomesky = "#6EB1FF"
|
||||||
local biomefog = "#330808"
|
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_index = minetest.get_biome_data(player:get_pos()).biome
|
||||||
local biome_name = minetest.get_biome_name(biome_index)
|
local biome_name = minetest.get_biome_name(biome_index)
|
||||||
local biome = minetest.registered_biomes[biome_name]
|
local biome = minetest.registered_biomes[biome_name]
|
||||||
|
|
|
@ -63,7 +63,7 @@ local psdef= {
|
||||||
|
|
||||||
function mcl_weather.has_snow(pos)
|
function mcl_weather.has_snow(pos)
|
||||||
if not mcl_worlds.has_weather(pos) then return false end
|
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 bn = minetest.get_biome_name(minetest.get_biome_data(pos).biome)
|
||||||
local bd = minetest.registered_biomes[bn]
|
local bd = minetest.registered_biomes[bn]
|
||||||
if bd and bd._mcl_biome_type == "snowy" then return true end
|
if bd and bd._mcl_biome_type == "snowy" then return true end
|
||||||
|
|
|
@ -2,3 +2,4 @@ name = mcl_biomes
|
||||||
author = maikerumine
|
author = maikerumine
|
||||||
description = Adds the various biomes and biome-related things for non-v6 map generators.
|
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
|
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
|
||||||
|
|
|
@ -5,7 +5,7 @@ mcl_dungeons = {}
|
||||||
local mg_name = minetest.get_mapgen_setting("mg_name")
|
local mg_name = minetest.get_mapgen_setting("mg_name")
|
||||||
|
|
||||||
-- Are dungeons disabled?
|
-- 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
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -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)
|
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
|
-- 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_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)
|
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
|
if maxp.y < mcl_vars.mg_end_min or minp.y > mcl_vars.mg_end_max then return end
|
||||||
end, 9999, true)
|
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_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_foliage", block_fixes_foliage, nil, 9999, true)
|
||||||
mcl_mapgen_core.register_generator("block_fixes_water", block_fixes_water, nil, 9999, true)
|
mcl_mapgen_core.register_generator("block_fixes_water", block_fixes_water, nil, 9999, true)
|
||||||
|
|
|
@ -817,7 +817,7 @@ local function end_fixes(minp,maxp)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function basic_node(minp, maxp, blockseed)
|
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
|
-- Generate special decorations
|
||||||
if mg_name == "v6" then
|
if mg_name == "v6" then
|
||||||
generate_underground_mushrooms(minp, maxp, blockseed)
|
generate_underground_mushrooms(minp, maxp, blockseed)
|
||||||
|
|
|
@ -24,7 +24,7 @@ local seed = tonumber(minetest.get_mapgen_setting("seed"))
|
||||||
local function init_strongholds()
|
local function init_strongholds()
|
||||||
local stronghold_positions = {}
|
local stronghold_positions = {}
|
||||||
-- Don't generate strongholds in singlenode
|
-- Don't generate strongholds in singlenode
|
||||||
if mg_name == "singlenode" then
|
if (mg_name == "singlenode" and not minetest.get_modpath("biomegen")) then
|
||||||
return {}
|
return {}
|
||||||
end
|
end
|
||||||
local pr = PseudoRandom(seed)
|
local pr = PseudoRandom(seed)
|
||||||
|
|
|
@ -395,7 +395,7 @@ function mcl_structures.register_structure_spawn(def)
|
||||||
local p = vector.offset(pos,0,1,0)
|
local p = vector.offset(pos,0,1,0)
|
||||||
if minetest.get_node(p).name ~= "air" then return end
|
if minetest.get_node(p).name ~= "air" then return end
|
||||||
if minetest.get_meta(pos):get_string("spawnblock") == "" 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
|
if table.indexof(def.biomes,minetest.get_biome_name(minetest.get_biome_data(p).biome)) == -1 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
|
@ -78,7 +78,7 @@ end
|
||||||
|
|
||||||
-- Disable natural generation in singlenode.
|
-- Disable natural generation in singlenode.
|
||||||
local mg_name = minetest.get_mapgen_setting("mg_name")
|
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)
|
mcl_mapgen_core.register_generator("villages", nil, function(minp, maxp, blockseed)
|
||||||
if maxp.y < 0 then return end
|
if maxp.y < 0 then return end
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ local probability_railcaves_in_mapchunk = P(0.33333)
|
||||||
setting = tonumber(minetest.settings:get("tsm_railcorridors_probability_railcaves_in_mapchunk"))
|
setting = tonumber(minetest.settings:get("tsm_railcorridors_probability_railcaves_in_mapchunk"))
|
||||||
-- Extra check to prevent mod griefing in singlenode, mcimported worlds.
|
-- Extra check to prevent mod griefing in singlenode, mcimported worlds.
|
||||||
local mg_name = minetest.get_mapgen_setting("mg_name")
|
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)
|
probability_railcaves_in_mapchunk = P(0)
|
||||||
elseif setting then
|
elseif setting then
|
||||||
probability_railcaves_in_mapchunk = P(setting)
|
probability_railcaves_in_mapchunk = P(setting)
|
||||||
|
|
|
@ -75,7 +75,7 @@ local node_search_list =
|
||||||
-- Initial variables
|
-- Initial variables
|
||||||
|
|
||||||
local success = storage:get_int("mcl_spawn_success")==1
|
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 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 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}
|
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}
|
||||||
|
|
Loading…
Reference in New Issue