46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
|
--- ../src-base/minecraft/net/minecraft/entity/projectile/EntityThrowable.java
|
||
|
+++ ../src-work/minecraft/net/minecraft/entity/projectile/EntityThrowable.java
|
||
|
@@ -24,8 +24,8 @@
|
||
|
private Block field_145785_f;
|
||
|
protected boolean inGround;
|
||
|
public int throwableShake;
|
||
|
- private EntityLivingBase thrower;
|
||
|
- private String throwerName;
|
||
|
+ public EntityLivingBase thrower; // CraftBukkit - private -> public
|
||
|
+ public String throwerName; // CraftBukkit - private -> public
|
||
|
private int ticksInGround;
|
||
|
private int ticksInAir;
|
||
|
private static final String __OBFID = "CL_00001723";
|
||
|
@@ -50,6 +50,7 @@
|
||
|
{
|
||
|
super(p_i1777_1_);
|
||
|
this.thrower = p_i1777_2_;
|
||
|
+ this.projectileSource = (org.bukkit.entity.LivingEntity) p_i1777_2_.getBukkitEntity(); // CraftBukkit
|
||
|
this.setSize(0.25F, 0.25F);
|
||
|
this.setLocationAndAngles(p_i1777_2_.posX, p_i1777_2_.posY + (double)p_i1777_2_.getEyeHeight(), p_i1777_2_.posZ, p_i1777_2_.rotationYaw, p_i1777_2_.rotationPitch);
|
||
|
this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
|
||
|
@@ -187,7 +188,7 @@
|
||
|
|
||
|
if (movingobjectposition1 != null)
|
||
|
{
|
||
|
- double d1 = vec3.distanceTo(movingobjectposition1.hitVec);
|
||
|
+ double d1 = vec3.squareDistanceTo(movingobjectposition1.hitVec); // CraftBukkit - distance efficiency
|
||
|
|
||
|
if (d1 < d0 || d0 == 0.0D)
|
||
|
{
|
||
|
@@ -213,6 +214,14 @@
|
||
|
else
|
||
|
{
|
||
|
this.onImpact(movingobjectposition);
|
||
|
+
|
||
|
+ // CraftBukkit start
|
||
|
+ if (this.isDead)
|
||
|
+ {
|
||
|
+ org.bukkit.craftbukkit.event.CraftEventFactory.callProjectileHitEvent(this);
|
||
|
+ }
|
||
|
+
|
||
|
+ // CraftBukkit end
|
||
|
}
|
||
|
}
|
||
|
|