HorseMarkingLayer.java

net.minecraft.client.renderer.entity.layers.HorseMarkingLayer

信息

  • 全限定名:net.minecraft.client.renderer.entity.layers.HorseMarkingLayer
  • 类型:public class
  • 包:net.minecraft.client.renderer.entity.layers
  • 源码路径:src/main/java/net/minecraft/client/renderer/entity/layers/HorseMarkingLayer.java
  • 起始行号:L18
  • 继承:RenderLayer<HorseRenderState,HorseModel>
  • 职责:

    TODO

字段/常量

  • INVISIBLE_TEXTURE

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

      TODO

  • LOCATION_BY_MARKINGS

    • 类型: Map<Markings,HorseMarkingLayer.HorseMarkingTextures>
    • 修饰符: private static final
    • 源码定位: L20
    • 说明:

      TODO

内部类/嵌套类型

  • net.minecraft.client.renderer.entity.layers.HorseMarkingLayer.HorseMarkingTextures
    • 类型: record
    • 修饰符: private
    • 源码定位: L70
    • 说明:

      TODO

构造器

public HorseMarkingLayer(RenderLayerParent<HorseRenderState,HorseModel> renderer) @ L47

  • 构造器名:HorseMarkingLayer
  • 源码定位:L47
  • 修饰符:public

参数:

  • renderer: RenderLayerParent<HorseRenderState,HorseModel>

说明:

TODO

方法

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

public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, HorseRenderState state, float yRot, float xRot) @ L51

  • 方法名:submit
  • 源码定位:L51
  • 返回类型:void
  • 修饰符:public

参数:

  • poseStack: PoseStack
  • submitNodeCollector: SubmitNodeCollector
  • lightCoords: int
  • state: HorseRenderState
  • yRot: float
  • xRot: float

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class HorseMarkingLayer extends RenderLayer<HorseRenderState, HorseModel> {
    private static final Identifier INVISIBLE_TEXTURE = Identifier.withDefaultNamespace("invisible");
    private static final Map<Markings, HorseMarkingLayer.HorseMarkingTextures> LOCATION_BY_MARKINGS = Maps.newEnumMap(
        Map.of(
            Markings.NONE,
            new HorseMarkingLayer.HorseMarkingTextures(INVISIBLE_TEXTURE, INVISIBLE_TEXTURE),
            Markings.WHITE,
            new HorseMarkingLayer.HorseMarkingTextures(
                Identifier.withDefaultNamespace("textures/entity/horse/horse_markings_white.png"),
                Identifier.withDefaultNamespace("textures/entity/horse/horse_markings_white_baby.png")
            ),
            Markings.WHITE_FIELD,
            new HorseMarkingLayer.HorseMarkingTextures(
                Identifier.withDefaultNamespace("textures/entity/horse/horse_markings_whitefield.png"),
                Identifier.withDefaultNamespace("textures/entity/horse/horse_markings_whitefield_baby.png")
            ),
            Markings.WHITE_DOTS,
            new HorseMarkingLayer.HorseMarkingTextures(
                Identifier.withDefaultNamespace("textures/entity/horse/horse_markings_whitedots.png"),
                Identifier.withDefaultNamespace("textures/entity/horse/horse_markings_whitedots_baby.png")
            ),
            Markings.BLACK_DOTS,
            new HorseMarkingLayer.HorseMarkingTextures(
                Identifier.withDefaultNamespace("textures/entity/horse/horse_markings_blackdots.png"),
                Identifier.withDefaultNamespace("textures/entity/horse/horse_markings_blackdots_baby.png")
            )
        )
    );
 
    public HorseMarkingLayer(RenderLayerParent<HorseRenderState, HorseModel> renderer) {
        super(renderer);
    }
 
    public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, HorseRenderState state, float yRot, float xRot) {
        HorseMarkingLayer.HorseMarkingTextures variant = LOCATION_BY_MARKINGS.get(state.markings);
        Identifier texture = state.isBaby ? variant.baby : variant.adult;
        if (texture != INVISIBLE_TEXTURE && !state.isInvisible) {
            submitNodeCollector.order(1)
                .submitModel(
                    this.getParentModel(),
                    state,
                    poseStack,
                    RenderTypes.entityTranslucent(texture),
                    lightCoords,
                    LivingEntityRenderer.getOverlayCoords(state, 0.0F),
                    state.outlineColor,
                    null
                );
        }
    }
 
    @OnlyIn(Dist.CLIENT)
    private record HorseMarkingTextures(Identifier adult, Identifier baby) {
    }
}

引用的其他类