@Override
  public void drawExtras(int i) {
    InfuseType type = ((CachedIORecipe) arecipes.get(i)).infusionType;

    float f = ticksPassed >= 20 && ticksPassed < 40 ? (ticksPassed - 20) % 20 / 20.0F : 1.0F;
    if (ticksPassed < 20) f = 0.0F;

    changeTexture(type.texture);
    drawProgressBar(2, 2, type.texX, type.texY, 4, 52, f, 3);
  }
  @Override
  public void drawBackground(int i) {
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    changeTexture(getGuiTexture());
    drawTexturedModalRect(0, 0, 5, 15, 166, 56);

    for (GuiElement e : guiElements) {
      e.renderBackground(0, 0, -5, -15);
    }
  }
  @Override
  public void drawBackground(int i) {
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    changeTexture(getGuiTexture());
    drawTexturedModalRect(-1, 0, 4, yOffset, 167, 62);

    for (GuiElement e : guiElements) {
      e.renderBackground(0, 0, -xOffset, -yOffset);
    }
  }
  @Override
  public void drawBackground(int recipeIndex) {
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    GuiDraw.changeTexture(getGuiTexture());
    GuiDraw.drawTexturedModalRect(0, 0, 0, 0, 166, 130);

    Point focus = ((CachedChiselRecipe) this.arecipes.get(recipeIndex)).focus;
    if (focus != null) {
      GuiDraw.drawTexturedModalRect(focus.x, focus.y, 166, 0, 18, 18);
    }
  }
 @Override
 public void drawBackground(int recipe) {
   GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
   GuiDraw.changeTexture(getGuiTexture());
   GuiDraw.drawTexturedModalRect(0, 0, 0, 0, 166, 65);
   if (((CachedHeatRecipe) this.arecipes.get(recipe)).isBlockRecipe)
     GUIHelper.DrawStringCentered(
         GuiDraw.fontRenderer, StringHelper.localize("gui.placed"), 26, 44, Colours.BLACK);
   int heat = ((CachedHeatRecipe) this.arecipes.get(recipe)).heatRequired;
   GUIHelper.DrawStringCentered(GuiDraw.fontRenderer, "" + heat, 84, 22, Colours.RED);
   GUIHelper.DrawStringCentered(
       GuiDraw.fontRenderer, StringHelper.localize("gui.heat"), 84, 34, Colours.RED);
 }
 @Override
 public void drawBackground(int recipe) {
   GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
   GuiDraw.changeTexture(getGuiTexture());
   GuiDraw.drawTexturedModalRect(0, 0, 0, 0, 166, 65);
 }