--- a/net/minecraft/server/EntityPanda.java +++ b/net/minecraft/server/EntityPanda.java @@ -9,6 +9,8 @@ import java.util.function.Predicate; import javax.annotation.Nullable; +import org.bukkit.event.entity.EntityTargetEvent; // CraftBukkit + public class EntityPanda extends EntityAnimal { private static final DataWatcherObject<Integer> bA = DataWatcher.a(EntityPanda.class, DataWatcherRegistry.b); @@ -445,7 +447,7 @@ @Override protected void a(EntityItem entityitem) { - if (this.getEquipment(EnumItemSlot.MAINHAND).isEmpty() && EntityPanda.PICKUP_PREDICATE.test(entityitem)) { + if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityPickupItemEvent(this, entityitem, 0, !(this.getEquipment(EnumItemSlot.MAINHAND).isEmpty() && EntityPanda.PICKUP_PREDICATE.test(entityitem))).isCancelled()) { // CraftBukkit ItemStack itemstack = entityitem.getItemStack(); this.setSlot(EnumItemSlot.MAINHAND, itemstack); @@ -673,7 +675,7 @@ @Override protected void a(EntityInsentient entityinsentient, EntityLiving entityliving) { if (entityinsentient instanceof EntityPanda && ((EntityPanda) entityinsentient).dS()) { - entityinsentient.setGoalTarget(entityliving); + entityinsentient.setGoalTarget(entityliving, EntityTargetEvent.TargetReason.TARGET_ATTACKED_ENTITY, true); // CraftBukkit } } @@ -777,9 +779,9 @@ private final EntityPanda i; public c(EntityPanda entitypanda, Class<T> oclass, float f, double d0, double d1) { - Predicate predicate = IEntitySelector.f; + // Predicate predicate = IEntitySelector.f; // CraftBukkit - decompile error - super(entitypanda, oclass, f, d0, d1, predicate::test); + super(entitypanda, oclass, f, d0, d1, IEntitySelector.f::test); // CraftBukkit - decompile error this.i = entitypanda; } @@ -808,9 +810,9 @@ this.e.s(32); this.f = this.e.ticksLived + 600; if (this.e.df()) { - EntityHuman entityhuman = this.b.a(EntityPanda.d.d, (EntityLiving) this.e); + EntityHuman entityhuman = this.b.a(d, (EntityLiving) this.e); // CraftBukkit - decompile error - this.e.setGoalTarget(entityhuman); + this.e.setGoalTarget(entityhuman, EntityTargetEvent.TargetReason.CLOSEST_PLAYER, true); // CraftBukkit } }