diff --git a/init.lua b/init.lua index 1c40ec1..b316a1f 100644 --- a/init.lua +++ b/init.lua @@ -168,9 +168,9 @@ function relative_coordinate_helper.get_node_face_direction(pos) face_vector = ({ [0] = {[0]={x=0, y=0, z=-1}, [1]={x=0, y=1, z=0}, [2]={x=0, y=-1, z=0}, [3]={x=0, y=0, z=-1}, [4]={x=0, y=0, z=-1}, [5]={x=0, y=0, z=-1}}, - [1] = {[0]={x=-1, y=0, z=0}, [1]={x=-1, y=0, z=0}, [2]={x=1, y=0, z=0}, [3]={x=0, y=1, z=0}, [4]={x=0, y=-1, z=0}, [5]={x=-1, y=0, z=0}}, + [1] = {[0]={x=-1, y=0, z=0}, [1]={x=-1, y=0, z=0}, [2]={x=-1, y=0, z=0}, [3]={x=0, y=1, z=0}, [4]={x=0, y=-1, z=0}, [5]={x=1, y=0, z=0}}, [2] = {[0]={x=0, y=0, z=1}, [1]={x=0, y=-1, z=0}, [2]={x=0, y=1, z=0}, [3]={x=0, y=0, z=1}, [4]={x=0, y=0, z=1}, [5]={x=0, y=0, z=1}}, - [3] = {[0]={x=1, y=0, z=0}, [1]={x=1, y=0, z=0}, [2]={x=-1, y=0, z=0}, [3]={x=0, y=-1, z=0}, [4]={x=0, y=1, z=0}, [5]={x=1, y=0, z=0}}, + [3] = {[0]={x=1, y=0, z=0}, [1]={x=1, y=0, z=0}, [2]={x=1, y=0, z=0}, [3]={x=0, y=-1, z=0}, [4]={x=0, y=1, z=0}, [5]={x=-1, y=0, z=0}}, })[param2_m][param2_n] else face_vector = vector.new(1,0,0) diff --git a/tests.lua b/tests.lua index 34d1ff9..18fb842 100644 --- a/tests.lua +++ b/tests.lua @@ -128,6 +128,26 @@ function relative_coordinate_helper.get_pos_relative_test1() vector.equals( get_pos_relative(pos, {x=3, y=3, z=3}, face_vector, down_vector), {x=-3, y=-3, z=-3} ) , "Test 6.c failed") minetest.chat_send_all('Test 6.c done!') + -- 7 face to x, foot z + face_vector = {x=1, y=0, z=0} + down_vector = {x=0, y=0, z=1} + assert( + vector.equals( get_pos_relative(pos, {x=3, y=3, z=3}, face_vector, down_vector), {x=3, y=3, z=-3} ) + , "Test 7 failed") + minetest.chat_send_all('Test 7 done!') + -- 8 face to x, foot up + face_vector = {x=1, y=0, z=0} + down_vector = {x=0, y=1, z=0} + assert( + vector.equals( get_pos_relative(pos, {x=1, y=-1, z=1}, face_vector, down_vector), {x=1, y=1, z=-1} ) and + vector.equals( get_pos_relative(pos, {x=1, y=-1, z=0}, face_vector, down_vector), {x=1, y=1, z=0} ) and + vector.equals( get_pos_relative(pos, {x=1, y=-1, z=-1}, face_vector, down_vector), {x=1, y=1, z=1} ) and + -- -- ... + vector.equals( get_pos_relative(pos, {x=-1, y=1, z=0}, face_vector, down_vector), {x=-1, y=-1, z=0} ) and + vector.equals( get_pos_relative(pos, {x=-1, y=1, z=-1}, face_vector, down_vector), {x=-1, y=-1, z=1} ) and + vector.equals( get_pos_relative(pos, {x=3, y=3, z=3}, face_vector, down_vector), {x=3, y=-3, z=-3} ) + , "Test 8 failed") + minetest.chat_send_all('Test 8 done!') -- 20.b face to the right, tilt to the right. different position. face_vector = {x=0, y=0, z=-1} down_vector = {x=1, y=0, z=0}