142 lines
4.6 KiB
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")
|