package net.minecraft.client.particle;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.entity.Entity;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
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";
protected EntityFootStepFX(TextureManager p_i1210_1_, World worldIn, double p_i1210_3_, double p_i1210_5_, double p_i1210_7_)
{
super(worldIn, 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 func_180434_a(WorldRenderer p_180434_1_, Entity p_180434_2_, float p_180434_3_, float p_180434_4_, float p_180434_5_, float p_180434_6_, float p_180434_7_, float p_180434_8_)
{
float var9 = ((float)this.footstepAge + p_180434_3_) / (float)this.footstepMaxAge;
var9 *= var9;
float var10 = 2.0F - var9 * 2.0F;
if (var10 > 1.0F)
{
var10 = 1.0F;
}
var10 *= 0.2F;
GlStateManager.disableLighting();
float var11 = 0.125F;
float var12 = (float)(this.posX - interpPosX);
float var13 = (float)(this.posY - interpPosY);
float var14 = (float)(this.posZ - interpPosZ);
float var15 = this.worldObj.getLightBrightness(new BlockPos(this));
this.currentFootSteps.bindTexture(field_110126_a);
GlStateManager.enableBlend();
GlStateManager.blendFunc(770, 771);
p_180434_1_.startDrawingQuads();
p_180434_1_.func_178960_a(var15, var15, var15, var10);
p_180434_1_.addVertexWithUV((double)(var12 - var11), (double)var13, (double)(var14 + var11), 0.0D, 1.0D);
p_180434_1_.addVertexWithUV((double)(var12 + var11), (double)var13, (double)(var14 + var11), 1.0D, 1.0D);
p_180434_1_.addVertexWithUV((double)(var12 + var11), (double)var13, (double)(var14 - var11), 1.0D, 0.0D);
p_180434_1_.addVertexWithUV((double)(var12 - var11), (double)var13, (double)(var14 - var11), 0.0D, 0.0D);
Tessellator.getInstance().draw();
GlStateManager.disableBlend();
GlStateManager.enableLighting();
}
/**
* 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;
}
public static class Factory implements IParticleFactory
{
private static final String __OBFID = "CL_00002601";
public EntityFX func_178902_a(int p_178902_1_, World worldIn, double p_178902_3_, double p_178902_5_, double p_178902_7_, double p_178902_9_, double p_178902_11_, double p_178902_13_, int ... p_178902_15_)
{
return new EntityFootStepFX(Minecraft.getMinecraft().getTextureManager(), worldIn, p_178902_3_, p_178902_5_, p_178902_7_);
}
}
}