aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-12-11 18:40:34 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-12-11 18:40:34 +0100
commit2a6229b7943dc696443d4819fc46e658eed302a2 (patch)
treed67e9ecf7bc87724ee9bca7b5124953c254be582
parent1dd596a783a720233aa1a1f6c397bd8aa6ff8746 (diff)
downloadautotool-2a6229b7943dc696443d4819fc46e658eed302a2.tar.xz
Fix endless digging time when should dig instantly
-rw-r--r--init.lua11
1 files changed, 7 insertions, 4 deletions
diff --git a/init.lua b/init.lua
index 2805986..c61db16 100644
--- a/init.lua
+++ b/init.lua
@@ -32,20 +32,20 @@ local function find_best_tool(nodename)
new_index = index
end
end
- return new_index
+ return new_index, best_time
end
function autotool.select_best_tool(nodename)
minetest.localplayer:set_wield_index(find_best_tool(nodename))
end
-local new_index, old_index, pointed_pos
+local new_index, old_index, pointed_pos, best_time
minetest.register_on_punchnode(function(pos, node)
if minetest.settings:get_bool("autotool") then
pointed_pos = pos
old_index = old_index or minetest.localplayer:get_wield_index()
- new_index = find_best_tool(node.name)
+ new_index, best_time = find_best_tool(node.name)
end
end)
@@ -56,11 +56,14 @@ minetest.register_globalstep(function()
local pt = minetest.get_pointed_thing()
if pt and pt.type == "node" and vector.equals(minetest.get_pointed_thing_position(pt), pointed_pos) and player:get_control().dig then
player:set_wield_index(new_index)
+ if best_time == 0 then
+ minetest.dig_node(pointed_pos)
+ end
return
end
end
player:set_wield_index(old_index)
- new_index, old_index, pointed_pos = nil
+ new_index, old_index, pointed_pos, best_time = nil
end)
minetest.register_cheat("AutoTool", "Inventory", "autotool")