forked from VoxeLibre/VoxeLibre
Add /enderdebug command to study staring detection
This commit is contained in:
parent
5778c2d27a
commit
d60fa0f4ab
|
@ -26,6 +26,8 @@
|
|||
|
||||
local S = minetest.get_translator("mobs_mc")
|
||||
|
||||
local enderdebug = false
|
||||
|
||||
local telesound = function(pos, is_source)
|
||||
local snd
|
||||
if is_source then
|
||||
|
@ -391,11 +393,18 @@ mcl_mobs:register_mob("mobs_mc:enderman", {
|
|||
--if looking in general head position, turn hostile
|
||||
if minetest.line_of_sight(ender_eye_pos, look_pos_base) and vector.distance(look_pos, ender_eye_pos) <= 0.4 then
|
||||
self.provoked = "staring"
|
||||
self.attack = minetest.get_player_by_name(obj:get_player_name())
|
||||
if not enderdebug then
|
||||
self.attack = minetest.get_player_by_name(obj:get_player_name())
|
||||
else
|
||||
minetest.log("staring")
|
||||
end
|
||||
break
|
||||
else -- I'm not sure what this part does, but I don't want to break anything - jordan4ibanez
|
||||
if self.provoked == "staring" then
|
||||
self.provoked = "broke_contact"
|
||||
if enderdebug then
|
||||
minetest.log("stopped staring")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -778,3 +787,15 @@ mcl_vars.mg_nether_max)
|
|||
|
||||
-- spawn eggs
|
||||
mcl_mobs:register_egg("mobs_mc:enderman", S("Enderman"), "mobs_mc_spawn_icon_enderman.png", 0)
|
||||
|
||||
minetest.register_chatcommand("enderdebug",{
|
||||
description = S("Toggle between enderman aggro behavior and just signal staring"),
|
||||
privs = { debug = true },
|
||||
func=function()
|
||||
enderdebug = not enderdebug
|
||||
if enderdebug then
|
||||
return true, "Endermen will not attack"
|
||||
end
|
||||
return true, "Endermen back to normal"
|
||||
end
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue