-- [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")