102 lines
2.3 KiB
Lua
102 lines
2.3 KiB
Lua
-- "I'll stop calling it Minetest when it stops being one."
|
|
minetest = core
|
|
|
|
-- Override properties of a table from those of another table
|
|
function extend(dst, src)
|
|
for k, v in pairs(src) do
|
|
dst[k] = v
|
|
end
|
|
return dst
|
|
end
|
|
|
|
-- PHP-style helper verb
|
|
function include(file)
|
|
return dofile(minetest.get_modpath(minetest.get_current_modname()).."/"..file)
|
|
end
|
|
|
|
function include_all(dir)
|
|
for _, x in pairs(minetest.get_dir_list(minetest.get_modpath(minetest.get_current_modname()).."/"..dir)) do
|
|
include(dir.."/"..x)
|
|
end
|
|
end
|
|
|
|
function warn(str)
|
|
minetest.log("warning", str)
|
|
end
|
|
|
|
function err(str)
|
|
minetest.log("error", str.."\n"..debug.traceback())
|
|
end
|
|
|
|
function tell(p, msg)
|
|
minetest.chat_send_player(p, "# Server: "..msg)
|
|
end
|
|
|
|
function say(msg)
|
|
minetest.chat_send_all("# Server: "..msg)
|
|
end
|
|
|
|
rgt = {}
|
|
local ns = rgt
|
|
|
|
function ns.register_node(name, def)
|
|
def._name = name
|
|
local alias
|
|
if not name:find(":") then
|
|
alias = name
|
|
name = "red_glazed_terracotta:"..name
|
|
end
|
|
if def._variants then
|
|
if type(def._variants) == "string" then
|
|
rgt_world["register_"..def._variants](def)
|
|
else
|
|
for _, x in ipairs(def._variants) do
|
|
rgt_world["register_"..x](def)
|
|
end
|
|
end
|
|
end
|
|
minetest.register_node(":"..name, def)
|
|
if alias then
|
|
minetest.register_alias(alias, name)
|
|
end
|
|
end
|
|
|
|
function ns.register_item(name, def)
|
|
def._name = name
|
|
local alias
|
|
if not name:find(":") then
|
|
alias = name
|
|
name = "red_glazed_terracotta:"..name
|
|
end
|
|
minetest.register_craftitem(":"..name, def)
|
|
if alias then
|
|
minetest.register_alias(alias, name)
|
|
end
|
|
end
|
|
|
|
function ns.register_tool(name, def)
|
|
def._name = name
|
|
local alias
|
|
if not name:find(":") then
|
|
alias = name
|
|
name = "red_glazed_terracotta:"..name
|
|
end
|
|
minetest.register_tool(":"..name, def)
|
|
if alias then
|
|
minetest.register_alias(alias, name)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
minetest.register_on_joinplayer(function(p)
|
|
if p:get_player_name() == "singleplayer" then
|
|
minetest.change_player_privs(p:get_player_name(), {
|
|
fast = true,
|
|
fly = true,
|
|
noclip = true,
|
|
server = true,
|
|
give = true,
|
|
})
|
|
end
|
|
end)
|