aboutsummaryrefslogtreecommitdiff
path: root/builtin/client/util.lua
diff options
context:
space:
mode:
authorElias Fleckenstein <54945686+EliasFleckenstein03@users.noreply.github.com>2020-11-04 14:40:00 +0100
committerGitHub <noreply@github.com>2020-11-04 14:40:00 +0100
commitfc8c8f01ca15912b1db176fec473bcfb0333032f (patch)
tree08182e80b69d5352f81c6827d3caa4efe13e6f14 /builtin/client/util.lua
parent61e2b3a33190d5979bc2e36f9734cebd18465f26 (diff)
parenta7dc1135e94bde5f8c3385d54388563eaffe7553 (diff)
downloaddragonfireclient-fc8c8f01ca15912b1db176fec473bcfb0333032f.tar.xz
Merge branch 'master' into master
Diffstat (limited to 'builtin/client/util.lua')
-rw-r--r--builtin/client/util.lua15
1 files changed, 10 insertions, 5 deletions
diff --git a/builtin/client/util.lua b/builtin/client/util.lua
index d61b547c6..783d0ceb1 100644
--- a/builtin/client/util.lua
+++ b/builtin/client/util.lua
@@ -21,9 +21,9 @@ function core.parse_relative_pos(param)
return success, pos
end
-function core.find_item(item)
+function core.find_item(item, mini, maxi)
for index, stack in ipairs(core.get_inventory("current_player").main) do
- if stack:get_name() == item then
+ if (not mini or index >= mini) and (not maxi or index <= maxi) and stack:get_name() == item then
return index
end
end
@@ -32,7 +32,7 @@ end
function core.switch_to_item(item)
local i = core.find_item(item)
if i then
- core.localplayer:set_wield_index(i - 1)
+ core.localplayer:set_wield_index(i)
return true
else
return false
@@ -42,6 +42,11 @@ 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, core.settings:get_bool("point_liquids") or core.get_item_def(core.localplayer:get_wielded_item():get_name()).liquids_pointable)
- return ray:next()
+ local player = core.localplayer
+ if not player then return end
+ local item = player:get_wielded_item()
+ if not item then return end
+ local def = core.get_item_def(item:get_name())
+ local ray = core.raycast(pos, pos2, true, core.settings:get_bool("point_liquids") or def and def.liquids_pointable)
+ return ray and ray:next()
end