diff --git a/mods/ENTITIES/mcl_mobs/init.lua b/mods/ENTITIES/mcl_mobs/init.lua index 85e31b665..65272eebf 100644 --- a/mods/ENTITIES/mcl_mobs/init.lua +++ b/mods/ENTITIES/mcl_mobs/init.lua @@ -374,7 +374,7 @@ function mcl_mobs.register_arrow(name, def) rotate = def.rotate, on_punch = def.on_punch or function(self, puncher, time_from_last_punch, tool_capabilities, dir, damage) local vel = self.object:get_velocity():length() - self.object:set_velocity({x=dir.x * vel, y=dir.y * vel, z=dir.z * vel}) + self.object:set_velocity(dir * vel) self._puncher = puncher end, collisionbox = def.collisionbox or {0, 0, 0, 0, 0, 0}, diff --git a/mods/ENTITIES/mobs_mc/ghast.lua b/mods/ENTITIES/mobs_mc/ghast.lua index 83277910e..81855d0b6 100644 --- a/mods/ENTITIES/mobs_mc/ghast.lua +++ b/mods/ENTITIES/mobs_mc/ghast.lua @@ -126,13 +126,14 @@ mcl_mobs.register_arrow("mobs_mc:fireball", { end, hit_mob = function(self, mob) + local name = mob:get_luaentity().name mob:punch(self.object, 1.0, { full_punch_interval = 1.0, damage_groups = {fleshy = 6}, }, nil) mcl_mobs.mob_class.boom(self,self.object:get_pos(), 1, true) local ent = mob:get_luaentity() - if not ent or ent.health <= 0 then + if (not ent or ent.health <= 0) and self._puncher and name == "mobs_mc:ghast" then awards.unlock(self._puncher:get_player_name(), "mcl:fireball_redir_serv") end end,