package net.tropicraft.client.entity.render;
import net.minecraft.client.model.ModelBase;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.ResourceLocation;
import net.tropicraft.client.entity.model.ModelFish;
import net.tropicraft.entity.underdasea.EntityTropicalFish;
import net.tropicraft.util.TropicraftUtils;
import org.lwjgl.opengl.GL11;
public class RenderTropicalFish extends RenderWaterMob {
public ModelFish fish;
private MaskRenderer mask;
public RenderTropicalFish(ModelBase modelbase, float f) {
super(modelbase, f);
fish = (ModelFish) modelbase;
mask = new MaskRenderer();
}
@Override
/**
* Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
*/
protected ResourceLocation getEntityTexture(Entity entity) {
return TropicraftUtils.bindTextureEntity("tropicalFish");
}
public void renderTropicalFish(EntityTropicalFish fish, double d, double d1, double d2,
float f, float f1) {
super.renderWaterMob(fish, d, d1, d2, f, f1);
}
@Override
public void func_110827_b(EntityLiving entityliving, double d, double d1, double d2,
float f, float f1) {
renderTropicalFish((EntityTropicalFish) entityliving, d, d1, d2, f, f1);
}
@Override
public void doRender(Entity entity, double d, double d1, double d2,
float f, float f1) {
renderTropicalFish((EntityTropicalFish) entity, d, d1, d2, f, f1);
}
@Override
protected void renderEquippedItems(EntityLivingBase entityliving, float f) {
GL11.glPushMatrix();
fish.Body.postRender(.045F);
this.bindEntityTexture(entityliving);
//loadTexture("/mods/TropicraftMod/textures/entities/tropicalFish.png");
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(.85F, 0.0F, 0.0F);
mask.renderFish(((EntityTropicalFish) entityliving).getColor() * 2);
GL11.glPopMatrix();
GL11.glPushMatrix();
fish.Tail.postRender(.045F);
//loadTexture("/mods/TropicraftMod/textures/entities/tropicalFish.png");
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(-.90F, 0.725F, 0.0F);
mask.renderFish(((EntityTropicalFish) entityliving).getColor() * 2 + 1);
GL11.glPopMatrix();
}
protected void preRenderScale(EntityTropicalFish entityTropicalFish, float f) {
GL11.glScalef(.75F, .20F, .20F);
}
@Override
protected void preRenderCallback(EntityLivingBase entityliving, float f) {
preRenderScale((EntityTropicalFish) entityliving, f);
}
}