diff options
author | root <root@linux-forks.de> | 2018-11-14 22:38:42 +0100 |
---|---|---|
committer | root <root@linux-forks.de> | 2018-11-14 22:38:42 +0100 |
commit | 51e89c90bf50dfab3690cffc9ae4d6e1e58d9a0e (patch) | |
tree | e2a42227d3497fce857657d0e42110885dbe5fab /autoplace_tubes.lua | |
parent | 62a1724635c4dde3bcfb83ae8ac968b102db5989 (diff) | |
parent | f5a60ba407175d07daf69c6955ecb3fcf5b7fa64 (diff) |
Merge branch 'master' of https://github.com/minetest-mods/pipeworks
Diffstat (limited to 'autoplace_tubes.lua')
-rw-r--r-- | autoplace_tubes.lua | 16 |
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 |