summaryrefslogtreecommitdiff
path: root/autoplace_tubes.lua
diff options
context:
space:
mode:
authorroot <root@linux-forks.de>2018-11-14 22:38:42 +0100
committerroot <root@linux-forks.de>2018-11-14 22:38:42 +0100
commit51e89c90bf50dfab3690cffc9ae4d6e1e58d9a0e (patch)
treee2a42227d3497fce857657d0e42110885dbe5fab /autoplace_tubes.lua
parent62a1724635c4dde3bcfb83ae8ac968b102db5989 (diff)
parentf5a60ba407175d07daf69c6955ecb3fcf5b7fa64 (diff)
Merge branch 'master' of https://github.com/minetest-mods/pipeworks
Diffstat (limited to 'autoplace_tubes.lua')
-rw-r--r--autoplace_tubes.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/autoplace_tubes.lua b/autoplace_tubes.lua
index 0d28e64..a3a6aee 100644
--- a/autoplace_tubes.lua
+++ b/autoplace_tubes.lua
@@ -111,6 +111,22 @@ function pipeworks.after_dig(pos)
pipeworks.scan_for_tube_objects(pos)
end
+-- Screwdriver calls this function before rotating a node.
+-- However, connections must be updated *after* the node is rotated
+-- So, this function does the rotation itself and returns `true`.
+-- (Note: screwdriver already checks for protected areas.)
+
+-- This should only be used for tubes that don't autoconnect.
+-- (For example, one-way tubes.)
+-- Autoconnecting tubes will just revert back to their original state
+-- when they are updated.
+function pipeworks.on_rotate(pos, node, user, mode, new_param2)
+ node.param2 = new_param2
+ minetest.set_node(pos, node)
+ pipeworks.scan_for_tube_objects(pos)
+ return true
+end
+
if minetest.get_modpath("mesecons_mvps") then
mesecon.register_on_mvps_move(function(moved_nodes)
for _, n in ipairs(moved_nodes) do