inital code for focus item
This commit is contained in:
parent
f0f7877a3a
commit
0cf9016c8c
52
sparkdebug/focus.lua
Normal file
52
sparkdebug/focus.lua
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
local NAME = minetest.get_current_modname()
|
||||||
|
|
||||||
|
sparktech.tool_focus = {}
|
||||||
|
|
||||||
|
function set_view(playername, object)
|
||||||
|
local type = object["type"]
|
||||||
|
local player = minetest.get_player_by_name(playername)
|
||||||
|
if type == "node" then
|
||||||
|
local vecnode = vector.direction(player:getpos(), object["under"])
|
||||||
|
--[[ Do proper rotation of vector and then set the view
|
||||||
|
reference is for both cases the z axis (e.g the planes (1 0 1) and (0 1 1)
|
||||||
|
]]--
|
||||||
|
--minetest.debug("\n" .. yaw .. " " .. pitch .. "\n" .. player:get_look_yaw() .. " " .. player:get_look_pitch() .. "\n" .. dump2(player:get_look_dir()))
|
||||||
|
--player:set_look_horizontal(yaw)
|
||||||
|
--player:set_look_vertical(pitch)]]--
|
||||||
|
else
|
||||||
|
-- either player or object now
|
||||||
|
-- return for object, for a player we can do stuff
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function on_use(one, player, pointedobject)
|
||||||
|
if pointedobject == nil or player == nil then return end
|
||||||
|
sparktech.tool_focus[player:get_player_name()] = { pointedobject }
|
||||||
|
set_view(player:get_player_name(), pointedobject)
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.register_tool(NAME .. ":focus", {
|
||||||
|
description = "focus",
|
||||||
|
inventory_image = "debug.png",
|
||||||
|
stack_max = 1,
|
||||||
|
range = 20,
|
||||||
|
on_use = on_use
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_globalstep(function(dtime)
|
||||||
|
for k, i in pairs(sparktech.tool_focus) do
|
||||||
|
local player = minetest.get_player_by_name(k)
|
||||||
|
if player == nil then
|
||||||
|
sparktech.tool_focus[k] = nil
|
||||||
|
return
|
||||||
|
end
|
||||||
|
set_view(k,i)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
--[[
|
||||||
|
function to get item id
|
||||||
|
for k, v in pairs(core.luaentities) do if v == self then my_found_entity_id = k; break end
|
||||||
|
]]--
|
Loading…
x
Reference in New Issue
Block a user