aboutsummaryrefslogtreecommitdiff
path: root/clientmods
diff options
context:
space:
mode:
Diffstat (limited to 'clientmods')
-rw-r--r--clientmods/inventory/autotool.lua22
-rw-r--r--clientmods/inventory/init.lua4
2 files changed, 12 insertions, 14 deletions
diff --git a/clientmods/inventory/autotool.lua b/clientmods/inventory/autotool.lua
index 976386724..430e6025b 100644
--- a/clientmods/inventory/autotool.lua
+++ b/clientmods/inventory/autotool.lua
@@ -1,9 +1,9 @@
-local function check_tool(groups, old_best_time)
- local toolcaps = minetest.localplayer:get_wielded_item():get_tool_capabilities()
+local function check_tool(stack, node_groups, old_best_time)
+ local toolcaps = stack:get_tool_capabilities()
if not toolcaps then return end
local best_time = old_best_time
for group, groupdef in pairs(toolcaps.groupcaps) do
- local level = groups[group]
+ local level = node_groups[group]
if level then
local this_time = groupdef.times[level]
if this_time < best_time then
@@ -17,14 +17,16 @@ end
minetest.register_on_punchnode(function(pos, node)
if not minetest.settings:get_bool("autotool") then return end
local player = minetest.localplayer
- local groups = minetest.get_node_def(node.name).groups
+ local inventory = minetest.get_inventory("current_player")
+ local node_groups = minetest.get_node_def(node.name).groups
local new_index = player:get_wield_index()
- local better, best = check_tool(groups, math.huge)
- for i = 0, 35 do
- player:set_wield_index(i)
- better, best = check_tool(groups, best)
- if better then
- new_index = i
+ local is_better, best_time = false, math.huge
+ is_better, best_time = check_tool(player:get_wielded_item(), node_groups, best_time)
+ is_better, best_time = check_tool(inventory.hand[1], node_groups, best_time)
+ for index, stack in pairs(inventory.main) do
+ is_better, best_time = check_tool(stack, node_groups, best_time)
+ if is_better then
+ new_index = index - 1
end
end
player:set_wield_index(new_index)
diff --git a/clientmods/inventory/init.lua b/clientmods/inventory/init.lua
index eff8fa39b..52791b338 100644
--- a/clientmods/inventory/init.lua
+++ b/clientmods/inventory/init.lua
@@ -5,7 +5,3 @@ dofile(modpath .. "/invhack.lua")
dofile(modpath .. "/enderchest.lua")
dofile(modpath .. "/next_item.lua")
dofile(modpath .. "/autotool.lua")
-
-minetest.register_on_inventory_open(function(inv)
- print(inv)
-end)