package mods.ocminecart.client.renderer.item;
import mods.ocminecart.OCMinecart;
import mods.ocminecart.client.renderer.entity.ComputerCartModel;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
public class ComputerCartItemRenderer implements IItemRenderer {
ResourceLocation texture = new ResourceLocation(OCMinecart.MODID+":textures/entity/computercart.png");
ComputerCartModel model = new ComputerCartModel();
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type){
case ENTITY:
return true;
case EQUIPPED:
return true;
case EQUIPPED_FIRST_PERSON:
return true;
case INVENTORY:
return true;
default:
return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
if(type==ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION)) return true;
else if(type==ItemRenderType.INVENTORY && helper == ItemRendererHelper.INVENTORY_BLOCK) return true;
else if(type==ItemRenderType.EQUIPPED_FIRST_PERSON && helper==ItemRendererHelper.BLOCK_3D) return true;
return false;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
if(type==ItemRenderType.EQUIPPED){
GL11.glPushMatrix();
GL11.glRotatef(130.0F,1.0F, 0.0F, 0.0F);
GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.7F, 0F, 0F);
GL11.glScaled(0.7, 0.7, 0.7);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.renderItem(0.0625F);
GL11.glPopMatrix();
}
else if(type==ItemRenderType.ENTITY){
GL11.glPushMatrix();
GL11.glRotated(180F, 1F, 0, 0);
GL11.glScaled(0.7, 0.7, 0.7);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.renderItem(0.0625F);
GL11.glPopMatrix();
}else if(type==ItemRenderType.INVENTORY){
GL11.glPushMatrix();
GL11.glRotatef(180.0F,1.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.renderItem(0.0625F);
GL11.glPopMatrix();
}
else if(type==ItemRenderType.EQUIPPED_FIRST_PERSON){
GL11.glPushMatrix();
GL11.glRotatef(180.0F,1.0F, 0.0F, 0.0F);
GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(1F, 0F, 0.5F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.renderItem(0.0625F);
GL11.glPopMatrix();
}
}
}