1
0
mirror of https://github.com/Uberi/Minetest-WorldEdit.git synced 2024-12-25 18:20:38 +01:00

Wand: select node under or above depending on pressed sneak key.

This commit is contained in:
beyondlimits 2018-08-06 14:34:03 +02:00 committed by sfan5
parent 99fa0ebd75
commit f7256633c0

View File

@ -1,3 +1,11 @@
local function above_or_under(placer, pointed_thing)
if placer:get_player_control().sneak then
return pointed_thing.above
else
return pointed_thing.under
end
end
minetest.register_tool(":worldedit:wand", { minetest.register_tool(":worldedit:wand", {
description = "WorldEdit Wand tool, Left-click to set 1st position, right-click to set 2nd", description = "WorldEdit Wand tool, Left-click to set 1st position, right-click to set 2nd",
inventory_image = "worldedit_wand.png", inventory_image = "worldedit_wand.png",
@ -7,7 +15,7 @@ minetest.register_tool(":worldedit:wand", {
on_use = function(itemstack, placer, pointed_thing) on_use = function(itemstack, placer, pointed_thing)
if placer ~= nil and pointed_thing ~= nil and pointed_thing.type == "node" then if placer ~= nil and pointed_thing ~= nil and pointed_thing.type == "node" then
local name = placer:get_player_name() local name = placer:get_player_name()
worldedit.pos1[name] = pointed_thing.under worldedit.pos1[name] = above_or_under(placer, pointed_thing)
worldedit.mark_pos1(name) worldedit.mark_pos1(name)
end end
return itemstack -- nothing consumed, nothing changed return itemstack -- nothing consumed, nothing changed
@ -16,7 +24,7 @@ minetest.register_tool(":worldedit:wand", {
on_place = function(itemstack, placer, pointed_thing) -- Left Click on_place = function(itemstack, placer, pointed_thing) -- Left Click
if placer ~= nil and pointed_thing ~= nil and pointed_thing.type == "node" then if placer ~= nil and pointed_thing ~= nil and pointed_thing.type == "node" then
local name = placer:get_player_name() local name = placer:get_player_name()
worldedit.pos2[name] = pointed_thing.under worldedit.pos2[name] = above_or_under(placer, pointed_thing)
worldedit.mark_pos2(name) worldedit.mark_pos2(name)
end end
return itemstack -- nothing consumed, nothing changed return itemstack -- nothing consumed, nothing changed