コード例 #1
0
  public void renderItem(ItemRenderType var1, ItemStack var2, Object... var3) {
    switch (RenderHelper.newRender[var1.ordinal()]) {
      case 1:
        GL11.glPushMatrix();
        Minecraft.getMinecraft()
            .renderEngine
            .bindTexture("/blfngl/fallout/textures/AntiMaterielRifle.png");
        boolean var4 = false;

        if (var3[1] != null && var3[1] instanceof EntityPlayer) {
          float var5;

          if ((EntityPlayer) var3[1] == Minecraft.getMinecraft().renderViewEntity
              && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0
              && (!(Minecraft.getMinecraft().currentScreen instanceof GuiInventory)
                      && !(Minecraft.getMinecraft().currentScreen instanceof GuiContainerCreative)
                  || RenderManager.instance.playerViewY != 180.0F)) {
            var4 = true;
            GL11.glTranslatef(0.7F, 0.5F, -0.25F);
            GL11.glRotatef(205.0F, 0.0F, 0.0F, 1.0F);
          } else {
            var5 = 0.3F;
            GL11.glTranslatef(0.7F, 0.5F, -0.2F);
            GL11.glScalef(var5, var5, var5);
            GL11.glRotatef(295.0F, 0.0F, 0.0F, 1.0F);
          }
        }

        this.model.render((Entity) var3[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
        GL11.glPopMatrix();

      default:
    }
  }
コード例 #2
0
  public boolean handleRenderType(ItemStack var1, ItemRenderType var2) {
    switch (RenderHelper.newRender[var2.ordinal()]) {
      case 1:
        return true;

      default:
        return false;
    }
  }
コード例 #3
0
  @Override
  public boolean handleRenderType(ItemStack item, ItemRenderType type) {

    return (type.ordinal() < ItemRenderType.FIRST_PERSON_MAP.ordinal());
  }
コード例 #4
0
  @Override
  public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
    ResourceLocation texture;

    switch (item.getItemDamage()) {
      case 1:
        texture =
            (new ResourceLocation(
                Reference.MODID.toLowerCase(), "textures/blocks/modelTankAdvanced.png"));
        break;
      case 2:
        texture =
            (new ResourceLocation(
                Reference.MODID.toLowerCase(), "textures/blocks/modelTankElite.png"));
        break;
      default:
        texture =
            (new ResourceLocation(Reference.MODID.toLowerCase(), "textures/blocks/modelTank.png"));
        break;
    }

    GL11.glPushMatrix();

    float scale = 0;

    if (type.equals(ItemRenderType.EQUIPPED_FIRST_PERSON) || type.equals(ItemRenderType.EQUIPPED)) {
      scale = 1.2F;
      GL11.glTranslatef(0.5F, 0.5F, 0.5F);
    } else if (type.equals(ItemRenderType.INVENTORY) || type.equals(ItemRenderType.ENTITY)) {
      scale = 1.0F;
    }

    GL11.glScalef(scale, scale, scale);
    GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
    // GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F);
    GL11.glTranslatef(0.0F, -1.0F, 0.0F);

    Minecraft.getMinecraft().renderEngine.bindTexture(texture);
    model.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);

    if (item.stackTagCompound != null) {
      ComponentStorage storage = new ComponentStorage(4096);
      storage.readFromNBT(item.stackTagCompound);
      ItemStack itemStack = storage.getItem();

      if (itemStack != null) {

        int amount = storage.getAmount();
        int capacity = storage.getCapacity();

        if (amount > 0) {
          GL11.glDisable(GL11.GL_LIGHTING);

          GL11.glPushMatrix();
          GL11.glTranslatef(0, 1.0F, 0);

          double offset = -0.1D;
          float scaleF = 2.0F;

          if (!(itemStack.getItem() instanceof ItemBlock)) {
            scaleF = 1.5F;
            offset = -0.23D;
          }

          GL11.glScalef(scaleF, scaleF, scaleF);
          GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);

          ItemStack stack2 = itemStack.copy();

          RenderBlocks renderBlocks = new RenderBlocks();
          RenderItem renderItem =
              ((RenderItem) RenderManager.instance.getEntityClassRenderObject(EntityItem.class));

          EntityItem entityItem = new EntityItem(null, 0.0D, 0.0D, 0.0D, stack2);
          entityItem.getEntityItem().stackSize = 1;
          entityItem.hoverStart = 0.0F;
          entityItem.rotationPitch = 0.0F;
          entityItem.rotationYaw = 0.0F;
          RenderManager.instance.renderEntityWithPosYaw(entityItem, 0D, offset, 0D, 0.0F, 0.0F);

          GL11.glPopMatrix();

          GL11.glEnable(GL11.GL_LIGHTING);
        }
      }
    }

    GL11.glPopMatrix();
  }