pkarcs/init.lua

142 lines
4.6 KiB
Lua

-- [Mod] Simple Arcs [pkarcs]
-- by PEAK
-- 05-01-2016
-- License: WTFPL
-- modified by tchncs for The World of Illuna
-- 10-09-2017
-- TODO: ALIASES!
-- convert integer coordinates to nodebox coordinates
function nb(n)
return n/16-1/2
end
register_arc = function(origin, nodename, desc, tile, sound, group, light, nodeid)
local nodeid = origin..":"..nodename
minetest.register_node(":pkarcs:"..origin.."_"..nodename.."_arc", {
description = desc.." Arc",
paramtype = "light",
paramtype2 = "facedir",
tiles = {tile..".png"},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ nb(0), nb(0), nb(0), nb(1), nb(16), nb(16) },
{ nb(1), nb(4), nb(0), nb(2), nb(16), nb(16) },
{ nb(2), nb(7), nb(0), nb(3), nb(16), nb(16) },
{ nb(3), nb(8), nb(0), nb(4), nb(16), nb(16) },
{ nb(4), nb(10), nb(0), nb(5), nb(16), nb(16) },
{ nb(5), nb(11), nb(0), nb(6), nb(16), nb(16) },
{ nb(6), nb(12), nb(0), nb(8), nb(16), nb(16) },
{ nb(8), nb(13), nb(0), nb(9), nb(16), nb(16) },
{ nb(9), nb(14), nb(0), nb(12), nb(16), nb(16) },
{ nb(12), nb(15), nb(0), nb(16), nb(16), nb(16) },
}
},
groups = group,
sounds = sound,
light_source = light,
})
minetest.register_craft({
output = "pkarcs:"..origin.."_"..nodename.."_arc".." 5",
recipe = {
{ nodeid, nodeid, nodeid },
{ nodeid, "", "" },
{ nodeid, "", "" }
}
})
minetest.register_alias("pkarcs:"..nodename.."_arc", "pkarcs:"..origin.."_"..nodename.."_arc")
minetest.register_node(":pkarcs:"..origin.."_"..nodename.."_outer_arc", {
description = desc.." Outer Arc",
paramtype = "light",
paramtype2 = "facedir",
tiles = {tile..".png"},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ nb(0), nb(0), nb(16), nb(1), nb(16), nb(16-1) },
{ nb(0), nb(4), nb(16), nb(2), nb(16), nb(16-2) },
{ nb(0), nb(7), nb(16), nb(3), nb(16), nb(16-3) },
{ nb(0), nb(8), nb(16), nb(4), nb(16), nb(16-4) },
{ nb(0), nb(10), nb(16), nb(5), nb(16), nb(16-5) },
{ nb(0), nb(11), nb(16), nb(6), nb(16), nb(16-6) },
{ nb(0), nb(12), nb(16), nb(8), nb(16), nb(16-8) },
{ nb(0), nb(13), nb(16), nb(9), nb(16), nb(16-9) },
{ nb(0), nb(14), nb(16), nb(12), nb(16), nb(16-12) },
{ nb(0), nb(15), nb(16), nb(16), nb(16), nb(16-16) },
}
},
groups = group,
sounds = sound,
light_source = light,
})
minetest.register_alias("pkarcs:"..nodename.."_outer_arc", "pkarcs:"..origin.."_"..nodename.."_outer_arc")
minetest.register_craft({
output = "pkarcs:"..origin.."_"..nodename.."_outer_arc".." 5",
recipe = {
{ "default:torch", nodeid, nodeid },
{ nodeid, "", ""},
{ nodeid, "", ""}
}
})
minetest.register_node(":pkarcs:"..origin.."_"..nodename.."_inner_arc", {
description = desc.." Inner Arc",
paramtype = "light",
paramtype2 = "facedir",
tiles = {tile..".png"},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ nb(0), nb(0), nb(16), nb(1), nb(16), nb(0) },
{ nb(0), nb(0), nb(16), nb(16), nb(16), nb(16-1) },
{ nb(0), nb(4), nb(16), nb(2), nb(16), nb(0) },
{ nb(0), nb(4), nb(16), nb(16), nb(16), nb(16-2) },
{ nb(0), nb(7), nb(16), nb(3), nb(16), nb(0) },
{ nb(0), nb(7), nb(16), nb(16), nb(16), nb(16-3) },
{ nb(0), nb(8), nb(16), nb(4), nb(16), nb(0) },
{ nb(0), nb(8), nb(16), nb(16), nb(16), nb(16-4) },
{ nb(0), nb(10), nb(16), nb(5), nb(16), nb(0) },
{ nb(0), nb(10), nb(16), nb(16), nb(16), nb(16-5) },
{ nb(0), nb(11), nb(16), nb(6), nb(16), nb(0) },
{ nb(0), nb(11), nb(16), nb(16), nb(16), nb(16-6) },
{ nb(0), nb(12), nb(16), nb(8), nb(16), nb(0) },
{ nb(0), nb(12), nb(16), nb(16), nb(16), nb(16-8) },
{ nb(0), nb(13), nb(16), nb(9), nb(16), nb(0) },
{ nb(0), nb(13), nb(16), nb(16), nb(16), nb(16-9) },
{ nb(0), nb(14), nb(16), nb(12), nb(16), nb(0) },
{ nb(0), nb(14), nb(16), nb(16), nb(16), nb(16-12) },
{ nb(0), nb(15), nb(16), nb(16), nb(16), nb(16-16) },
}
},
groups = group,
sounds = sound,
light_source = light,
})
minetest.register_alias("pkarcs:"..nodename.."_inner_arc", "pkarcs:"..origin.."_"..nodename.."_inner_arc")
minetest.register_craft({
output = "pkarcs:"..origin.."_"..nodename.."_inner_arc".." 5",
recipe = {
{ "", nodeid, nodeid },
{ nodeid, "default:torch", "" },
{ nodeid, "", "" }
}
})
end
dofile(minetest.get_modpath("pkarcs").."/registrations.lua")