--- a/net/minecraft/world/entity/raid/EntityRaider.java +++ b/net/minecraft/world/entity/raid/EntityRaider.java @@ -40,6 +40,10 @@ import net.minecraft.world.level.pathfinder.PathEntity; import net.minecraft.world.phys.Vec3D; +// CraftBukkit start +import org.bukkit.event.entity.EntityRemoveEvent; +// CraftBukkit end + public abstract class EntityRaider extends EntityMonsterPatrolling { protected static final DataWatcherObject IS_CELEBRATING = DataWatcher.defineId(EntityRaider.class, DataWatcherRegistry.BOOLEAN); @@ -253,7 +257,7 @@ this.onItemPickup(entityitem); this.setItemSlot(enumitemslot, itemstack); this.take(entityitem, itemstack.getCount()); - entityitem.discard(); + entityitem.discard(EntityRemoveEvent.Cause.PICKUP); // CraftBukkit - add Bukkit remove cause this.getCurrentRaid().setLeader(this.getWave(), this); this.setPatrolLeader(true); } else { @@ -307,7 +311,7 @@ @Nullable private EntityItem pursuedBannerItemEntity; - public b(final EntityRaider entityraider) { + public b(final T entityraider) { // CraftBukkit - decompile error this.mob = entityraider; this.setFlags(EnumSet.of(PathfinderGoal.Type.MOVE)); } @@ -451,7 +455,7 @@ this.mob.getNavigation().stop(); for (EntityRaider entityraider : getServerLevel((Entity) this.mob).getNearbyEntities(EntityRaider.class, this.shoutTargeting, this.mob, this.mob.getBoundingBox().inflate(8.0D, 8.0D, 8.0D))) { - entityraider.setTarget(this.mob.getTarget()); + entityraider.setTarget(this.mob.getTarget(), org.bukkit.event.entity.EntityTargetEvent.TargetReason.FOLLOW_LEADER, true); // CraftBukkit } } @@ -463,7 +467,7 @@ if (entityliving != null) { for (EntityRaider entityraider : getServerLevel((Entity) this.mob).getNearbyEntities(EntityRaider.class, this.shoutTargeting, this.mob, this.mob.getBoundingBox().inflate(8.0D, 8.0D, 8.0D))) { - entityraider.setTarget(entityliving); + entityraider.setTarget(entityliving, org.bukkit.event.entity.EntityTargetEvent.TargetReason.FOLLOW_LEADER, true); // CraftBukkit entityraider.setAggressive(true); }