Class PictureInPictureRenderer<T extends PictureInPictureRenderState>

java.lang.Object
net.minecraft.client.gui.render.pip.PictureInPictureRenderer<T>
All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
GuiBannerResultRenderer, GuiBookModelRenderer, GuiEntityRenderer, GuiProfilerChartRenderer, GuiSignRenderer, GuiSkinRenderer, OversizedItemRenderer

public abstract class PictureInPictureRenderer<T extends PictureInPictureRenderState> extends Object implements AutoCloseable
  • Field Details

  • Constructor Details

  • Method Details

    • prepare

      public void prepare(T pRenderState, GuiRenderState pGuiRenderState, int pGuiScale)
    • blitTexture

      protected void blitTexture(T pRenderState, GuiRenderState pGuiRenderState)
    • prepareTexturesAndProjection

      private void prepareTexturesAndProjection(boolean pResetTexture, int pWidth, int pHeight)
    • textureIsReadyToBlit

      protected boolean textureIsReadyToBlit(T pRenderState)
    • getTranslateY

      protected float getTranslateY(int pHeight, int pGuiScale)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • getRenderStateClass

      public abstract Class<T> getRenderStateClass()
    • renderToTexture

      protected abstract void renderToTexture(T pRenderState, PoseStack pPoseStack)
    • getTextureLabel

      protected abstract String getTextureLabel()
    • canBeReusedFor

      public boolean canBeReusedFor(T state, int textureWidth, int textureHeight)
      Neo: This is used to check if this renderer can be reused for a given state, texture width and texture height on a subsequent frame. In Vanilla, a renderer would be used for multiple different states even within the same frame, leading to crashes and the last state being used for all blits of that renderer in that frame.