Package thaumic.tinkerer.client.render.item.kami

Source Code of thaumic.tinkerer.client.render.item.kami.RenderPlacementMirror

package thaumic.tinkerer.client.render.item.kami;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import thaumic.tinkerer.common.ThaumicTinkerer;
import thaumic.tinkerer.common.item.kami.ItemPlacementMirror;

public class RenderPlacementMirror implements IItemRenderer {

  RenderItem render = new RenderItem();
  ItemRenderer renderer = new ItemRenderer(Minecraft.getMinecraft());

  @Override
  public boolean handleRenderType(ItemStack item, ItemRenderType type) {
    //return type != ItemRenderType.INVENTORY && type!=ItemRenderType.ENTITY;
    //return type != ItemRenderType.INVENTORY ;
    return true;
  }

  @Override
  public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
    return type == ItemRenderType.ENTITY || type == ItemRenderType.INVENTORY;
  }

  @Override
  public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
    switch (type) {
      case ENTITY: {
        GL11.glPushMatrix();
        GL11.glTranslatef(-0.5F, 0F, 0F);
        renderItem(ItemRenderType.EQUIPPED, item, data);
        GL11.glPopMatrix();
        break;
      }
      case EQUIPPED: {
        for (int i = 1; i >= 0; i--) {
          IIcon icon = ThaumicTinkerer.registry.getFirstItemFromClass(ItemPlacementMirror.class).getIconFromDamageForRenderPass(0, i);
          if (i == 0) {
            GL11.glEnable(GL11.GL_BLEND);
            GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
          }

          float f = icon.getMinU();
          float f1 = icon.getMaxU();
          float f2 = icon.getMinV();
          float f3 = icon.getMaxV();
          ItemRenderer.renderItemIn2D(Tessellator.instance, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 1F / 16F);
        }
        GL11.glDisable(GL11.GL_BLEND);
        break;
      }
      case EQUIPPED_FIRST_PERSON: {
        renderItem(ItemRenderType.EQUIPPED, item, data);
        break;
      }
      case INVENTORY: {
        GL11.glPushMatrix();
        GL11.glRotatef(45f, 0f, 1f, 0f);
        GL11.glScalef(1.5f, 1.8f, 1.8f);
        GL11.glRotatef(-45f, 0f, 0f, 1f);
        GL11.glTranslatef(-0.46F, -0.58F, 0F);

        renderItem(ItemRenderType.EQUIPPED, item, data);
        GL11.glPopMatrix();
        break;
      }
      default:
        break;
    }
  }

}
TOP

Related Classes of thaumic.tinkerer.client.render.item.kami.RenderPlacementMirror

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.