diff options
Diffstat (limited to 'builtin/client/util.lua')
-rw-r--r-- | builtin/client/util.lua | 19 |
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 |