diff --git a/patches/minecraft/net/minecraft/src/EffectRenderer.java.patch b/patches/minecraft/net/minecraft/src/EffectRenderer.java.patch index bd3fd348c3..ec2846a3fc 100644 --- a/patches/minecraft/net/minecraft/src/EffectRenderer.java.patch +++ b/patches/minecraft/net/minecraft/src/EffectRenderer.java.patch @@ -29,7 +29,20 @@ public EffectRenderer(World par1World, RenderEngine par2RenderEngine) { if (par1World != null) -@@ -58,6 +70,17 @@ +@@ -52,12 +64,27 @@ + for (int var2 = 0; var2 < this.fxLayers[var1].size(); ++var2) + { + EntityFX var3 = (EntityFX)this.fxLayers[var1].get(var2); +- var3.onUpdate(); +- +- if (var3.isDead) ++ ++ if (var3 != null) ++ { ++ var3.onUpdate(); ++ } ++ ++ if (var3 == null || var3.isDead) { this.fxLayers[var1].remove(var2--); } @@ -47,16 +60,25 @@ } } } -@@ -112,6 +135,26 @@ +@@ -105,12 +132,34 @@ + for (int var11 = 0; var11 < this.fxLayers[var8].size(); ++var11) + { + EntityFX var12 = (EntityFX)this.fxLayers[var8].get(var11); ++ if (var12 == null) continue; + var10.setBrightness(var12.getBrightnessForRender(par2)); + var12.renderParticle(var10, par2, var3, var7, var4, var5, var6); + } + var10.draw(); } - } ++ } + + for (String key : effectList.keySet()) + { + ForgeHooksClient.bindTexture(key, 0); + for (EntityFX entry : effectList.get(key)) -+ { ++ { ++ if (entry == null) continue; + Tessellator tessallator = Tessellator.instance; + //GL11.glBindTexture(GL11.GL_TEXTURE_2D, renderer.getTexture(key)); + tessallator.startDrawingQuads(); @@ -70,11 +92,18 @@ + tessallator.draw(); + } + ForgeHooksClient.unbindTexture(); -+ } + } } - public void renderLitParticles(Entity par1Entity, float par2) -@@ -144,13 +187,15 @@ +@@ -130,6 +179,7 @@ + for (int var11 = 0; var11 < this.fxLayers[var9].size(); ++var11) + { + EntityFX var12 = (EntityFX)this.fxLayers[var9].get(var11); ++ if (var12 == null) continue; + var10.setBrightness(var12.getBrightnessForRender(par2)); + var12.renderParticle(var10, par2, var4, var8, var5, var6, var7); + } +@@ -144,13 +194,15 @@ { this.fxLayers[var2].clear(); } @@ -93,7 +122,7 @@ byte var7 = 4; for (int var8 = 0; var8 < var7; ++var8) -@@ -163,7 +208,7 @@ +@@ -163,7 +215,7 @@ double var13 = (double)par2 + ((double)var9 + 0.5D) / (double)var7; double var15 = (double)par3 + ((double)var10 + 0.5D) / (double)var7; int var17 = this.rand.nextInt(6); @@ -102,7 +131,7 @@ } } } -@@ -215,12 +260,60 @@ +@@ -215,12 +267,60 @@ var8 = (double)par1 + var6.maxX + (double)var7; }