aboutsummaryrefslogtreecommitdiff
path: root/builtin/client/util.lua
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/client/util.lua')
-rw-r--r--builtin/client/util.lua19
1 files changed, 13 insertions, 6 deletions
diff --git a/builtin/client/util.lua b/builtin/client/util.lua
index 4a6a72d72..d61b547c6 100644
--- a/builtin/client/util.lua
+++ b/builtin/client/util.lua
@@ -21,20 +21,27 @@ function core.parse_relative_pos(param)
return success, pos
end
-function core.switch_to_item(item)
+function core.find_item(item)
for index, stack in ipairs(core.get_inventory("current_player").main) do
if stack:get_name() == item then
- core.localplayer:set_wield_index(index - 1)
- return true
+ return index
end
end
- return false
+end
+
+function core.switch_to_item(item)
+ local i = core.find_item(item)
+ if i then
+ core.localplayer:set_wield_index(i - 1)
+ return true
+ else
+ return false
+ end
end
function core.get_pointed_thing()
local pos = core.camera:get_pos()
local pos2 = vector.add(pos, vector.multiply(core.camera:get_look_dir(), 5))
- local ray = core.raycast(pos, pos2, true, true)
-
+ local ray = core.raycast(pos, pos2, true, core.settings:get_bool("point_liquids") or core.get_item_def(core.localplayer:get_wielded_item():get_name()).liquids_pointable)
return ray:next()
end