GuiSignRenderer.java

net.minecraft.client.gui.render.pip.GuiSignRenderer

信息

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

    TODO

字段/常量

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

      TODO

内部类/嵌套类型

构造器

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

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

参数:

  • bufferSource: MultiBufferSource.BufferSource
  • sprites: SpriteGetter

说明:

TODO

方法

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

public Class<GuiSignRenderState> getRenderStateClass() @ L26

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

参数:

说明:

TODO

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

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

参数:

  • renderState: GuiSignRenderState
  • poseStack: PoseStack

说明:

TODO

protected String getTextureLabel() @ L40

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

参数:

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class GuiSignRenderer extends PictureInPictureRenderer<GuiSignRenderState> {
    private final SpriteGetter sprites;
 
    public GuiSignRenderer(MultiBufferSource.BufferSource bufferSource, SpriteGetter sprites) {
        super(bufferSource);
        this.sprites = sprites;
    }
 
    @Override
    public Class<GuiSignRenderState> getRenderStateClass() {
        return GuiSignRenderState.class;
    }
 
    protected void renderToTexture(GuiSignRenderState renderState, PoseStack poseStack) {
        Minecraft.getInstance().gameRenderer.getLighting().setupFor(Lighting.Entry.ITEMS_FLAT);
        poseStack.translate(0.0F, -0.75F, 0.0F);
        SpriteId sprite = Sheets.getSignSprite(renderState.woodType());
        Model.Simple model = renderState.signModel();
        VertexConsumer buffer = sprite.buffer(this.sprites, this.bufferSource, model.renderType());
        model.renderToBuffer(poseStack, buffer, 15728880, OverlayTexture.NO_OVERLAY);
    }
 
    @Override
    protected String getTextureLabel() {
        return "sign";
    }
}

引用的其他类