Minetest-WorldEditAdditions/worldeditadditions_tools/items/farwand.lua

56 lines
2 KiB
Lua
Raw Normal View History

2024-10-10 03:35:45 +00:00
local wea_t = worldeditadditions_tools
2020-06-13 13:23:14 +00:00
local function set_pos1(name, pos)
if pos ~= nil then
2020-06-15 12:04:42 +00:00
-- print("[set_pos1]", name, "("..pos.x..", "..pos.y..", "..pos.z..")")
2020-06-13 13:23:14 +00:00
worldedit.pos1[name] = pos
worldedit.mark_pos1(name)
worldedit.player_notify(name, "pos1 set to "..pos) -- pos is a Vector3
2020-06-13 13:23:14 +00:00
else
worldedit.player_notify(name, "Error: Too far away (try raising your maxdist with //farwand maxdist <number>)")
2020-06-15 12:04:42 +00:00
-- print("[set_pos1]", name, "nil")
2020-06-13 13:23:14 +00:00
end
end
local function set_pos2(name, pos)
if pos ~= nil then
2020-06-15 12:04:42 +00:00
-- print("[set_pos2]", name, "("..pos.x..", "..pos.y..", "..pos.z..")")
2020-06-13 13:23:14 +00:00
worldedit.pos2[name] = pos
worldedit.mark_pos2(name)
worldedit.player_notify(name, "pos2 set to "..pos)
2020-06-13 13:23:14 +00:00
else
worldedit.player_notify(name, "Error: Too far away (try raising your maxdist with //farwand maxdist <number>)")
2020-06-15 12:04:42 +00:00
-- print("[set_pos2]", name, "nil")
2020-06-13 13:23:14 +00:00
end
end
2024-10-10 03:35:45 +00:00
wea_t.register_tool("farwand", {
description = "WorldEditAdditions far-reaching wand",
2024-10-10 03:35:45 +00:00
inventory_image = "worldeditadditions_tools.png",
on_place = function(itemstack, player, pointed_thing)
2020-06-13 13:23:14 +00:00
local name = player:get_player_name()
2020-06-15 12:04:42 +00:00
-- print("[farwand] on_place", name)
-- Right click when pointing at something
2020-06-13 13:23:14 +00:00
-- Pointed thing: https://rubenwardy.com/minetest_modding_book/lua_api.html#pointed_thing
2024-10-10 03:35:45 +00:00
local looking_pos, node_id = worldeditadditions_tools.do_raycast(player)
2020-06-13 13:23:14 +00:00
set_pos2(name, looking_pos)
end,
on_use = function(itemstack, player, pointed_thing)
2020-06-13 13:23:14 +00:00
local name = player:get_player_name()
2020-06-15 12:04:42 +00:00
-- print("[farwand] on_use", name)
2024-10-10 03:35:45 +00:00
local looking_pos, node_id = worldeditadditions_tools.do_raycast(player)
2020-06-13 13:23:14 +00:00
set_pos1(name, looking_pos)
-- Left click when pointing at something or nothing
end,
on_secondary_use = function(itemstack, player, pointed_thing)
2020-06-13 13:23:14 +00:00
local name = player:get_player_name()
-- Right click when pointing at nothing
2020-06-15 12:04:42 +00:00
-- print("[farwand] on_secondary_use", name)
2024-10-10 03:35:45 +00:00
local looking_pos, node_id = worldeditadditions_tools.do_raycast(player)
2020-06-13 13:23:14 +00:00
set_pos2(name, looking_pos)
end
})