add compatibilty bnackguar for minetest older engines
* also detect loop optimization on newer ones to future reduce of lag so we can leave the older list of minerals be into a some pile of nodes * fixed part of https://notabug.org/TenPlus1/nssb/issues/2 a complete fix will need a configuration flag to let some ore on generationmain
parent
d8f8f53ce5
commit
faecc39299
2
init.lua
2
init.lua
|
@ -2,6 +2,8 @@ nssb = {}
|
|||
|
||||
local path = minetest.get_modpath("nssb")
|
||||
|
||||
nssb.is_50 = minetest.has_feature("object_use_texture_alpha") or nil
|
||||
|
||||
dofile(path .. "/nodes.lua")
|
||||
dofile(path .. "/mapgen.lua")
|
||||
dofile(path .. "/spawn.lua")
|
||||
|
|
93
mapgen.lua
93
mapgen.lua
|
@ -1,7 +1,7 @@
|
|||
local moreores = minetest.get_modpath("moreores")
|
||||
local is_50 = nssb.is_50
|
||||
|
||||
nssb.mymapgenis = tonumber(minetest.settings:get("mymapgenis")) or 7
|
||||
|
||||
if nssb.mymapgenis ~= 6 and nssb.mymapgenis ~= 7 then
|
||||
nssb.mymapgenis = 7
|
||||
end
|
||||
|
@ -15,6 +15,14 @@ local posplace = {x = 0, y = level - 93, z = 0}
|
|||
local posmemory = {x = 0, y = level - 92, z = 0}
|
||||
local postest = {x = 5, y = level - 91, z = 6}
|
||||
|
||||
-- ore type generation
|
||||
local oretype_morlan_layer
|
||||
if is_50 then
|
||||
oretype_morlan_layer = "stratum"
|
||||
else
|
||||
oretype_morlan_layer = "scatter"
|
||||
end
|
||||
|
||||
function nssb_register_buildings(
|
||||
build, -- name of the schematic
|
||||
rand, -- 1/rand is the probability of the spawning of the schematic if the place found is acceptable
|
||||
|
@ -362,11 +370,9 @@ nssb_register_buildings ("blocobiggesthouse", 4, "default:stone", 0, "air", 0,
|
|||
-- This dimension is "divided" in in 7 layer.
|
||||
-- 1st layer is indistructible, made of indistructible morentir
|
||||
|
||||
-- for i = 1, 9 do
|
||||
|
||||
for i = 1, 9 do
|
||||
minetest.register_ore({
|
||||
--ore_type = "scatter",
|
||||
ore_type = "stratum",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = "nssb:indistructible_morentir",
|
||||
wherein = {
|
||||
"default:water_source","default:water_flowing","default:gravel",
|
||||
|
@ -388,15 +394,15 @@ nssb_register_buildings ("blocobiggesthouse", 4, "default:stone", 0, "air", 0,
|
|||
y_min = level - 44,
|
||||
y_max = level - 37
|
||||
})
|
||||
-- end
|
||||
if is_50 then break end
|
||||
end
|
||||
|
||||
--[[
|
||||
if moreores then
|
||||
|
||||
for i = 1, 9 do
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = "nssb:indistructible_morentir",
|
||||
wherein = {
|
||||
"moreores:mineral_tin", "moreores:mineral_silver",
|
||||
|
@ -409,18 +415,16 @@ if moreores then
|
|||
y_max = level - 37
|
||||
})
|
||||
end
|
||||
if is_50 then break end
|
||||
end
|
||||
]]
|
||||
|
||||
-- 2nd layer is "stalagmitic", have bats and morelentir
|
||||
|
||||
local function replace2(old, new)
|
||||
|
||||
-- for i = 1, 9 do
|
||||
|
||||
for i = 1, 9 do
|
||||
minetest.register_ore({
|
||||
-- ore_type = "scatter",
|
||||
ore_type = "stratum",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = new,
|
||||
wherein = old,
|
||||
clust_scarcity = 1,
|
||||
|
@ -429,7 +433,8 @@ local function replace2(old, new)
|
|||
y_min = level - 65,
|
||||
y_max = level - 45
|
||||
})
|
||||
-- end
|
||||
if is_50 then break end
|
||||
end
|
||||
end
|
||||
|
||||
-- optimized list
|
||||
|
@ -493,7 +498,6 @@ minetest.register_ore({
|
|||
})
|
||||
|
||||
for i = 1, 3 do
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "air",
|
||||
|
@ -504,15 +508,14 @@ for i = 1, 3 do
|
|||
y_min = level - 66,
|
||||
y_max = level - 58
|
||||
})
|
||||
if is_50 then break end
|
||||
end
|
||||
|
||||
-- 3rd layer is made by air
|
||||
|
||||
--for i = 1, 32 do
|
||||
|
||||
for i = 1, 32 do
|
||||
minetest.register_ore({
|
||||
--ore_type = "scatter",
|
||||
ore_type = "stratum",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = "air",
|
||||
wherein = {
|
||||
"nssb:ant_dirt", "default:stone", "default:cobble", "default:stonebrick",
|
||||
|
@ -533,15 +536,15 @@ end
|
|||
y_min = level - 93,
|
||||
y_max = level - 66
|
||||
})
|
||||
--end
|
||||
if is_50 then break end
|
||||
end
|
||||
|
||||
--[[
|
||||
if moreores then
|
||||
|
||||
for i = 1, 9 do
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = "air",
|
||||
wherein = {
|
||||
"moreores:mineral_tin", "moreores:mineral_silver",
|
||||
|
@ -553,6 +556,7 @@ if moreores then
|
|||
y_min = level - 93,
|
||||
y_max = level - 66
|
||||
})
|
||||
if is_50 then break end
|
||||
end
|
||||
end
|
||||
]]
|
||||
|
@ -694,11 +698,9 @@ minetest.register_ore({
|
|||
|
||||
local function replace4(old, new)
|
||||
|
||||
-- for i = 1, 9 do
|
||||
|
||||
for i = 1, 9 do
|
||||
minetest.register_ore({
|
||||
--ore_type = "scatter",
|
||||
ore_type = "stratum",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = new,
|
||||
wherein = old,
|
||||
clust_scarcity = 1,
|
||||
|
@ -707,7 +709,8 @@ local function replace4(old, new)
|
|||
y_min = level - 107,
|
||||
y_max = level - 94
|
||||
})
|
||||
-- end
|
||||
if is_50 then break end
|
||||
end
|
||||
end
|
||||
|
||||
-- optimized list
|
||||
|
@ -790,11 +793,9 @@ minetest.register_ore({
|
|||
|
||||
local function replace5(old, new)
|
||||
|
||||
-- for i = 1, 9 do
|
||||
|
||||
for i = 1, 9 do
|
||||
minetest.register_ore({
|
||||
-- ore_type = "scatter",
|
||||
ore_type = "stratum",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = new,
|
||||
wherein = old,
|
||||
clust_scarcity = 1,
|
||||
|
@ -803,7 +804,8 @@ local function replace5(old, new)
|
|||
y_min = level - 156,
|
||||
y_max = level - 108
|
||||
})
|
||||
-- end
|
||||
if is_50 then break end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_ore({
|
||||
|
@ -874,11 +876,10 @@ end
|
|||
|
||||
local function replace6(old, new)
|
||||
|
||||
-- for i = 1, 9 do
|
||||
for i = 1, 9 do
|
||||
|
||||
minetest.register_ore({
|
||||
-- ore_type = "scatter",
|
||||
ore_type = "stratum",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = new,
|
||||
wherein = old,
|
||||
clust_scarcity = 1,
|
||||
|
@ -887,7 +888,8 @@ local function replace6(old, new)
|
|||
y_min = level - 205,
|
||||
y_max = level - 157
|
||||
})
|
||||
-- end
|
||||
if is_50 then break end
|
||||
end
|
||||
end
|
||||
|
||||
-- optimized list
|
||||
|
@ -948,11 +950,10 @@ minetest.register_ore({
|
|||
|
||||
-- 7th layer is indistructible
|
||||
|
||||
-- for i = 1, 9 do
|
||||
for i = 1, 9 do
|
||||
|
||||
minetest.register_ore({
|
||||
-- ore_type = "scatter",
|
||||
ore_type = "stratum",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = "nssb:indistructible_morentir",
|
||||
wherein = {
|
||||
"nssb:ant_dirt", "default:stone", "default:cobble", "default:stonebrick",
|
||||
|
@ -972,7 +973,8 @@ minetest.register_ore({
|
|||
y_min = level - 213,
|
||||
y_max = level - 206
|
||||
})
|
||||
-- end
|
||||
if is_50 then break end
|
||||
end
|
||||
|
||||
--[[
|
||||
if moreores then
|
||||
|
@ -980,7 +982,7 @@ if moreores then
|
|||
for i = 1, 9 do
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = "nssb:indistructible_morentir",
|
||||
wherein = {
|
||||
"moreores:mineral_tin", "moreores:mineral_silver",
|
||||
|
@ -992,15 +994,15 @@ if moreores then
|
|||
y_min = level - 213,
|
||||
y_max = level - 206
|
||||
})
|
||||
if is_50 then break end
|
||||
end
|
||||
end
|
||||
]]
|
||||
|
||||
-- for i = 1, 12 do
|
||||
for i = 1, 12 do
|
||||
|
||||
minetest.register_ore({
|
||||
-- ore_type = "scatter",
|
||||
ore_type = "stratum",
|
||||
ore_type = oretype_morlan_layer,
|
||||
ore = "air",
|
||||
wherein = {
|
||||
"default:water_source", "default:water_flowing", "default:lava_source",
|
||||
|
@ -1012,7 +1014,8 @@ end
|
|||
y_min = level - 207,
|
||||
y_max = level - 45
|
||||
})
|
||||
-- end
|
||||
if is_50 then break end
|
||||
end
|
||||
|
||||
-- Place the buildings in the morlendor
|
||||
|
||||
|
|
Loading…
Reference in New Issue