2016-03-31 16:11:15 -07:00
|
|
|
-- Check for necessary mod functions and abort if they aren't available.
|
|
|
|
if not minetest.get_biome_id then
|
|
|
|
minetest.log()
|
|
|
|
minetest.log("* Not loading Cityscape *")
|
|
|
|
minetest.log("Cityscape requires mod functions which are")
|
|
|
|
minetest.log(" not exposed by your Minetest build.")
|
|
|
|
minetest.log()
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
loud_walking = {}
|
|
|
|
loud_walking.version = "1.0"
|
|
|
|
loud_walking.path = minetest.get_modpath(minetest.get_current_modname())
|
|
|
|
loud_walking.first_flag = 0
|
|
|
|
|
|
|
|
|
|
|
|
minetest.register_on_mapgen_init(function(mgparams)
|
|
|
|
minetest.set_mapgen_params({mgname="singlenode", flags="nolight"})
|
|
|
|
end)
|
|
|
|
|
|
|
|
if default then
|
|
|
|
if default.register_ores then
|
|
|
|
default.register_ores()
|
|
|
|
end
|
|
|
|
if default.register_blobs then
|
|
|
|
default.register_blobs()
|
|
|
|
end
|
2016-03-31 17:06:06 -07:00
|
|
|
if default.register_biomes then
|
|
|
|
default.register_biomes()
|
|
|
|
end
|
|
|
|
if default.register_decorations then
|
|
|
|
default.register_decorations()
|
|
|
|
end
|
|
|
|
if flowers.register_decorations then
|
|
|
|
flowers.register_decorations()
|
|
|
|
end
|
2016-03-31 16:11:15 -07:00
|
|
|
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 loud_walking.clone_node(name)
|
|
|
|
local node = minetest.registered_nodes[name]
|
|
|
|
local node2 = table.copy(node)
|
|
|
|
return node2
|
|
|
|
end
|
|
|
|
|
|
|
|
function loud_walking.node(name)
|
|
|
|
if not loud_walking.node_cache then
|
|
|
|
loud_walking.node_cache = {}
|
|
|
|
end
|
|
|
|
|
|
|
|
if not loud_walking.node_cache[name] then
|
|
|
|
loud_walking.node_cache[name] = minetest.get_content_id(name)
|
|
|
|
if name ~= "ignore" and loud_walking.node_cache[name] == 127 then
|
|
|
|
print("*** Failure to find node: "..name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
return loud_walking.node_cache[name]
|
|
|
|
end
|
|
|
|
|
|
|
|
|
2016-09-27 14:54:02 -07:00
|
|
|
dofile(loud_walking.path .. "/chat.lua")
|
2016-03-31 16:11:15 -07:00
|
|
|
dofile(loud_walking.path .. "/nodes.lua")
|
|
|
|
dofile(loud_walking.path .. "/deco.lua")
|
2016-04-04 00:34:05 -07:00
|
|
|
dofile(loud_walking.path .. "/deco_caves.lua")
|
2016-03-31 16:11:15 -07:00
|
|
|
dofile(loud_walking.path .. "/mapgen.lua")
|
|
|
|
|
|
|
|
|
|
|
|
minetest.register_on_newplayer(loud_walking.respawn)
|
|
|
|
minetest.register_on_respawnplayer(loud_walking.respawn)
|
2016-04-09 21:41:24 -07:00
|
|
|
|
|
|
|
-- Inserting helps to ensure that loud_walking operates first.
|
|
|
|
table.insert(minetest.registered_on_generateds, 1, loud_walking.generate)
|
2016-03-31 17:06:06 -07:00
|
|
|
|
2016-04-01 10:55:51 -07:00
|
|
|
minetest.register_on_joinplayer(function(player)
|
|
|
|
player:set_sky("#000000", "plain", {})
|
|
|
|
end)
|