From: tenplus1 Date: Sat, 16 Sep 2017 20:39:38 +0000 (+0100) Subject: Fix Rotate Node Placement (#6424) X-Git-Tag: 0.4.17~85 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b1fae4c7beb66b4aa63ad04ac6ba9e145b39ca82;p=oweals%2Fminetest.git Fix Rotate Node Placement (#6424) This properly checks for creative mode or privilege when using fixed rotate_node() function. --- diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua index 4840dcbaa..1e282f886 100644 --- a/builtin/common/misc_helpers.lua +++ b/builtin/common/misc_helpers.lua @@ -425,11 +425,15 @@ if INIT == "game" then --Wrapper for rotate_and_place() to check for sneak and assume Creative mode --implies infinite stacks when performing a 6d rotation. -------------------------------------------------------------------------------- - + local creative_mode_cache = core.settings:get_bool("creative_mode") + local function is_creative(name) + return creative_mode_cache or + core.check_player_privs(name, {creative = true}) + end core.rotate_node = function(itemstack, placer, pointed_thing) core.rotate_and_place(itemstack, placer, pointed_thing, - core.settings:get_bool("creative_mode"), + is_creative(placer:get_player_name()), {invert_wall = placer:get_player_control().sneak}) return itemstack end