From 6555f95642e986ca6508b02f57352c22602d9663 Mon Sep 17 00:00:00 2001 From: Cam B Date: Wed, 20 Jan 2021 20:36:34 +0000 Subject: [PATCH 1/3] New method of defining valid faces --- tubelib_addons3/teleporter.lua | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tubelib_addons3/teleporter.lua b/tubelib_addons3/teleporter.lua index c33e1e6..c524a62 100644 --- a/tubelib_addons3/teleporter.lua +++ b/tubelib_addons3/teleporter.lua @@ -39,12 +39,9 @@ minetest.register_node("tubelib_addons3:teleporter", { after_place_node = function(pos, placer) tubelib.add_node(pos, "tubelib_addons3:teleporter") -- determine the tube side - local tube_dir = ((minetest.dir_to_facedir(placer:get_look_dir()) + 1) % 4) + 1 + local tube_dir = tubelib2.side_to_dir("R", minetest.dir_to_facedir(placer:get_look_dir())) Tube:prepare_pairing(pos, tube_dir, sFormspec) Tube:after_place_node(pos, {tube_dir}) - local meta = M(pos) - local valid_dirs = minetest.serialize({[tube_dir]=true}) - meta:set_string('valid_dirs', valid_dirs) end, on_receive_fields = function(pos, formname, fields, player) @@ -78,4 +75,4 @@ minetest.register_craft({ }, }) -Tube:add_secondary_node_names({"tubelib_addons3:teleporter"}) \ No newline at end of file +Tube:add_secondary_node_names({"tubelib_addons3:teleporter"}, {B=false, R=false, F=false, L=true, D=false, U=false}) \ No newline at end of file From 29827a5487573ddfdf428c2f967e129aba154fe4 Mon Sep 17 00:00:00 2001 From: Cam B Date: Wed, 20 Jan 2021 20:54:24 +0000 Subject: [PATCH 2/3] Reversed faces direction, moved sides to tubelib2 --- tubelib/command.lua | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/tubelib/command.lua b/tubelib/command.lua index 4942897..5adab04 100644 --- a/tubelib/command.lua +++ b/tubelib/command.lua @@ -186,33 +186,13 @@ local function register_lbm(name, nodenames) }) end - -local DirToSide = {"B", "R", "F", "L", "D", "U"} - -local function dir_to_side(dir, param2) - if dir < 5 then - dir = (((dir - 1) - (param2 % 4)) % 4) + 1 - end - return DirToSide[dir] -end - -local SideToDir = {B=1, R=2, F=3, L=4, D=5, U=6} - -local function side_to_dir(side, param2) - local dir = SideToDir[side] - if dir < 5 then - dir = (((dir - 1) + (param2 % 4)) % 4) + 1 - end - return dir -end - local function get_dest_node(pos, side) local _,node = Tube:get_node(pos) - local dir = side_to_dir(side, node.param2) + local dir = tubelib2.side_to_dir(side, node.param2) local spos, sdir = Tube:get_connected_node_pos(pos, dir) if not (spos and sdir) then return end _,node = Tube:get_node(spos) - local out_side = dir_to_side(tubelib2.Turn180Deg[sdir], node.param2) + local out_side = tubelib2.dir_to_side(tubelib2.Turn180Deg[sdir], node.param2) return spos, out_side, Name2Name[node.name] or node.name end From 21998a95278ccd9240618765627550e44380f47c Mon Sep 17 00:00:00 2001 From: Cam B Date: Wed, 20 Jan 2021 21:08:30 +0000 Subject: [PATCH 3/3] Sides actually flipped this time --- tubelib_addons3/teleporter.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubelib_addons3/teleporter.lua b/tubelib_addons3/teleporter.lua index c524a62..ccaa661 100644 --- a/tubelib_addons3/teleporter.lua +++ b/tubelib_addons3/teleporter.lua @@ -75,4 +75,4 @@ minetest.register_craft({ }, }) -Tube:add_secondary_node_names({"tubelib_addons3:teleporter"}, {B=false, R=false, F=false, L=true, D=false, U=false}) \ No newline at end of file +Tube:add_secondary_node_names({"tubelib_addons3:teleporter"}, {B=false, R=true, F=false, L=false, D=false, U=false})