-- LUALOCALS < --------------------------------------------------------- local nodecore, pairs, vector = nodecore, pairs, vector -- LUALOCALS > --------------------------------------------------------- local alldirs = {} for _, v in pairs(nodecore.dirs()) do alldirs[v.n] = v end local facedirs = { {"u", "w"}, {"u", "n"}, {"u", "e"}, {"n", "u"}, {"n", "w"}, {"n", "d"}, {"n", "e"}, {"s", "d"}, {"s", "w"}, {"s", "u"}, {"s", "e"}, {"e", "s"}, {"e", "u"}, {"e", "n"}, {"e", "d"}, {"w", "s"}, {"w", "d"}, {"w", "n"}, {"w", "u"}, {"d", "s"}, {"d", "e"}, {"d", "n"}, {"d", "w"}, [0] = {"u", "s"} } local function cross(a, b) return { x = a.y * b.z - a.z * b.y, y = a.z * b.x - a.x * b.z, z = a.x * b.y - a.y * b.x } end for k, t in pairs(facedirs) do t.id = k t.t = alldirs[t[1]] t.f = alldirs[t[2]] t[2] = nil t[1] = nil t.l = cross(t.t, t.f) t.r = vector.multiply(t.l, -1) t.b = vector.multiply(t.t, -1) t.k = vector.multiply(t.f, -1) end nodecore.facedirs = facedirs