--- a/net/minecraft/world/entity/ai/goal/target/OwnerHurtTargetGoal.java
+++ b/net/minecraft/world/entity/ai/goal/target/OwnerHurtTargetGoal.java
@@ -7,6 +7,7 @@
 import net.minecraft.world.entity.ai.targeting.TargetingConditions;
 
 public class OwnerHurtTargetGoal extends TargetGoal {
+
     private final TamableAnimal tameAnimal;
     private LivingEntity ownerLastHurt;
     private int timestamp;
@@ -20,15 +21,15 @@
     @Override
     public boolean canUse() {
         if (this.tameAnimal.isTame() && !this.tameAnimal.isOrderedToSit()) {
-            LivingEntity livingEntity = this.tameAnimal.getOwner();
-            if (livingEntity == null) {
+            LivingEntity entityliving = this.tameAnimal.getOwner();
+
+            if (entityliving == null) {
                 return false;
             } else {
-                this.ownerLastHurt = livingEntity.getLastHurtMob();
-                int i = livingEntity.getLastHurtMobTimestamp();
-                return i != this.timestamp
-                    && this.canAttack(this.ownerLastHurt, TargetingConditions.DEFAULT)
-                    && this.tameAnimal.wantsToAttack(this.ownerLastHurt, livingEntity);
+                this.ownerLastHurt = entityliving.getLastHurtMob();
+                int i = entityliving.getLastHurtMobTimestamp();
+
+                return i != this.timestamp && this.canAttack(this.ownerLastHurt, TargetingConditions.DEFAULT) && this.tameAnimal.wantsToAttack(this.ownerLastHurt, entityliving);
             }
         } else {
             return false;
@@ -37,10 +38,11 @@
 
     @Override
     public void start() {
-        this.mob.setTarget(this.ownerLastHurt);
-        LivingEntity livingEntity = this.tameAnimal.getOwner();
-        if (livingEntity != null) {
-            this.timestamp = livingEntity.getLastHurtMobTimestamp();
+        this.mob.setTarget(this.ownerLastHurt, org.bukkit.event.entity.EntityTargetEvent.TargetReason.OWNER_ATTACKED_TARGET, true); // CraftBukkit - reason
+        LivingEntity entityliving = this.tameAnimal.getOwner();
+
+        if (entityliving != null) {
+            this.timestamp = entityliving.getLastHurtMobTimestamp();
         }
 
         super.start();
