summaryrefslogtreecommitdiff
path: root/internal.lua
diff options
context:
space:
mode:
authorcheapie <no-email-for-you@example.com>2019-05-27 18:28:00 -0500
committercheapie <no-email-for-you@example.com>2019-05-27 18:28:00 -0500
commit6e3f9d4c111bebfed6d1876a27a4980b979fb2ba (patch)
tree5a957acb7d8b653d190d0a4b9bfbada0207222ea /internal.lua
parent0e61a770c99da669b9ad8bddfdb03adfe94c4c30 (diff)
downloaddigistuff-6e3f9d4c111bebfed6d1876a27a4980b979fb2ba.tar
digistuff-6e3f9d4c111bebfed6d1876a27a4980b979fb2ba.tar.gz
digistuff-6e3f9d4c111bebfed6d1876a27a4980b979fb2ba.tar.bz2
digistuff-6e3f9d4c111bebfed6d1876a27a4980b979fb2ba.tar.xz
digistuff-6e3f9d4c111bebfed6d1876a27a4980b979fb2ba.zip
Add receivers, insulated digilines, and vertical digilines
Diffstat (limited to 'internal.lua')
-rw-r--r--internal.lua44
1 files changed, 44 insertions, 0 deletions
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