From 0df646e0689b5324c7bdb13205c2a63e42ebe8e8 Mon Sep 17 00:00:00 2001
From: Aaron Suen <warr1024@gmail.com>
Date: Sun, 13 Oct 2019 09:32:39 -0400
Subject: Fix rotate_node to return the correct itemstack.

All on_* hooks that return an itemstack are NOT guaranteed to
modify and return the original stack.  We cannot count on the
behavior of the existing builtin definitions not to be overridden
by game/mod logic.
---
 builtin/common/misc_helpers.lua | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

(limited to 'builtin')

diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua
index d6673a691..88a498927 100644
--- a/builtin/common/misc_helpers.lua
+++ b/builtin/common/misc_helpers.lua
@@ -428,10 +428,9 @@ if INIT == "game" then
 	core.rotate_node = function(itemstack, placer, pointed_thing)
 		local name = placer and placer:get_player_name() or ""
 		local invert_wall = placer and placer:get_player_control().sneak or false
-		core.rotate_and_place(itemstack, placer, pointed_thing,
+		return core.rotate_and_place(itemstack, placer, pointed_thing,
 				is_creative(name),
 				{invert_wall = invert_wall}, true)
-		return itemstack
 	end
 end
 
-- 
cgit v1.2.3