3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-22 14:28:09 +01:00
Paper/nms-patches/EntityProjectile.patch

32 Zeilen
1.6 KiB
Diff

--- ../work/decompile-8eb82bde//net/minecraft/server/EntityProjectile.java 2014-11-28 17:43:43.153707434 +0000
+++ src/main/java/net/minecraft/server/EntityProjectile.java 2014-11-28 17:38:23.000000000 +0000
@@ -25,6 +25,7 @@
public EntityProjectile(World world, EntityLiving entityliving) {
super(world);
this.shooter = entityliving;
+ this.projectileSource = (org.bukkit.entity.LivingEntity) entityliving.getBukkitEntity(); // CraftBukkit
this.a(0.25F, 0.25F);
this.setPositionRotation(entityliving.locX, entityliving.locY + (double) entityliving.getHeadHeight(), entityliving.locZ, entityliving.yaw, entityliving.pitch);
this.locX -= (double) (MathHelper.cos(this.yaw / 180.0F * 3.1415927F) * 0.16F);
@@ -130,7 +131,7 @@
MovingObjectPosition movingobjectposition1 = axisalignedbb.a(vec3d, vec3d1);
if (movingobjectposition1 != null) {
- double d1 = vec3d.f(movingobjectposition1.pos);
+ double d1 = vec3d.distanceSquared(movingobjectposition1.pos); // CraftBukkit - distance efficiency
if (d1 < d0 || d0 == 0.0D) {
entity = entity1;
@@ -150,6 +151,11 @@
this.aq();
} else {
this.a(movingobjectposition);
+ // CraftBukkit start
+ if (this.dead) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.callProjectileHitEvent(this);
+ }
+ // CraftBukkit end
}
}