Add receivers, insulated digilines, and vertical digilines

This commit is contained in:
cheapie
2019-05-27 18:28:00 -05:00
parent 0e61a770c9
commit 6e3f9d4c11
9 changed files with 551 additions and 33 deletions

44
internal.lua Normal file
View File

@@ -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