diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-12-11 18:40:34 +0100 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-12-11 18:40:34 +0100 |
commit | 2a6229b7943dc696443d4819fc46e658eed302a2 (patch) | |
tree | d67e9ecf7bc87724ee9bca7b5124953c254be582 | |
parent | 1dd596a783a720233aa1a1f6c397bd8aa6ff8746 (diff) | |
download | autotool-2a6229b7943dc696443d4819fc46e658eed302a2.tar.xz |
Fix endless digging time when should dig instantly
-rw-r--r-- | init.lua | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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") |