Created
June 24, 2014 16:42
-
-
Save marchermans/c29a5a1dea7bb26ccf0c to your computer and use it in GitHub Desktop.
Item Renderer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.Orion.OrionsBelt.Client.Render; | |
/* | |
* RendererItemMultiLayeredArmor | |
* Created by: Orion | |
* Created on: 21-6-2014 | |
*/ | |
import com.Orion.OrionsBelt.Client.CustomResource; | |
import com.Orion.OrionsBelt.Common.Util.Armor.MultiLayeredArmor; | |
import net.minecraft.client.Minecraft; | |
import net.minecraft.client.renderer.Tessellator; | |
import net.minecraft.item.ItemStack; | |
import net.minecraft.util.ResourceLocation; | |
import net.minecraftforge.client.IItemRenderer; | |
import org.lwjgl.opengl.GL11; | |
public class RendererItemMultiLayeredArmor implements IItemRenderer { | |
@Override | |
public boolean handleRenderType(ItemStack pItemStack, ItemRenderType pRenderType) { | |
return (pRenderType == ItemRenderType.INVENTORY); | |
} | |
@Override | |
public boolean shouldUseRenderHelper(ItemRenderType pRenderType, ItemStack pItemStack, ItemRendererHelper pRenderHelper) { | |
return false; | |
} | |
@Override | |
public void renderItem(ItemRenderType pRenderType, ItemStack pItemStack, Object... pRenderData) { | |
Tessellator tTess = Tessellator.instance; | |
MultiLayeredArmor tArmor = (MultiLayeredArmor) pItemStack.getItem(); | |
int tTotalRenderPasses = tArmor.getRenderPasses(pItemStack); | |
GL11.glScalef(16F, 16F, 16F); | |
for (int lRenderPass = 0; lRenderPass <= tTotalRenderPasses; lRenderPass++) { | |
tTess.startDrawingQuads(); | |
CustomResource tResource = tArmor.getResource(pItemStack, lRenderPass); | |
//Split the string so that the Icon Location can be modified for the RenderEngine. | |
String tIconLocation = tResource.getIconLocation(); | |
String[] tIconLocations = tIconLocation.split(":"); | |
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(tIconLocations[0] + ":" + "textures/items/" + tIconLocations[1] + ".png")); | |
float tRed = tResource.getColor(0) / 255.0F; | |
float tGreen = tResource.getColor(1) / 255.0F; | |
float tBlue = tResource.getColor(2) / 255.0F; | |
tTess.setColorRGBA_F(tRed, tGreen, tBlue, 1.0F); | |
tTess.addVertexWithUV(0, 0, 0, 0, 0);//bottom left texture | |
tTess.addVertexWithUV(0, 1, 0, 0, 1);//top left | |
tTess.addVertexWithUV(1, 1, 0, 1, 1);//top right | |
tTess.addVertexWithUV(1, 0, 0, 1, 0);//bottom right | |
tTess.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F); | |
tTess.draw(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment