From ef0219c2ede88750db4ab562794dd4773a77bfa3 Mon Sep 17 00:00:00 2001 From: et <74461678+TheEt1234@users.noreply.github.com> Date: Tue, 18 Feb 2025 21:51:33 +0100 Subject: [PATCH] Prevent accidental wallmounted_to_dir poisoning (#15810) Prior to this commit, if you used a function like `core.wallmounted_to_dir`, and modified its output, it would modify all of the output in the future. --- builtin/common/item_s.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/builtin/common/item_s.lua b/builtin/common/item_s.lua index 5098ef4e63..2761e41dd5 100644 --- a/builtin/common/item_s.lua +++ b/builtin/common/item_s.lua @@ -90,7 +90,7 @@ local facedir_to_dir_map = { 1, 4, 3, 2, } function core.facedir_to_dir(facedir) - return facedir_to_dir[facedir_to_dir_map[facedir % 32]] + return vector.copy(facedir_to_dir[facedir_to_dir_map[facedir % 32]]) end function core.dir_to_fourdir(dir) @@ -110,7 +110,7 @@ function core.dir_to_fourdir(dir) end function core.fourdir_to_dir(fourdir) - return facedir_to_dir[facedir_to_dir_map[fourdir % 4]] + return vector.copy(facedir_to_dir[facedir_to_dir_map[fourdir % 4]]) end function core.dir_to_wallmounted(dir) @@ -147,7 +147,7 @@ local wallmounted_to_dir = { vector.new( 0, -1, 0), } function core.wallmounted_to_dir(wallmounted) - return wallmounted_to_dir[wallmounted % 8] + return vector.copy(wallmounted_to_dir[wallmounted % 8]) end function core.dir_to_yaw(dir)