package sourcecoded.quantum.client.renderer.item;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
public class ItemTransparencyRenderer implements IItemRenderer {
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return (helper == IItemRenderer.ItemRendererHelper.ENTITY_ROTATION) || (helper == IItemRenderer.ItemRendererHelper.ENTITY_BOBBING);
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
GL11.glEnable(2896);
GL11.glEnable(2929);
if (type != ItemRenderType.INVENTORY) return;
GL11.glScalef(16.0F, 16.0F, 1.0F);
Tessellator tessellator = Tessellator.instance;
IIcon icon = item.getItem().getIcon(item, 0);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
GL11.glEnable(3008);
GL11.glBlendFunc(770, 771);
GL11.glEnable(3042);
GL11.glDisable(3008);
GL11.glShadeModel(7425);
tessellator.startDrawingQuads();
tessellator.addVertexWithUV(0.0D, 0.0D, 0.03125D, icon.getMinU(), icon.getMinV());
tessellator.addVertexWithUV(0.0D, 1.0D, 0.03125D, icon.getMinU(), icon.getMaxV());
tessellator.addVertexWithUV(1.0D, 1.0D, 0.03125D, icon.getMaxU(), icon.getMaxV());
tessellator.addVertexWithUV(1.0D, 0.0D, 0.03125D, icon.getMaxU(), icon.getMinV());
tessellator.draw();
GL11.glShadeModel(7424);
GL11.glEnable(3008);
GL11.glDisable(3042);
GL11.glScalef(0.0625F, 0.0625F, 1.0F);
}
}