aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/misc_helpers.lua14
-rw-r--r--doc/lua_api.txt5
2 files changed, 19 insertions, 0 deletions
diff --git a/builtin/misc_helpers.lua b/builtin/misc_helpers.lua
index c9bc59c3a..38909ec1d 100644
--- a/builtin/misc_helpers.lua
+++ b/builtin/misc_helpers.lua
@@ -282,6 +282,20 @@ if minetest then
minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack)
end
end
+
+
+--------------------------------------------------------------------------------
+--Wrapper for rotate_and_place() to check for sneak and assume Creative mode
+--implies infinite stacks when performing a 6d rotation.
+--------------------------------------------------------------------------------
+
+
+ minetest.rotate_node = function(itemstack, placer, pointed_thing)
+ minetest.rotate_and_place(itemstack, placer, pointed_thing,
+ minetest.setting_getbool("creative_mode"),
+ {invert_wall = placer:get_player_control().sneak})
+ return itemstack
+ end
end
--------------------------------------------------------------------------------
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index 122fbde99..76eea95cc 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -1561,6 +1561,11 @@ minetest.rotate_and_place(itemstack, placer, pointed_thing, infinitestacks, orie
force_facedir: if true, forcably reset the facedir to north when placing on
the floor or ceiling
+minetest.rotate_node(itemstack, placer, pointed_thing)
+^ calls rotate_and_place() with infinitestacks set according to the state of
+ the creative mode setting, and checks for "sneak" to set the invert_wall
+ parameter.
+
Global objects:
minetest.env - EnvRef of the server environment and world.
^ Any function in the minetest namespace can be called using the syntax