summaryrefslogtreecommitdiffstats
path: root/nms-patches/EntityEnderman.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches/EntityEnderman.patch')
-rw-r--r--nms-patches/EntityEnderman.patch41
1 files changed, 39 insertions, 2 deletions
diff --git a/nms-patches/EntityEnderman.patch b/nms-patches/EntityEnderman.patch
index 3292a9e7..a48336b7 100644
--- a/nms-patches/EntityEnderman.patch
+++ b/nms-patches/EntityEnderman.patch
@@ -1,6 +1,43 @@
--- a/net/minecraft/server/EntityEnderman.java
+++ b/net/minecraft/server/EntityEnderman.java
-@@ -306,8 +306,12 @@
+@@ -4,6 +4,8 @@
+ import com.google.common.base.Optional;
+ import com.google.common.base.Predicate;
+ import com.google.common.collect.Sets;
++import org.bukkit.event.entity.EntityTargetEvent;
++
+ import java.util.Random;
+ import java.util.Set;
+ import java.util.UUID;
+@@ -55,7 +57,18 @@
+ }
+
+ public void setGoalTarget(EntityLiving entityliving) {
+- super.setGoalTarget(entityliving);
++ // CraftBukkit start - fire event
++ setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true);
++ }
++
++ @Override
++ public boolean setGoalTarget(EntityLiving entityliving, org.bukkit.event.entity.EntityTargetEvent.TargetReason reason, boolean fireEvent) {
++ if (!super.setGoalTarget(entityliving, reason, fireEvent)) {
++ return false;
++ }
++ entityliving = getGoalTarget();
++ System.out.println(entityliving);
++ // CraftBukkit end
+ AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);
+
+ if (entityliving == null) {
+@@ -69,6 +82,7 @@
+ attributeinstance.b(EntityEnderman.b);
+ }
+ }
++ return true;
+
+ }
+
+@@ -306,8 +320,12 @@
boolean flag = movingobjectposition != null && movingobjectposition.a().equals(blockposition);
if (EntityEnderman.c.contains(block) && flag) {
@@ -15,7 +52,7 @@
}
}
-@@ -337,8 +341,12 @@
+@@ -337,8 +355,12 @@
IBlockData iblockdata2 = this.a.getCarried();
if (iblockdata2 != null && this.a(world, blockposition, iblockdata2.getBlock(), iblockdata, iblockdata1)) {