Stop wither from shooting itself

This commit is contained in:
teknomunk 2024-09-22 07:33:33 -05:00
parent 8f7a020a0d
commit 09028a6bcf
2 changed files with 8 additions and 0 deletions

@ -413,8 +413,10 @@ function mcl_mobs.register_arrow(name, def)
ignore_gravity = true,
damages_players = true,
allow_punching = function(self, entity_def, projectile_def, object)
if def.allow_punching and not def.allow_punching(self, entity_def, projectile_def, object) then return false end
if self.timer > 2 then return true end
if self._owner and object == self._owner.object then return false end
return true
end,
on_collide_with_solid = function(self, pos, node, nodedef)

@ -466,6 +466,9 @@ mcl_mobs.register_arrow("mobs_mc:wither_skull", {
rotate = 90,
_lifetime = 15,
on_punch = function(self) end,
allow_punching = function(self, _, _, object)
return object:get_luaentity().name ~= "mobs_mc:wither"
end,
-- direct hit
hit_player = function(self, player)
@ -519,6 +522,9 @@ mcl_mobs.register_arrow("mobs_mc:wither_skull_strong", {
rotate = 90,
_lifetime = 25,
on_punch = function(self) end,
allow_punching = function(self, _, _, object)
return object:get_luaentity().name ~= "mobs_mc:wither"
end,
-- direct hit
hit_player = function(self, player)