1
0
Fork 0

Comment out logging, and add in the destruction

This commit is contained in:
ancientmarinerdev 2023-03-09 23:49:26 +00:00 committed by Gitea
parent 37ca0efe05
commit c97fef03b9
1 changed files with 17 additions and 25 deletions

View File

@ -543,10 +543,7 @@ minetest.register_chatcommand("clearmobs",{
if not param or param == "" then if not param or param == "" then
minetest.log("Incorrect usage. For more information please type: /help clearmobs") minetest.log("Incorrect usage. For more information please type: /help clearmobs")
return return
else
minetest.log("param: " .. dump(param))
end end
local mob, unsafe = param:match("^([%w]+)[ ]?([%w%d]*)$") local mob, unsafe = param:match("^([%w]+)[ ]?([%w%d]*)$")
local all = false local all = false
@ -554,6 +551,7 @@ minetest.register_chatcommand("clearmobs",{
local mob_name, mob_type, range local mob_name, mob_type, range
-- Param 1 resolve
if mob and mob ~= "" then if mob and mob ~= "" then
if mob == "all" then if mob == "all" then
all = true all = true
@ -562,12 +560,13 @@ minetest.register_chatcommand("clearmobs",{
elseif mob then elseif mob then
mob_name = mob mob_name = mob
end end
minetest.log ("mob: [" .. mob .. "]") --minetest.log ("mob: [" .. mob .. "]")
else else
minetest.log("No valid second param") --minetest.log("No valid second param")
return return
end end
-- Param 2 resolve
if unsafe and unsafe ~= "" then if unsafe and unsafe ~= "" then
minetest.log ("unsafe: [" .. unsafe .. "]") minetest.log ("unsafe: [" .. unsafe .. "]")
if unsafe == "nametagged" then if unsafe == "nametagged" then
@ -575,37 +574,30 @@ minetest.register_chatcommand("clearmobs",{
end end
local num = tonumber(unsafe) local num = tonumber(unsafe)
if num then if num then range = num end
minetest.log("valid number")
range = num
else
minetest.log("not a number")
end
end end
local p = minetest.get_player_by_name(n) local p = minetest.get_player_by_name(n)
minetest.log("Range: ".. tostring(range))
for _,o in pairs(minetest.luaentities) do for _,o in pairs(minetest.luaentities) do
if o and o.is_mob then if o and o.is_mob then
local mob_match = false local mob_match = false
if all then if all then
minetest.log("Match - All mobs specified") --minetest.log("Match - All mobs specified")
mob_match = true mob_match = true
elseif mob_type then elseif mob_type then
minetest.log("Match - o.type: ".. tostring(o.type)) --minetest.log("Match - o.type: ".. tostring(o.type))
minetest.log("mob_type: ".. tostring(mob_type)) --minetest.log("mob_type: ".. tostring(mob_type))
if mob_type == "monster" and o.type == mob_type then if mob_type == "monster" and o.type == mob_type then
minetest.log("Match - monster") --minetest.log("Match - monster")
mob_match = true mob_match = true
elseif mob_type == "passive" and o.type ~= "monster" and o.type ~= "npc" then elseif mob_type == "passive" and o.type ~= "monster" and o.type ~= "npc" then
minetest.log("Match - passive") --minetest.log("Match - passive")
mob_match = true mob_match = true
else else
minetest.log("No match for type.") --minetest.log("No match for type.")
end end
elseif mob_name and (o.name == mob_name or string.find(o.name, mob_name)) then elseif mob_name and (o.name == mob_name or string.find(o.name, mob_name)) then
@ -625,20 +617,20 @@ minetest.register_chatcommand("clearmobs",{
if ( vector.distance(p:get_pos(),o.object:get_pos()) <= range ) then if ( vector.distance(p:get_pos(),o.object:get_pos()) <= range ) then
in_range = true in_range = true
else else
minetest.log("Out of range") --minetest.log("Out of range")
in_range = false in_range = false
end end
end end
minetest.log("o.nametag: ".. tostring(o.nametag)) minetest.log("o.nametag: ".. tostring(o.nametag))
if in_range and ( (not o.nametag or o.nametag == "" ) and not o.tamed ) then if in_range and ( (not o.nametag or o.nametag == "" ) and not o.tamed ) then
minetest.log("No nametag or tamed. Kill it") --minetest.log("No nametag or tamed. Kill it")
--o.object:remove() o.object:remove()
elseif nametagged and o.nametag then elseif nametagged and o.nametag then
minetest.log("Namedtagged and it has a name tag. Kill it") --minetest.log("Namedtagged and it has a name tag. Kill it")
--o.object:remove() o.object:remove()
else else
minetest.log("Tamed or out of range, do not kill") --minetest.log("Tamed or out of range, do not kill")
end end
end end
end end