ForgePatch/patches/minecraft/net/minecraft/client/particle/ParticleManager.java.patch

34 lines
1.3 KiB
Diff

--- ../src-base/minecraft/net/minecraft/client/particle/ParticleManager.java
+++ ../src-work/minecraft/net/minecraft/client/particle/ParticleManager.java
@@ -145,6 +145,7 @@
public void func_78873_a(Particle p_78873_1_)
{
+ if (p_78873_1_ == null) return; //Forge: Prevent modders from being bad and adding nulls causing untraceable NPEs.
this.field_187241_h.add(p_78873_1_);
}
@@ -378,7 +379,7 @@
public void func_180533_a(BlockPos p_180533_1_, IBlockState p_180533_2_)
{
- if (p_180533_2_.func_185904_a() != Material.field_151579_a)
+ if (!p_180533_2_.func_177230_c().isAir(p_180533_2_, this.field_78878_a, p_180533_1_) && !p_180533_2_.func_177230_c().addDestroyEffects(field_78878_a, p_180533_1_, this))
{
p_180533_2_ = p_180533_2_.func_185899_b(this.field_78878_a, p_180533_1_);
int i = 4;
@@ -462,4 +463,13 @@
return "" + i;
}
+
+ public void addBlockHitEffects(BlockPos pos, net.minecraft.util.math.RayTraceResult target)
+ {
+ IBlockState state = field_78878_a.func_180495_p(pos);
+ if (state != null && !state.func_177230_c().addHitEffects(state, field_78878_a, target, this))
+ {
+ func_180532_a(pos, target.field_178784_b);
+ }
+ }
}