ForgePatch/patches/minecraft/net/minecraft/world/Explosion.java.patch

53 lines
2.7 KiB
Diff

--- ../src-base/minecraft/net/minecraft/world/Explosion.java
+++ ../src-work/minecraft/net/minecraft/world/Explosion.java
@@ -41,6 +41,7 @@
private final float field_77280_f;
private final List<BlockPos> field_77281_g;
private final Map<EntityPlayer, Vec3d> field_77288_k;
+ private final Vec3d position;
@SideOnly(Side.CLIENT)
public Explosion(World p_i45752_1_, Entity p_i45752_2_, double p_i45752_3_, double p_i45752_5_, double p_i45752_7_, float p_i45752_9_, List<BlockPos> p_i45752_10_)
@@ -68,6 +69,7 @@
this.field_77282_d = p_i45754_7_;
this.field_77286_a = p_i45754_10_;
this.field_82755_b = p_i45754_11_;
+ this.position = new Vec3d(field_77284_b, field_77285_c, field_77282_d);
}
public void func_77278_a()
@@ -102,7 +104,7 @@
if (iblockstate.func_185904_a() != Material.field_151579_a)
{
- float f2 = this.field_77283_e != null ? this.field_77283_e.func_180428_a(this, this.field_77287_j, blockpos, iblockstate) : iblockstate.func_177230_c().func_149638_a((Entity)null);
+ float f2 = this.field_77283_e != null ? this.field_77283_e.func_180428_a(this, this.field_77287_j, blockpos, iblockstate) : iblockstate.func_177230_c().getExplosionResistance(field_77287_j, blockpos, (Entity)null, this);
f -= (f2 + 0.3F) * 0.3F;
}
@@ -129,6 +131,7 @@
int j2 = MathHelper.func_76128_c(this.field_77282_d - (double)f3 - 1.0D);
int j1 = MathHelper.func_76128_c(this.field_77282_d + (double)f3 + 1.0D);
List<Entity> list = this.field_77287_j.func_72839_b(this.field_77283_e, new AxisAlignedBB((double)k1, (double)i2, (double)j2, (double)l1, (double)i1, (double)j1));
+ net.minecraftforge.event.ForgeEventFactory.onExplosionDetonate(this.field_77287_j, this, list, f3);
Vec3d vec3d = new Vec3d(this.field_77284_b, this.field_77285_c, this.field_77282_d);
for (int k2 = 0; k2 < list.size(); ++k2)
@@ -228,8 +231,7 @@
block.func_180653_a(this.field_77287_j, blockpos, this.field_77287_j.func_180495_p(blockpos), 1.0F / this.field_77280_f, 0);
}
- this.field_77287_j.func_180501_a(blockpos, Blocks.field_150350_a.func_176223_P(), 3);
- block.func_180652_a(this.field_77287_j, blockpos, this);
+ block.onBlockExploded(this.field_77287_j, blockpos, this);
}
}
}
@@ -266,4 +268,6 @@
{
return this.field_77281_g;
}
+
+ public Vec3d getPosition(){ return this.position; }
}