3 minetest.register_globalstep(function(dtime)
4 local player = minetest.localplayer
5 if not player then return end
7 local control = player:get_control()
8 if minetest.settings:get_bool("killaura") or minetest.settings:get_bool("forcefield") and control.dig then
9 local interval_str = minetest.settings:get("killaura_interval") or "0"
11 if interval_str == "auto" then
12 interval = player:get_wielded_item():get_tool_capabilities().full_punch_interval
14 interval = tonumber(interval_str) or 0
16 if etime < interval then
19 local punched_anything = false
20 local friendlist = (minetest.settings:get("friendlist") or ""):split(",")
21 for _, obj in ipairs(minetest.get_objects_inside_radius(player:get_pos(), 5)) do
22 local do_attack = true
23 if obj:is_local_player() then
26 for _, friend in ipairs(friendlist) do
27 if obj:get_name() == friend or obj:get_nametag() == friend then
35 punched_anything = true
38 if punched_anything then
44 minetest.register_list_command("friend", "Configure Friend List (friends dont get attacked by Killaura or Forcefield)", "friendlist")
46 minetest.register_cheat("Killaura", "Combat", "killaura")
47 minetest.register_cheat("ForceField", "Combat", "forcefield")