Use diglib and lua_async
This commit is contained in:
parent
ac41c2259f
commit
2f419d8606
21
init.lua
21
init.lua
@ -1,13 +1,18 @@
|
||||
minetest.register_globalstep(function()
|
||||
if minetest.settings:get_bool("digcustom") then
|
||||
local list = (minetest.settings:get("digcustom_nodes") or ""):split(",")
|
||||
local positions = minetest.find_nodes_near(minetest.localplayer:get_pos(), 5, list, true)
|
||||
for i, pos in ipairs(positions) do
|
||||
if i > 5 then break end
|
||||
minetest.dig_node(pos)
|
||||
async(function()
|
||||
while true do
|
||||
if minetest.settings:get_bool("digcustom") and minetest.localplayer then
|
||||
local list = (minetest.settings:get("digcustom_nodes") or ""):split(",")
|
||||
local node_pos = minetest.find_node_near(minetest.localplayer:get_pos(), 5, list, true)
|
||||
local max_time = tonumber(minetest.settings:get("digcustom_max_time")) or -1
|
||||
|
||||
if node_pos then
|
||||
await(diglib.dig_node(node_pos, max_time))
|
||||
end
|
||||
end
|
||||
|
||||
lua_async.yield()
|
||||
end
|
||||
end)
|
||||
end)()
|
||||
|
||||
minetest.register_list_command("digcustom", "Configue custom autodig nodes", "digcustom_nodes")
|
||||
|
||||
|
1
mod.conf
1
mod.conf
@ -1,3 +1,4 @@
|
||||
name = digcustom
|
||||
author = Fleckenstein
|
||||
description = A dragonfire CSM to automatically dig customizable nodes
|
||||
depends = diglib, lua_async
|
||||
|
@ -1,2 +1,9 @@
|
||||
# Enable DigCustom
|
||||
digcustom (DigCustom) bool false
|
||||
|
||||
# Nodes to dig, comma separated
|
||||
digcustom_nodes (DigCustom Nodes) string
|
||||
|
||||
# Maximum time to spend on digging a node.
|
||||
# -1 means no limit
|
||||
digcustom_max_time (DigCustom Max Time) int -1
|
||||
|
Loading…
x
Reference in New Issue
Block a user