mirror of
https://github.com/minetest-mods/nether.git
synced 2025-06-30 23:40:45 +02:00
Make ShiftExistingBiomes available via API (#40)
* bug fixes Fixes wrong new_y_min when shift_existing_biomes() shifts a biome below the nether floor, find_surface_anchorPos() no longer assumes y=0 will be outside the nether. Nil-reference fixed when a mods tries to register a portal after mods are finished loading, but the portal shape+material was already registered by another mod. * Make ShiftExistingBiomes available via API makes the ShiftExistingBiomes function available to other mods via the nether global, since it's not a simple function and biomes would also need to be shifted if another mod wants to add a second nether layer. * Allow layers to extend the depth of nether effects Mods can set/lower nether.DEPTH_FLOOR_LAYERS when creating a layer under the nether. This allows multiple layer mods to know where their ceiling should start, and to be included in the effects which only happen in the nether. * document nether API More of a tentative interop guide than an API. Use snake_case for API functions.
This commit is contained in:
@ -337,7 +337,7 @@ nether.cool_lava = function(pos, node)
|
||||
-- Evaporate water sitting above lava, if it's in the Nether.
|
||||
-- (we don't want Nether mod to affect overworld lava mechanics)
|
||||
if minetest.get_item_group(node_above.name, "water") > 0 and
|
||||
pos.y < nether.DEPTH_CEILING and pos.y > nether.DEPTH_FLOOR then
|
||||
pos.y < nether.DEPTH_CEILING and pos.y > nether.DEPTH_FLOOR_LAYERS then
|
||||
-- cools_lava might be a better group to check for, but perhaps there's
|
||||
-- something in that group that isn't a liquid and shouldn't be evaporated?
|
||||
minetest.swap_node(pos_above, {name="air"})
|
||||
@ -604,7 +604,7 @@ local function fumarole_onTimer(pos, elapsed)
|
||||
|
||||
-- Fumaroles in the Nether can catch fire.
|
||||
-- (if taken to the surface and used as cottage chimneys, they don't catch fire)
|
||||
local inNether = pos.y <= nether.DEPTH and pos.y >= nether.DEPTH_FLOOR
|
||||
local inNether = pos.y <= nether.DEPTH and pos.y >= nether.DEPTH_FLOOR_LAYERS
|
||||
local canCatchFire = inNether and minetest.registered_nodes["fire:permanent_flame"] ~= nil
|
||||
local smoke_offset = 0
|
||||
local timeout_factor = 1
|
||||
|
Reference in New Issue
Block a user