pass original_content to logic
This commit is contained in:
parent
e1d09f0536
commit
f7b9ee450c
14
README.md
14
README.md
|
@ -13,9 +13,9 @@ local c_stone = minetest.get_content_id("default:stone")
|
|||
local c_water = minetest.get_content_id("default:water_source")
|
||||
local water_level = 0
|
||||
local old_logic = luamap.logic
|
||||
function luamap.logic(noise_vals,x,y,z,seed)
|
||||
function luamap.logic(noise_vals,x,y,z,seed,original_content)
|
||||
-- get any terrain defined in another mod
|
||||
local content = old_logic(noise_vals,x,y,z,seed)
|
||||
local content = old_logic(noise_vals,x,y,z,seed,original_content)
|
||||
-- use our own logic to add to that logic
|
||||
-- make any nodes below sea level water and below stone level stone
|
||||
if y < water_level then
|
||||
|
@ -54,9 +54,9 @@ local c_stone = minetest.get_content_id("default:stone")
|
|||
local c_water = minetest.get_content_id("default:water_source")
|
||||
local water_level = 0
|
||||
local old_logic = luamap.logic
|
||||
function luamap.logic(noise_vals,x,y,z,seed)
|
||||
function luamap.logic(noise_vals,x,y,z,seed,original_content)
|
||||
-- get any terrain defined in another mod
|
||||
local content = old_logic(noise_vals,x,y,z,seed)
|
||||
local content = old_logic(noise_vals,x,y,z,seed,original_content)
|
||||
|
||||
if y < water_level then
|
||||
content = c_water
|
||||
|
@ -92,7 +92,7 @@ luamap.register_noise("terrainmap",{
|
|||
|
||||
### luamap.logic
|
||||
```lua
|
||||
luamap.logic(noise_vals,x,y,z,seed)
|
||||
luamap.logic(noise_vals,x,y,z,seed,original_content)
|
||||
```
|
||||
|
||||
DESCRIPTION: Override this function to define mapgen logic. Best practice is to
|
||||
|
@ -121,6 +121,10 @@ The coordinates of the position to set the content for
|
|||
|
||||
The seed passed to minetest.register_on_generated()
|
||||
|
||||
`original_content`
|
||||
|
||||
The content id that the original mapgen created. Air if set to singlenode.
|
||||
|
||||
RETURNS:
|
||||
|
||||
should return a content id such as that gotten from
|
||||
|
|
|
@ -26,10 +26,10 @@ local water_level = 0
|
|||
|
||||
local old_logic = luamap.logic
|
||||
|
||||
function luamap.logic(noise_vals,x,y,z,seed)
|
||||
function luamap.logic(noise_vals,x,y,z,seed,original_content)
|
||||
|
||||
-- get any terrain defined in another mod
|
||||
local content = old_logic(noise_vals,x,y,z,seed)
|
||||
local content = old_logic(noise_vals,x,y,z,seed,original_content)
|
||||
|
||||
if y < water_level then
|
||||
content = c_water
|
||||
|
|
6
init.lua
6
init.lua
|
@ -41,8 +41,8 @@ end
|
|||
local c_air = minetest.get_content_id("air")
|
||||
|
||||
-- override this function
|
||||
function luamap.logic(noise_vals,x,y,z,seed)
|
||||
return c_air
|
||||
function luamap.logic(noise_vals,x,y,z,seed,original_content)
|
||||
return original_content
|
||||
end
|
||||
|
||||
-- override this function
|
||||
|
@ -131,7 +131,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
noise_vals[name] = elements.nvals[i3dy]
|
||||
end
|
||||
end
|
||||
data[vi] = logic(noise_vals,x,y,z,seed)
|
||||
data[vi] = logic(noise_vals,x,y,z,seed,data[vi])
|
||||
i3dy = i3dy + ystride
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue