From 6e3f9d4c111bebfed6d1876a27a4980b979fb2ba Mon Sep 17 00:00:00 2001 From: cheapie Date: Mon, 27 May 2019 18:28:00 -0500 Subject: Add receivers, insulated digilines, and vertical digilines --- internal.lua | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 internal.lua (limited to 'internal.lua') diff --git a/internal.lua b/internal.lua new file mode 100644 index 0000000..494a206 --- /dev/null +++ b/internal.lua @@ -0,0 +1,44 @@ +digistuff.rotate_rules = function(rulesin,dir) + local rules = {} + for k,v in ipairs(rulesin) do rules[k] = v end + if dir.z > 0 then + return rules + elseif dir.z < 0 then + for _,i in ipairs(rules) do + i.x = -i.x + i.z = -i.z + end + return rules + elseif dir.x > 0 then + for _,i in ipairs(rules) do + local z = i.x + i.x = i.z + i.z = -z + end + return rules + elseif dir.x < 0 then + for _,i in ipairs(rules) do + local z = i.x + i.x = -i.z + i.z = z + end + return rules + elseif dir.y > 0 then + for _,i in ipairs(rules) do + local z = i.y + i.y = i.z + i.z = z + end + return rules + elseif dir.y < 0 then + for _,i in ipairs(rules) do + local z = i.y + i.y = -i.z + i.z = -z + end + return rules + else + minetest.log("warning",string.format("digistuff.rotate_rules() called with invalid direction %s,%s,%s",dir.x,dir.y,dir.z)) + return {} + end +end -- cgit v1.2.3