package ttftcuts.physis.client.render.item;
import org.lwjgl.opengl.GL11;
import ttftcuts.physis.api.artifact.IArtifactEffect;
import ttftcuts.physis.api.artifact.IArtifactTrigger;
import ttftcuts.physis.common.artifact.PhysisArtifacts;
import ttftcuts.physis.common.helper.InputHelper;
import ttftcuts.physis.common.helper.PhysisRenderHelper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
public class RenderSocketable implements IItemRenderer {
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
return type == ItemRenderType.INVENTORY;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
return false;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
PhysisRenderHelper.renderItemStack(item, 0, 0, false, false);
boolean crouch = InputHelper.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindSneak.getKeyCode());
if (crouch) {
RenderHelper.disableStandardItemLighting();
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_ALPHA_TEST);
Tessellator t = Tessellator.instance;
IArtifactTrigger trigger = PhysisArtifacts.getTriggerFromSocketable(item);
IArtifactEffect effect = PhysisArtifacts.getEffectFromSocketable(item);
IIcon icon = PhysisArtifacts.getTriggerIcon(trigger);
t.startDrawingQuads();
t.addVertexWithUV(8, 8, 0, icon.getMinU(), icon.getMaxV());
t.addVertexWithUV(16, 8, 0, icon.getMaxU(), icon.getMaxV());
t.addVertexWithUV(16, 0, 0, icon.getMaxU(), icon.getMinV());
t.addVertexWithUV(8, 0, 0, icon.getMinU(), icon.getMinV());
t.draw();
icon = PhysisArtifacts.getEffectIcon(effect);
t.startDrawingQuads();
t.addVertexWithUV(8, 16, 0, icon.getMinU(), icon.getMaxV());
t.addVertexWithUV(16, 16, 0, icon.getMaxU(), icon.getMaxV());
t.addVertexWithUV(16, 8, 0, icon.getMaxU(), icon.getMinV());
t.addVertexWithUV(8, 8, 0, icon.getMinU(), icon.getMinV());
t.draw();
}
RenderHelper.enableGUIStandardItemLighting();
}
}