PaperMC/nms-patches/EntityProjectile.patch
2019-12-11 09:00:00 +11:00

31 lines
1.3 KiB
Diff

--- a/net/minecraft/server/EntityProjectile.java
+++ b/net/minecraft/server/EntityProjectile.java
@@ -32,6 +32,7 @@
this(entitytypes, entityliving.locX(), entityliving.getHeadY() - 0.10000000149011612D, entityliving.locZ(), world);
this.shooter = entityliving;
this.shooterId = entityliving.getUniqueID();
+ this.projectileSource = (org.bukkit.entity.LivingEntity) entityliving.getBukkitEntity(); // CraftBukkit
}
public void a(Entity entity, float f, float f1, float f2, float f3, float f4) {
@@ -83,7 +84,7 @@
break;
}
- if (this.shooter != null && this.ticksLived < 2 && this.ap == null) {
+ if (this.shooter != null && this.ticksLived < 2 && this.ap == null && this.shooter == entity) { // CraftBukkit - MC-88491
this.ap = entity;
this.aq = 3;
break;
@@ -103,6 +104,11 @@
this.c(((MovingObjectPositionBlock) movingobjectposition).getBlockPosition());
} else {
this.a(movingobjectposition);
+ // CraftBukkit start
+ if (this.dead) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.callProjectileHitEvent(this, movingobjectposition);
+ }
+ // CraftBukkit end
}
}