/// <summary>
        /// Renders all current particles. Args player, partialTickTime
        /// </summary>
        public virtual void RenderParticles(Entity par1Entity, float par2)
        {
            float f  = ActiveRenderInfo.RotationX;
            float f1 = ActiveRenderInfo.RotationZ;
            float f2 = ActiveRenderInfo.RotationYZ;
            float f3 = ActiveRenderInfo.RotationXY;
            float f4 = ActiveRenderInfo.RotationXZ;

            EntityFX.InterpPosX = par1Entity.LastTickPosX + (par1Entity.PosX - par1Entity.LastTickPosX) * (double)par2;
            EntityFX.InterpPosY = par1Entity.LastTickPosY + (par1Entity.PosY - par1Entity.LastTickPosY) * (double)par2;
            EntityFX.InterpPosZ = par1Entity.LastTickPosZ + (par1Entity.PosZ - par1Entity.LastTickPosZ) * (double)par2;

            for (int i = 0; i < 3; i++)
            {
                if (FxLayers[i].Count == 0)
                {
                    continue;
                }

                int j = 0;

                if (i == 0)
                {
                    j = Renderer.GetTexture("/particles.png");
                }

                if (i == 1)
                {
                    j = Renderer.GetTexture("/terrain.png");
                }

                if (i == 2)
                {
                    j = Renderer.GetTexture("/gui/items.png");
                }

                //GL.BindTexture(TextureTarget.Texture2D, j);
                Tessellator tessellator = Tessellator.Instance;
                //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
                tessellator.StartDrawingQuads();

                for (int k = 0; k < FxLayers[i].Count; k++)
                {
                    EntityFX entityfx = FxLayers[i][k];
                    tessellator.SetBrightness(entityfx.GetBrightnessForRender(par2));
                    entityfx.RenderParticle(tessellator, par2, f, f4, f1, f2, f3);
                }

                tessellator.Draw();
            }
        }
        public override void RenderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7)
        {
            int i = (int)((((float)Field_35130_a + par2) * 15F) / (float)Field_35129_ay);

            if (i > 15)
            {
                return;
            }
            else
            {
                Field_35128_az.BindTexture("misc.explosion.png");
                float f  = (float)(i % 4) / 4F;
                float f1 = f + 0.24975F;
                float f2 = (float)(i / 4) / 4F;
                float f3 = f2 + 0.24975F;
                float f4 = 2.0F * Field_35131_aA;
                float f5 = (float)((PrevPosX + (PosX - PrevPosX) * (double)par2) - InterpPosX);
                float f6 = (float)((PrevPosY + (PosY - PrevPosY) * (double)par2) - InterpPosY);
                float f7 = (float)((PrevPosZ + (PosZ - PrevPosZ) * (double)par2) - InterpPosZ);
                //GL.Color4(1.0F, 1.0F, 1.0F, 1.0F);
                //GL.Disable(EnableCap.Lighting);
                RenderHelper.DisableStandardItemLighting();
                par1Tessellator.StartDrawingQuads();
                par1Tessellator.SetColorRGBA_F(ParticleRed, ParticleGreen, ParticleBlue, 1.0F);
                par1Tessellator.SetNormal(0.0F, 1.0F, 0.0F);
                par1Tessellator.SetBrightness(240);
                par1Tessellator.AddVertexWithUV(f5 - par3 * f4 - par6 * f4, f6 - par4 * f4, f7 - par5 * f4 - par7 * f4, f1, f3);
                par1Tessellator.AddVertexWithUV((f5 - par3 * f4) + par6 * f4, f6 + par4 * f4, (f7 - par5 * f4) + par7 * f4, f1, f2);
                par1Tessellator.AddVertexWithUV(f5 + par3 * f4 + par6 * f4, f6 + par4 * f4, f7 + par5 * f4 + par7 * f4, f, f2);
                par1Tessellator.AddVertexWithUV((f5 + par3 * f4) - par6 * f4, f6 - par4 * f4, (f7 + par5 * f4) - par7 * f4, f, f3);
                par1Tessellator.Draw();
                //GL.PolygonOffset(0.0F, 0.0F);
                //GL.Enable(EnableCap.Lighting);
                return;
            }
        }
        public virtual void Func_1187_b(Entity par1Entity, float par2)
        {
            float f  = MathHelper2.Cos(par1Entity.RotationYaw * 0.01745329F);
            float f1 = MathHelper2.Sin(par1Entity.RotationYaw * 0.01745329F);
            float f2 = -f1 *MathHelper2.Sin(par1Entity.RotationPitch * 0.01745329F);

            float f3    = f * MathHelper2.Sin(par1Entity.RotationPitch * 0.01745329F);
            float f4    = MathHelper2.Cos(par1Entity.RotationPitch * 0.01745329F);
            sbyte byte0 = 3;

            if (FxLayers[byte0].Count == 0)
            {
                return;
            }

            Tessellator tessellator = Tessellator.Instance;

            for (int i = 0; i < FxLayers[byte0].Count; i++)
            {
                EntityFX entityfx = FxLayers[byte0][i];
                tessellator.SetBrightness(entityfx.GetBrightnessForRender(par2));
                entityfx.RenderParticle(tessellator, par2, f, f4, f1, f2, f3);
            }
        }