Remove airlike lights, gravel. 5 grasses, streamline functions, flexrealm:papyrus multi-height
parent
95b71d137e
commit
66d5d20fc5
|
@ -1,4 +1,4 @@
|
|||
flexrealm 0.2.14 by paramat
|
||||
flexrealm 0.2.15 by paramat
|
||||
For latest stable Minetest and back to 0.4.8
|
||||
Depends default
|
||||
Licenses: code WTFPL, textures CC BY-SA
|
154
functions.lua
154
functions.lua
|
@ -1,4 +1,7 @@
|
|||
function flexrealm_appletree(x, y, z, treedir, area, data, c_tree, c_leaves, c_apple)
|
||||
function flexrealm_appletree(x, y, z, treedir, area, data)
|
||||
local c_tree = minetest.get_content_id("default:tree")
|
||||
local c_apple = minetest.get_content_id("default:apple")
|
||||
local c_leaves = minetest.get_content_id("default:leaves")
|
||||
if treedir == 1 then
|
||||
for i = -1, 5 do
|
||||
if i >= 3 and i <= 5 then
|
||||
|
@ -104,7 +107,10 @@ function flexrealm_appletree(x, y, z, treedir, area, data, c_tree, c_leaves, c_a
|
|||
end
|
||||
end
|
||||
|
||||
function flexrealm_pinetree(x, y, z, treedir, area, data, c_tree, c_flrneedles, c_snowblock)
|
||||
function flexrealm_pinetree(x, y, z, treedir, area, data)
|
||||
local c_tree = minetest.get_content_id("default:tree")
|
||||
local c_flrneedles = minetest.get_content_id("flexrealm:needles")
|
||||
local c_snowblock = minetest.get_content_id("default:snowblock")
|
||||
if treedir == 1 then
|
||||
for i = -2, 11 do
|
||||
for j = -1, 1 do
|
||||
|
@ -366,7 +372,9 @@ function flexrealm_pinetree(x, y, z, treedir, area, data, c_tree, c_flrneedles,
|
|||
end
|
||||
end
|
||||
|
||||
function flexrealm_savannatree(x, y, z, treedir, area, data, c_tree, c_flrsavleaf)
|
||||
function flexrealm_savannatree(x, y, z, treedir, area, data)
|
||||
local c_tree = minetest.get_content_id("default:tree")
|
||||
local c_flrsavleaf = minetest.get_content_id("flexrealm:savleaf")
|
||||
if treedir == 1 then
|
||||
for i = -2, 6 do
|
||||
if i >= 5 then
|
||||
|
@ -460,7 +468,9 @@ function flexrealm_savannatree(x, y, z, treedir, area, data, c_tree, c_flrsavlea
|
|||
end
|
||||
end
|
||||
|
||||
function flexrealm_jungletree(x, y, z, treedir, area, data, c_juntree, c_flrjunleaf)
|
||||
function flexrealm_jungletree(x, y, z, treedir, area, data)
|
||||
local c_juntree = minetest.get_content_id("default:jungletree")
|
||||
local c_flrjunleaf = minetest.get_content_id("flexrealm:junleaf")
|
||||
if treedir == 1 then
|
||||
for i = -4, 17 do
|
||||
if i == 11 or i == 17 then
|
||||
|
@ -555,45 +565,56 @@ function flexrealm_jungletree(x, y, z, treedir, area, data, c_juntree, c_flrjunl
|
|||
end
|
||||
|
||||
|
||||
function flexrealm_randgrass(data, c_grass1, c_grass3, c_grass5, via)
|
||||
local rand = math.random(3)
|
||||
function flexrealm_randgrass(data, via)
|
||||
local c_grass1 = minetest.get_content_id("default:grass_1")
|
||||
local c_grass2 = minetest.get_content_id("default:grass_2")
|
||||
local c_grass3 = minetest.get_content_id("default:grass_3")
|
||||
local c_grass4 = minetest.get_content_id("default:grass_4")
|
||||
local c_grass5 = minetest.get_content_id("default:grass_5")
|
||||
local rand = math.random(5)
|
||||
if rand == 1 then
|
||||
data[via] = c_grass1
|
||||
elseif rand == 2 then
|
||||
data[via] = c_grass2
|
||||
elseif rand == 3 then
|
||||
data[via] = c_grass3
|
||||
elseif rand == 4 then
|
||||
data[via] = c_grass4
|
||||
else
|
||||
data[via] = c_grass5
|
||||
end
|
||||
end
|
||||
|
||||
function flexrealm_grass(x, y, z, treedir, area, data, c_grass1, c_grass3, c_grass5, vi)
|
||||
function flexrealm_grass(x, y, z, treedir, area, data)
|
||||
if treedir == 1 then
|
||||
local via = vi + 1
|
||||
flexrealm_randgrass(data, c_grass1, c_grass3, c_grass5, via)
|
||||
local via = area:index(x + 1, y, z)
|
||||
flexrealm_randgrass(data, via)
|
||||
elseif treedir == 2 then
|
||||
local via = vi - 1
|
||||
flexrealm_randgrass(data, c_grass1, c_grass3, c_grass5, via)
|
||||
local via = area:index(x - 1 , y, z)
|
||||
flexrealm_randgrass(data, via)
|
||||
elseif treedir == 3 then
|
||||
local via = area:index(x , y + 1, z)
|
||||
flexrealm_randgrass(data, c_grass1, c_grass3, c_grass5, via)
|
||||
local via = area:index(x, y + 1, z)
|
||||
flexrealm_randgrass(data, via)
|
||||
elseif treedir == 4 then
|
||||
local via = area:index(x , y - 1, z)
|
||||
flexrealm_randgrass(data, c_grass1, c_grass3, c_grass5, via)
|
||||
local via = area:index(x, y - 1, z)
|
||||
flexrealm_randgrass(data, via)
|
||||
elseif treedir == 5 then
|
||||
local via = area:index(x , y , z + 1)
|
||||
flexrealm_randgrass(data, c_grass1, c_grass3, c_grass5, via)
|
||||
local via = area:index(x, y, z + 1)
|
||||
flexrealm_randgrass(data, via)
|
||||
elseif treedir == 6 then
|
||||
local via = area:index(x , y , z - 1)
|
||||
flexrealm_randgrass(data, c_grass1, c_grass3, c_grass5, via)
|
||||
local via = area:index(x, y, z - 1)
|
||||
flexrealm_randgrass(data, via)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function flexrealm_dryshrub(x, y, z, treedir, area, data, c_dryshrub, vi)
|
||||
function flexrealm_dryshrub(x, y, z, treedir, area, data)
|
||||
local c_dryshrub = minetest.get_content_id("default:dry_shrub")
|
||||
if treedir == 1 then
|
||||
data[vi + 1] = c_dryshrub
|
||||
local via = area:index(x + 1, y, z)
|
||||
data[via] = c_dryshrub
|
||||
elseif treedir == 2 then
|
||||
data[vi - 1] = c_dryshrub
|
||||
data[via] = c_dryshrub
|
||||
elseif treedir == 3 then
|
||||
local via = area:index(x , y + 1, z)
|
||||
data[via] = c_dryshrub
|
||||
|
@ -609,11 +630,13 @@ function flexrealm_dryshrub(x, y, z, treedir, area, data, c_dryshrub, vi)
|
|||
end
|
||||
end
|
||||
|
||||
function flexrealm_jungrass(x, y, z, treedir, area, data, c_jungrass, vi)
|
||||
function flexrealm_jungrass(x, y, z, treedir, area, data)
|
||||
local c_jungrass = minetest.get_content_id("default:junglegrass")
|
||||
if treedir == 1 then
|
||||
data[vi + 1] = c_jungrass
|
||||
local via = area:index(x + 1, y, z)
|
||||
data[via] = c_jungrass
|
||||
elseif treedir == 2 then
|
||||
data[vi - 1] = c_jungrass
|
||||
data[via] = c_jungrass
|
||||
elseif treedir == 3 then
|
||||
local via = area:index(x , y + 1, z)
|
||||
data[via] = c_jungrass
|
||||
|
@ -629,27 +652,49 @@ function flexrealm_jungrass(x, y, z, treedir, area, data, c_jungrass, vi)
|
|||
end
|
||||
end
|
||||
|
||||
function flexrealm_papyrus(x, y, z, treedir, area, data, c_papyrus, vi)
|
||||
function flexrealm_papyrus(x, y, z, treedir, area, data)
|
||||
local c_flrpapyrus = minetest.get_content_id("flexrealm:papyrus")
|
||||
local ph = math.random(1, 4)
|
||||
if treedir == 1 then
|
||||
data[vi + 1] = c_papyrus
|
||||
for i = 1, ph do
|
||||
local vip = area:index(x + i, y, z)
|
||||
data[vip] = c_flrpapyrus
|
||||
end
|
||||
elseif treedir == 2 then
|
||||
data[vi - 1] = c_papyrus
|
||||
elseif treedir == 3 then
|
||||
local via = area:index(x , y + 1, z)
|
||||
data[via] = c_papyrus
|
||||
for i = 1, ph do
|
||||
local vip = area:index(x - i, y, z)
|
||||
data[vip] = c_flrpapyrus
|
||||
end
|
||||
elseif treedir == 3 then
|
||||
for j = 1, ph do
|
||||
local vip = area:index(x, y + j, z)
|
||||
data[vip] = c_flrpapyrus
|
||||
end
|
||||
elseif treedir == 4 then
|
||||
local via = area:index(x , y - 1, z)
|
||||
data[via] = c_papyrus
|
||||
for j = 1, ph do
|
||||
local vip = area:index(x, y - j, z)
|
||||
data[vip] = c_flrpapyrus
|
||||
end
|
||||
elseif treedir == 5 then
|
||||
local via = area:index(x , y , z + 1)
|
||||
data[via] = c_papyrus
|
||||
for k = 1, ph do
|
||||
local vip = area:index(x, y, z + k)
|
||||
data[vip] = c_flrpapyrus
|
||||
end
|
||||
elseif treedir == 6 then
|
||||
local via = area:index(x , y , z - 1)
|
||||
data[via] = c_papyrus
|
||||
for k = 1, ph do
|
||||
local vip = area:index(x, y, z - k)
|
||||
data[vip] = c_flrpapyrus
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function flexrealm_randflower(data, c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, via)
|
||||
function flexrealm_randflower(data, via)
|
||||
local c_danwhi = minetest.get_content_id("flowers:dandelion_white")
|
||||
local c_danyel = minetest.get_content_id("flowers:dandelion_yellow")
|
||||
local c_rose = minetest.get_content_id("flowers:rose")
|
||||
local c_tulip = minetest.get_content_id("flowers:tulip")
|
||||
local c_geranium = minetest.get_content_id("flowers:geranium")
|
||||
local c_viola = minetest.get_content_id("flowers:viola")
|
||||
local rand = math.random(6)
|
||||
if rand == 1 then
|
||||
data[via] = c_danwhi
|
||||
|
@ -666,35 +711,36 @@ function flexrealm_randflower(data, c_danwhi, c_rose, c_tulip, c_danyel, c_geran
|
|||
end
|
||||
end
|
||||
|
||||
function flexrealm_flower(x, y, z, treedir, area, data, c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, vi)
|
||||
function flexrealm_flower(x, y, z, treedir, area, data)
|
||||
if treedir == 1 then
|
||||
local via = vi + 1
|
||||
flexrealm_randflower(data, c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, via)
|
||||
local via = area:index(x + 1, y, z)
|
||||
flexrealm_randflower(data, via)
|
||||
elseif treedir == 2 then
|
||||
local via = vi - 1
|
||||
flexrealm_randflower(data, c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, via)
|
||||
local via = area:index(x - 1, y, z)
|
||||
flexrealm_randflower(data, via)
|
||||
elseif treedir == 3 then
|
||||
local via = area:index(x , y + 1, z)
|
||||
flexrealm_randflower(data, c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, via)
|
||||
flexrealm_randflower(data, via)
|
||||
elseif treedir == 4 then
|
||||
local via = area:index(x , y - 1, z)
|
||||
flexrealm_randflower(data, c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, via)
|
||||
flexrealm_randflower(data, via)
|
||||
elseif treedir == 5 then
|
||||
local via = area:index(x , y , z + 1)
|
||||
flexrealm_randflower(data, c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, via)
|
||||
flexrealm_randflower(data, via)
|
||||
elseif treedir == 6 then
|
||||
local via = area:index(x , y , z - 1)
|
||||
flexrealm_randflower(data, c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, via)
|
||||
flexrealm_randflower(data, via)
|
||||
end
|
||||
end
|
||||
|
||||
function flexrealm_cactus(x, y, z, treedir, area, data, c_cactus)
|
||||
function flexrealm_cactus(x, y, z, treedir, area, data)
|
||||
local c_flrcactus = minetest.get_content_id("flexrealm:cactus")
|
||||
if treedir == 1 then
|
||||
for i = -1, 5 do
|
||||
for j = -2, 2 do
|
||||
if j == 0 or i == 3 or (i == 4 and math.abs(j) == 2) then
|
||||
local vic = area:index(x + i, y + j, z)
|
||||
data[vic] = c_cactus
|
||||
data[vic] = c_flrcactus
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -703,7 +749,7 @@ function flexrealm_cactus(x, y, z, treedir, area, data, c_cactus)
|
|||
for j = -2, 2 do
|
||||
if j == 0 or i == 3 or (i == 4 and math.abs(j) == 2) then
|
||||
local vic = area:index(x - i, y + j, z)
|
||||
data[vic] = c_cactus
|
||||
data[vic] = c_flrcactus
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -712,7 +758,7 @@ function flexrealm_cactus(x, y, z, treedir, area, data, c_cactus)
|
|||
for i = -2, 2 do
|
||||
if i == 0 or j == 3 or (j == 4 and math.abs(i) == 2) then
|
||||
local vic = area:index(x + i, y + j, z)
|
||||
data[vic] = c_cactus
|
||||
data[vic] = c_flrcactus
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -721,7 +767,7 @@ function flexrealm_cactus(x, y, z, treedir, area, data, c_cactus)
|
|||
for i = -2, 2 do
|
||||
if i == 0 or j == 3 or (j == 4 and math.abs(i) == 2) then
|
||||
local vic = area:index(x + i, y - j, z)
|
||||
data[vic] = c_cactus
|
||||
data[vic] = c_flrcactus
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -730,7 +776,7 @@ function flexrealm_cactus(x, y, z, treedir, area, data, c_cactus)
|
|||
for i = -2, 2 do
|
||||
if i == 0 or k == 3 or (k == 4 and math.abs(i) == 2) then
|
||||
local vic = area:index(x + i, y, z + k)
|
||||
data[vic] = c_cactus
|
||||
data[vic] = c_flrcactus
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -739,7 +785,7 @@ function flexrealm_cactus(x, y, z, treedir, area, data, c_cactus)
|
|||
for i = -2, 2 do
|
||||
if i == 0 or k == 3 or (k == 4 and math.abs(i) == 2) then
|
||||
local vic = area:index(x + i, y, z - k)
|
||||
data[vic] = c_cactus
|
||||
data[vic] = c_flrcactus
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
96
init.lua
96
init.lua
|
@ -1,9 +1,14 @@
|
|||
-- flexrealm 0.2.14 by paramat
|
||||
-- flexrealm 0.2.15 by paramat
|
||||
-- For latest stable Minetest and back to 0.4.8
|
||||
-- Depends default
|
||||
-- Licenses: code WTFPL, textures CC BY-SA
|
||||
-- TODO
|
||||
-- Cactus but with interesting shape
|
||||
|
||||
-- Removed airlike lighting nodes
|
||||
-- Removed gravel strata
|
||||
-- All 5 heights of grass in forest and wet grassland
|
||||
-- Rewrote flora functions with content ids defined within functions
|
||||
-- Papyrus now flexrealm:papyrus to avoid papyrus growth (as with cacti)
|
||||
-- Papyrus now multiple heights
|
||||
|
||||
-- Variables
|
||||
|
||||
|
@ -15,8 +20,7 @@ local dyson = false -- Dyson sphere
|
|||
local planet = false -- Planet sphere
|
||||
local tube = false -- East-West tube world
|
||||
|
||||
local light = false -- Layer of light emitting airlike nodes following terrain
|
||||
local noflow = false -- Use non-flowing water in realms other than 'flat'
|
||||
local noflow = false -- Use non-flowing water
|
||||
|
||||
local limit = {
|
||||
XMIN = -33000, -- Limits for all realm types
|
||||
|
@ -60,13 +64,11 @@ local SSLT1 = 0.50 -- -- Sandstone strata low density threshold1
|
|||
local SSHT1 = 0.55 -- -- Sandstone strata high density threshold1
|
||||
local SSLT2 = 0.30 -- -- Sandstone strata low density threshold2
|
||||
local SSHT2 = 0.40 -- -- Sandstone strata high density threshold2
|
||||
local GRLT = 0.20 -- -- Gravel strata low density threshold3
|
||||
local GRHT = 0.23 -- -- Gravel strata high density threshold3
|
||||
local SSLT3 = 0.20 -- -- Gravel strata low density threshold3
|
||||
local SSHT3 = 0.25 -- -- Gravel strata high density threshold3
|
||||
local STOT = 0.10 -- -- Stone density threshold at sea level
|
||||
local DIRT = 0.05 -- -- Dirt density threshold
|
||||
local TRET = 0.01 -- -- Tree growth density threshold, links tree density to soil depth
|
||||
local LELT = -0.22 -- -- LEAN (Light Emitting Airlike Node) low density threshold
|
||||
local LEHT = -0.18 -- -- LEAN high density threshold
|
||||
|
||||
local FITS = 0 -- -- Fissure threshold at surface. Controls size of fissure entrances at surface
|
||||
local FEXP = 0.1 -- -- Fissure expansion rate under surface
|
||||
|
@ -94,9 +96,6 @@ local flora = {
|
|||
CACHA = 361, -- -- Cactus 1/x chance per surface node
|
||||
}
|
||||
|
||||
local LINT = 17 -- -- LEAN abm interval
|
||||
local LCHA = 32*32 -- -- LEAN abm 1/x chance
|
||||
|
||||
-- Noise parameters
|
||||
|
||||
-- 3D noise 1 for terrain
|
||||
|
@ -205,17 +204,6 @@ flexrealm = {}
|
|||
dofile(minetest.get_modpath("flexrealm").."/nodes.lua")
|
||||
dofile(minetest.get_modpath("flexrealm").."/functions.lua")
|
||||
|
||||
-- Abm
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"flexrealm:leanoff"},
|
||||
interval = LINT,
|
||||
chance = LCHA,
|
||||
action = function(pos, node)
|
||||
minetest.add_node(pos,{name="flexrealm:lean"})
|
||||
end,
|
||||
})
|
||||
|
||||
-- On generated function
|
||||
|
||||
minetest.register_on_generated(function(minp, maxp, seed)
|
||||
|
@ -233,7 +221,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
local y1 = maxp.y
|
||||
local z1 = maxp.z
|
||||
print ("[flexrealm] chunk minp ("..x0.." "..y0.." "..z0..")")
|
||||
local sidelen = x1 - x0 + 1 -- chunk side length
|
||||
local sidelen = x1 - x0 + 1
|
||||
local chulens = {x=sidelen, y=sidelen, z=sidelen}
|
||||
local minpos = {x=x0, y=y0, z=z0}
|
||||
|
||||
|
@ -248,30 +236,12 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
local c_stocopp = minetest.get_content_id("default:stone_with_copper")
|
||||
local c_stoiron = minetest.get_content_id("default:stone_with_iron")
|
||||
local c_stocoal = minetest.get_content_id("default:stone_with_coal")
|
||||
local c_apple = minetest.get_content_id("default:apple")
|
||||
local c_leaves = minetest.get_content_id("default:leaves")
|
||||
local c_tree = minetest.get_content_id("default:tree")
|
||||
local c_snowblock = minetest.get_content_id("default:snowblock")
|
||||
local c_ice = minetest.get_content_id("default:ice")
|
||||
local c_sastone = minetest.get_content_id("default:sandstone")
|
||||
local c_needles = minetest.get_content_id("default:needles")
|
||||
local c_juntree = minetest.get_content_id("default:jungletree")
|
||||
local c_jungrass = minetest.get_content_id("default:junglegrass")
|
||||
local c_grass1 = minetest.get_content_id("default:grass_1")
|
||||
local c_grass3 = minetest.get_content_id("default:grass_3")
|
||||
local c_grass5 = minetest.get_content_id("default:grass_5")
|
||||
local c_dryshrub = minetest.get_content_id("default:dry_shrub")
|
||||
local c_watsour = minetest.get_content_id("default:water_source")
|
||||
local c_papyrus = minetest.get_content_id("default:papyrus")
|
||||
local c_dirt = minetest.get_content_id("default:dirt")
|
||||
local c_clay = minetest.get_content_id("default:clay")
|
||||
local c_danwhi = minetest.get_content_id("flowers:dandelion_white")
|
||||
local c_danyel = minetest.get_content_id("flowers:dandelion_yellow")
|
||||
local c_rose = minetest.get_content_id("flowers:rose")
|
||||
local c_tulip = minetest.get_content_id("flowers:tulip")
|
||||
local c_geranium = minetest.get_content_id("flowers:geranium")
|
||||
local c_viola = minetest.get_content_id("flowers:viola")
|
||||
local c_cactus = minetest.get_content_id("default:cactus")
|
||||
|
||||
local c_flrdirt = minetest.get_content_id("flexrealm:dirt")
|
||||
local c_flrgrass = minetest.get_content_id("flexrealm:grass")
|
||||
|
@ -279,15 +249,10 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
local c_flrdesand = minetest.get_content_id("flexrealm:desand")
|
||||
local c_flrstone = minetest.get_content_id("flexrealm:stone")
|
||||
local c_flrdestone = minetest.get_content_id("flexrealm:destone")
|
||||
local c_flrgravel = minetest.get_content_id("flexrealm:gravel")
|
||||
local c_flrleanoff = minetest.get_content_id("flexrealm:leanoff")
|
||||
local c_flrcloud = minetest.get_content_id("flexrealm:cloud")
|
||||
local c_flrneedles = minetest.get_content_id("flexrealm:needles")
|
||||
local c_flrdrygrass = minetest.get_content_id("flexrealm:drygrass")
|
||||
local c_flrfrograss = minetest.get_content_id("flexrealm:frograss")
|
||||
local c_flrperfrost = minetest.get_content_id("flexrealm:perfrost")
|
||||
local c_flrsavleaf = minetest.get_content_id("flexrealm:savleaf")
|
||||
local c_flrjunleaf = minetest.get_content_id("flexrealm:junleaf")
|
||||
local c_flrwatzero = minetest.get_content_id("flexrealm:watzero")
|
||||
local c_flrwatfour = minetest.get_content_id("flexrealm:watfour")
|
||||
local c_flrswatzero = minetest.get_content_id("flexrealm:swatzero")
|
||||
|
@ -386,7 +351,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
|
||||
local nofis = false
|
||||
if density > 0 then -- if terrain then set nofis
|
||||
if math.abs(nvals3[ni]) > FITS + density ^ 0.5 * FEXP then
|
||||
if math.abs(nvals3[ni]) > FITS + math.sqrt(density) * FEXP then
|
||||
nofis = true
|
||||
end
|
||||
end
|
||||
|
@ -495,10 +460,9 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
data[vi] = c_flrsand
|
||||
elseif (density >= stot and density <= DEPT and nofis) then -- stone cut by fissures
|
||||
if (density >= SSLT1 and density <= SSHT1)
|
||||
or (density >= SSLT2 and density <= SSHT2) then
|
||||
or (density >= SSLT2 and density <= SSHT2)
|
||||
or (density >= SSLT3 and density <= SSHT3) then
|
||||
data[vi] = c_sastone
|
||||
elseif density >= GRLT and density <= GRHT then
|
||||
data[vi] = c_flrgravel
|
||||
elseif desert then
|
||||
data[vi] = c_flrdestone
|
||||
elseif math.random(OCHA) == 2 then -- ores
|
||||
|
@ -545,52 +509,51 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
else -- else surface nodes
|
||||
if taiga then
|
||||
if tree and math.random(flora.PTCHA) == 2 then
|
||||
flexrealm_pinetree(x, y, z, treedir, area, data, c_tree, c_flrneedles, c_snowblock)
|
||||
flexrealm_pinetree(x, y, z, treedir, area, data)
|
||||
else
|
||||
data[vi] = c_snowblock
|
||||
end
|
||||
elseif deforest then
|
||||
data[vi] = c_flrgrass
|
||||
if tree and math.random(flora.ATCHA) == 2 then
|
||||
flexrealm_appletree(x, y, z, treedir, area, data, c_tree, c_leaves, c_apple)
|
||||
flexrealm_appletree(x, y, z, treedir, area, data)
|
||||
elseif tree and grad <= 0 and math.random(flora.DEFCHA) == 2 then
|
||||
flexrealm_flower(x, y, z, treedir, area, data,
|
||||
c_danwhi, c_rose, c_tulip, c_danyel, c_geranium, c_viola, vi)
|
||||
flexrealm_flower(x, y, z, treedir, area, data)
|
||||
elseif tree and grad <= 0 and math.random(flora.DEGCHA) == 2 then
|
||||
flexrealm_grass(x, y, z, treedir, area, data, c_grass1, c_grass3, c_grass5, vi)
|
||||
flexrealm_grass(x, y, z, treedir, area, data)
|
||||
end
|
||||
elseif savanna then
|
||||
data[vi] = c_flrdrygrass
|
||||
if tree and math.random(flora.STCHA) == 2 then
|
||||
flexrealm_savannatree(x, y, z, treedir, area, data, c_tree, c_flrsavleaf)
|
||||
flexrealm_savannatree(x, y, z, treedir, area, data)
|
||||
elseif tree and grad <= 0 and math.random(flora.SAGCHA) == 2 then
|
||||
flexrealm_dryshrub(x, y, z, treedir, area, data, c_dryshrub, vi)
|
||||
flexrealm_dryshrub(x, y, z, treedir, area, data)
|
||||
end
|
||||
elseif raforest then
|
||||
if tree and math.random(flora.JTCHA) == 2 then
|
||||
flexrealm_jungletree(x, y, z, treedir, area, data, c_juntree, c_flrjunleaf)
|
||||
flexrealm_jungletree(x, y, z, treedir, area, data)
|
||||
else
|
||||
data[vi] = c_flrgrass
|
||||
end
|
||||
elseif drygrass then
|
||||
data[vi] = c_flrdrygrass
|
||||
if tree and grad <= 0 and math.random(flora.DRGCHA) == 2 then
|
||||
flexrealm_dryshrub(x, y, z, treedir, area, data, c_dryshrub, vi)
|
||||
flexrealm_dryshrub(x, y, z, treedir, area, data)
|
||||
end
|
||||
elseif wetgrass then
|
||||
data[vi] = c_flrgrass
|
||||
if tree and grad <= 0 and math.random(flora.WEGCHA) == 2 then
|
||||
if math.random(3) == 2 then
|
||||
flexrealm_grass(x, y, z, treedir, area, data, c_grass1, c_grass3, c_grass5, vi)
|
||||
flexrealm_grass(x, y, z, treedir, area, data)
|
||||
else
|
||||
flexrealm_jungrass(x, y, z, treedir, area, data, c_jungrass, vi)
|
||||
flexrealm_jungrass(x, y, z, treedir, area, data)
|
||||
end
|
||||
end
|
||||
elseif tundra then
|
||||
data[vi] = c_flrfrograss
|
||||
elseif desert then
|
||||
if tree and humid > LWET - 0.2 and math.random(flora.CACHA) == 2 then
|
||||
flexrealm_cactus(x, y, z, treedir, area, data, c_cactus)
|
||||
flexrealm_cactus(x, y, z, treedir, area, data)
|
||||
else
|
||||
data[vi] = c_flrdesand
|
||||
end
|
||||
|
@ -611,7 +574,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
data[vi] = c_flrswatfour
|
||||
end
|
||||
if math.random(flora.PAPCHA) == 2 then -- papyrus
|
||||
flexrealm_papyrus(x, y, z, treedir, area, data, c_papyrus, vi)
|
||||
flexrealm_papyrus(x, y, z, treedir, area, data)
|
||||
end
|
||||
elseif noflow then -- water
|
||||
data[vi] = c_flrwatzero
|
||||
|
@ -624,10 +587,6 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
data[vi] = c_flrsand -- sand blocking fissures in faults below water level
|
||||
elseif not nofis and density >= math.sqrt(terblen) * DEPT and density < DEPT then
|
||||
data[vi] = c_flrlavazero -- lava in fissures, rises to surface in rougher ground
|
||||
elseif light and density >= LELT and density <= LEHT and math.random(8) == 2 then
|
||||
if nodid == c_air then -- light emitting air nodes
|
||||
data[vi] = c_flrleanoff
|
||||
end
|
||||
elseif grad >= CLLT and grad <= CLHT -- clouds
|
||||
and ((density >= -1.1 and density <= -1.07)
|
||||
or (density >= -0.93 and density <= -0.9)) then
|
||||
|
@ -641,6 +600,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
vm:set_data(data)
|
||||
vm:set_lighting({day=0, night=0})
|
||||
vm:calc_lighting()
|
||||
|
|
59
nodes.lua
59
nodes.lua
|
@ -1,27 +1,3 @@
|
|||
minetest.register_node("flexrealm:lean", {
|
||||
description = "FLR LEAN",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
light_source = 14,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
buildable_to = true,
|
||||
groups = {not_in_creative_inventory=1},
|
||||
})
|
||||
|
||||
minetest.register_node("flexrealm:leanoff", {
|
||||
description = "FLR LEAN Off",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
light_source = 14,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
buildable_to = true,
|
||||
groups = {not_in_creative_inventory=1},
|
||||
})
|
||||
|
||||
minetest.register_node("flexrealm:dirt", {
|
||||
description = "FLR Dirt",
|
||||
tiles = {"default_dirt.png"},
|
||||
|
@ -140,16 +116,33 @@ minetest.register_node("flexrealm:junleaf", {
|
|||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("flexrealm:gravel", {
|
||||
description = "FLR Gravel",
|
||||
tiles = {"default_gravel.png"},
|
||||
minetest.register_node("flexrealm:cactus", {
|
||||
description = "FLR Cactus",
|
||||
tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"},
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=2},
|
||||
drop = "default:gravel",
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_gravel_footstep", gain=0.5},
|
||||
dug = {name="default_gravel_footstep", gain=1.0},
|
||||
}),
|
||||
groups = {snappy=1,choppy=3,flammable=2},
|
||||
drop = "default:cactus",
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
minetest.register_node("flexrealm:papyrus", {
|
||||
description = "FLR Papyrus",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"default_papyrus.png"},
|
||||
inventory_image = "default_papyrus.png",
|
||||
wield_image = "default_papyrus.png",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
|
||||
},
|
||||
groups = {snappy=3,flammable=2},
|
||||
drop = "default:papyrus",
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("flexrealm:watzero", {
|
||||
|
|
Loading…
Reference in New Issue