GuiBannerResultRenderer.java

net.minecraft.client.gui.render.pip.GuiBannerResultRenderer

信息

  • 全限定名:net.minecraft.client.gui.render.pip.GuiBannerResultRenderer
  • 类型:public class
  • 包:net.minecraft.client.gui.render.pip
  • 源码路径:src/main/java/net/minecraft/client/gui/render/pip/GuiBannerResultRenderer.java
  • 起始行号:L18
  • 继承:PictureInPictureRenderer
  • 职责:

    TODO

字段/常量

  • sprites
    • 类型: SpriteGetter
    • 修饰符: private final
    • 源码定位: L19
    • 说明:

      TODO

内部类/嵌套类型

构造器

public GuiBannerResultRenderer(MultiBufferSource.BufferSource bufferSource, SpriteGetter sprites) @ L21

  • 构造器名:GuiBannerResultRenderer
  • 源码定位:L21
  • 修饰符:public

参数:

  • bufferSource: MultiBufferSource.BufferSource
  • sprites: SpriteGetter

说明:

TODO

方法

下面的方法块按源码顺序生成。

public Class<GuiBannerResultRenderState> getRenderStateClass() @ L26

  • 方法名:getRenderStateClass
  • 源码定位:L26
  • 返回类型:Class
  • 修饰符:public

参数:

说明:

TODO

protected void renderToTexture(GuiBannerResultRenderState renderState, PoseStack poseStack) @ L31

  • 方法名:renderToTexture
  • 源码定位:L31
  • 返回类型:void
  • 修饰符:protected

参数:

  • renderState: GuiBannerResultRenderState
  • poseStack: PoseStack

说明:

TODO

protected String getTextureLabel() @ L53

  • 方法名:getTextureLabel
  • 源码定位:L53
  • 返回类型:String
  • 修饰符:protected

参数:

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class GuiBannerResultRenderer extends PictureInPictureRenderer<GuiBannerResultRenderState> {
    private final SpriteGetter sprites;
 
    public GuiBannerResultRenderer(MultiBufferSource.BufferSource bufferSource, SpriteGetter sprites) {
        super(bufferSource);
        this.sprites = sprites;
    }
 
    @Override
    public Class<GuiBannerResultRenderState> getRenderStateClass() {
        return GuiBannerResultRenderState.class;
    }
 
    protected void renderToTexture(GuiBannerResultRenderState renderState, PoseStack poseStack) {
        Minecraft.getInstance().gameRenderer.getLighting().setupFor(Lighting.Entry.ITEMS_FLAT);
        poseStack.translate(0.0F, 0.25F, 0.0F);
        FeatureRenderDispatcher featureRenderDispatcher = Minecraft.getInstance().gameRenderer.getFeatureRenderDispatcher();
        SubmitNodeStorage submitNodeStorage = featureRenderDispatcher.getSubmitNodeStorage();
        submitNodeStorage.submitModel(renderState.flag(), 0.0F, poseStack, 15728880, OverlayTexture.NO_OVERLAY, -1, Sheets.BANNER_BASE, this.sprites, 0, null);
        BannerRenderer.submitPatterns(
            this.sprites,
            poseStack,
            submitNodeStorage,
            15728880,
            OverlayTexture.NO_OVERLAY,
            renderState.flag(),
            0.0F,
            true,
            renderState.baseColor(),
            renderState.resultBannerPatterns(),
            null
        );
        featureRenderDispatcher.renderAllFeatures();
    }
 
    @Override
    protected String getTextureLabel() {
        return "banner result";
    }
}

引用的其他类