fun_caves = {} fun_caves.version = "1.0" fun_caves.path = minetest.get_modpath(minetest.get_current_modname()) fun_caves.world = false fun_caves.time_factor = 10 if not mobs or not mobs.mod then dofile(fun_caves.path .. "/mobs_api.lua") end --fun_caves.ores = {} minetest.register_on_mapgen_init(function(mgparams) --minetest.set_mapgen_params({mgname="singlenode", flags="nolight"}) minetest.set_mapgen_params({flags="nocaves,nodungeons"}) --local ores = {} --for id, ore_table in pairs(minetest.registered_ores) do -- local ore = table.copy(ore_table) -- local ore2 = table.copy(ore_table) -- table.insert(fun_caves.ores, ore2) -- ore.y_min = -31000 -- ore.y_max = 31000 -- table.insert(ores, ore) -- print(dump(ore)) --end --minetest.clear_registered_ores() end) --function fun_caves.set_ores(biome, y) -- local ores = fun_caves.ores -- -- --print("generating ores based on biome: "..biome) -- local y_factor = (math.abs(biome) - 0.4) * -2000 -- --print("y_factor: "..y_factor) -- -- minetest.clear_registered_ores() -- for id, ore_table in pairs(ores) do -- local ore = table.copy(ore_table) -- if ore.y_max >= y_factor and y <= ore.y_max then -- --if ore.y_max >= y_factor then -- --print("using ore: "..ore.ore..", y_max: "..ore.y_max) -- ore.y_min = -31000 -- ore.y_max = 31000 -- minetest.register_ore(ore) -- end -- end --end -- Check if the table contains an element. function table.contains(table, element) for key, value in pairs(table) do if value == element then if key then return key else return true end end end return false end -- Modify a node to add a group function minetest.add_group(node, groups) local def = minetest.registered_items[node] if not def then return false end local def_groups = def.groups or {} for group, value in pairs(groups) do if value ~= 0 then def_groups[group] = value else def_groups[group] = nil end end minetest.override_item(node, {groups = def_groups}) return true end function fun_caves.clone_node(name) local node = minetest.registered_nodes[name] local node2 = table.copy(node) return node2 end function fun_caves.node(name) if not fun_caves.node_cache then fun_caves.node_cache = {} end if not fun_caves.node_cache[name] then fun_caves.node_cache[name] = minetest.get_content_id(name) if name ~= "ignore" and fun_caves.node_cache[name] == 127 then print("*** Failure to find node: "..name) end end return fun_caves.node_cache[name] end dofile(fun_caves.path .. "/nodes.lua") dofile(fun_caves.path .. "/fungal_tree.lua") dofile(fun_caves.path .. "/mapgen.lua") dofile(fun_caves.path .. "/mobs.lua") --minetest.register_on_newplayer(fun_caves.respawn) --minetest.register_on_respawnplayer(fun_caves.respawn) -- Inserting helps to ensure that fun_caves operates first. table.insert(minetest.registered_on_generateds, 1, fun_caves.generate) --minetest.register_on_joinplayer(function(player) -- player:set_sky("#000000", "plain", {}) --end)