You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Java
		
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Java
		
	
package net.minecraft.client.particle;
 | 
						|
 | 
						|
import cpw.mods.fml.relauncher.Side;
 | 
						|
import cpw.mods.fml.relauncher.SideOnly;
 | 
						|
import net.minecraft.client.renderer.Tessellator;
 | 
						|
import net.minecraft.client.renderer.texture.TextureManager;
 | 
						|
import net.minecraft.util.MathHelper;
 | 
						|
import net.minecraft.util.ResourceLocation;
 | 
						|
import net.minecraft.world.World;
 | 
						|
import org.lwjgl.opengl.GL11;
 | 
						|
 | 
						|
@SideOnly(Side.CLIENT)
 | 
						|
public class EntityFootStepFX extends EntityFX
 | 
						|
{
 | 
						|
    private static final ResourceLocation field_110126_a = new ResourceLocation("textures/particle/footprint.png");
 | 
						|
    private int footstepAge;
 | 
						|
    private int footstepMaxAge;
 | 
						|
    private TextureManager currentFootSteps;
 | 
						|
    private static final String __OBFID = "CL_00000908";
 | 
						|
 | 
						|
    public EntityFootStepFX(TextureManager p_i1210_1_, World p_i1210_2_, double p_i1210_3_, double p_i1210_5_, double p_i1210_7_)
 | 
						|
    {
 | 
						|
        super(p_i1210_2_, p_i1210_3_, p_i1210_5_, p_i1210_7_, 0.0D, 0.0D, 0.0D);
 | 
						|
        this.currentFootSteps = p_i1210_1_;
 | 
						|
        this.motionX = this.motionY = this.motionZ = 0.0D;
 | 
						|
        this.footstepMaxAge = 200;
 | 
						|
    }
 | 
						|
 | 
						|
    public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_)
 | 
						|
    {
 | 
						|
        float f6 = ((float)this.footstepAge + p_70539_2_) / (float)this.footstepMaxAge;
 | 
						|
        f6 *= f6;
 | 
						|
        float f7 = 2.0F - f6 * 2.0F;
 | 
						|
 | 
						|
        if (f7 > 1.0F)
 | 
						|
        {
 | 
						|
            f7 = 1.0F;
 | 
						|
        }
 | 
						|
 | 
						|
        f7 *= 0.2F;
 | 
						|
        GL11.glDisable(GL11.GL_LIGHTING);
 | 
						|
        float f8 = 0.125F;
 | 
						|
        float f9 = (float)(this.posX - interpPosX);
 | 
						|
        float f10 = (float)(this.posY - interpPosY);
 | 
						|
        float f11 = (float)(this.posZ - interpPosZ);
 | 
						|
        float f12 = this.worldObj.getLightBrightness(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ));
 | 
						|
        this.currentFootSteps.bindTexture(field_110126_a);
 | 
						|
        GL11.glEnable(GL11.GL_BLEND);
 | 
						|
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
 | 
						|
        p_70539_1_.startDrawingQuads();
 | 
						|
        p_70539_1_.setColorRGBA_F(f12, f12, f12, f7);
 | 
						|
        p_70539_1_.addVertexWithUV((double)(f9 - f8), (double)f10, (double)(f11 + f8), 0.0D, 1.0D);
 | 
						|
        p_70539_1_.addVertexWithUV((double)(f9 + f8), (double)f10, (double)(f11 + f8), 1.0D, 1.0D);
 | 
						|
        p_70539_1_.addVertexWithUV((double)(f9 + f8), (double)f10, (double)(f11 - f8), 1.0D, 0.0D);
 | 
						|
        p_70539_1_.addVertexWithUV((double)(f9 - f8), (double)f10, (double)(f11 - f8), 0.0D, 0.0D);
 | 
						|
        p_70539_1_.draw();
 | 
						|
        GL11.glDisable(GL11.GL_BLEND);
 | 
						|
        GL11.glEnable(GL11.GL_LIGHTING);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Called to update the entity's position/logic.
 | 
						|
     */
 | 
						|
    public void onUpdate()
 | 
						|
    {
 | 
						|
        ++this.footstepAge;
 | 
						|
 | 
						|
        if (this.footstepAge == this.footstepMaxAge)
 | 
						|
        {
 | 
						|
            this.setDead();
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    public int getFXLayer()
 | 
						|
    {
 | 
						|
        return 3;
 | 
						|
    }
 | 
						|
} |