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 "auto"
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 local only_players = minetest.settings:get_bool("killaura_only_players")
22 for _, obj in ipairs(minetest.get_objects_inside_radius(player:get_pos(), 5)) do
23 local do_attack = true
24 if obj:is_local_player() or only_players and not obj:is_player() then
27 for _, friend in ipairs(friendlist) do
28 if obj:get_name() == friend or obj:get_nametag() == friend then
36 punched_anything = true
39 if punched_anything then
45 minetest.register_list_command("friend", "Configure Friend List (friends dont get attacked by Killaura or Forcefield)", "friendlist")
47 minetest.register_cheat("Killaura", "Combat", "killaura")
48 minetest.register_cheat("ForceField", "Combat", "forcefield")