You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.8 KiB
40 lines
1.8 KiB
--- ../src-base/minecraft/net/minecraft/entity/monster/EntityMob.java |
|
+++ ../src-work/minecraft/net/minecraft/entity/monster/EntityMob.java |
|
@@ -1,5 +1,6 @@ |
|
package net.minecraft.entity.monster; |
|
|
|
+import org.bukkit.event.entity.EntityTargetEvent; // CraftBukkit |
|
import net.minecraft.enchantment.EnchantmentHelper; |
|
import net.minecraft.entity.Entity; |
|
import net.minecraft.entity.EntityCreature; |
|
@@ -75,7 +76,29 @@ |
|
{ |
|
if (entity != this) |
|
{ |
|
- this.entityToAttack = entity; |
|
+ // CraftBukkit start - We still need to call events for entities without goals |
|
+ if (entity != this.entityToAttack && (this instanceof EntityBlaze || this instanceof EntityEnderman || this instanceof EntitySpider || this instanceof EntityGiantZombie || this instanceof EntitySilverfish)) |
|
+ { |
|
+ EntityTargetEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTargetEvent(this, entity, EntityTargetEvent.TargetReason.TARGET_ATTACKED_ENTITY); |
|
+ |
|
+ if (!event.isCancelled()) |
|
+ { |
|
+ if (event.getTarget() == null) |
|
+ { |
|
+ this.entityToAttack = null; |
|
+ } |
|
+ else |
|
+ { |
|
+ this.entityToAttack = ((org.bukkit.craftbukkit.entity.CraftEntity) event.getTarget()).getHandle(); |
|
+ } |
|
+ } |
|
+ } |
|
+ else |
|
+ { |
|
+ this.entityToAttack = entity; |
|
+ } |
|
+ |
|
+ // CraftBukkit end |
|
} |
|
|
|
return true;
|
|
|