From 6da28cf391eceab7c5e58ab2a7ee54dba082ba49 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Fri, 8 Jan 2021 18:08:30 +0100 Subject: [PATCH] Add interval --- init.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/init.lua b/init.lua index cf277e8..d3cc5fc 100644 --- a/init.lua +++ b/init.lua @@ -1,8 +1,22 @@ +local etime = 0 + minetest.register_globalstep(function(dtime) local player = minetest.localplayer if not player then return end + etime = etime + dtime local control = player:get_control() if minetest.settings:get_bool("killaura") or minetest.settings:get_bool("forcefield") and control.dig then + local interval_str = minetest.settings:get("killaura_interval") or "0" + local interval + if interval_str == "auto" then + interval = player:get_wielded_item():get_tool_capabilities().full_punch_interval + else + interval = tonumber(interval_str) or 0 + end + if etime < interval then + return + end + local punched_anything = false local friendlist = (minetest.settings:get("friendlist") or ""):split(",") for _, obj in ipairs(minetest.get_objects_inside_radius(player:get_pos(), 5)) do local do_attack = true @@ -18,8 +32,12 @@ minetest.register_globalstep(function(dtime) end if do_attack then obj:punch() + punched_anything = true end end + if punched_anything then + etime = 0 + end end end) -- 2.44.0