LlamaDecorLayer.java

net.minecraft.client.renderer.entity.layers.LlamaDecorLayer

信息

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

    TODO

字段/常量

  • adultModel

    • 类型: LlamaModel
    • 修饰符: private final
    • 源码定位: L23
    • 说明:

      TODO

  • babyModel

    • 类型: LlamaModel
    • 修饰符: private final
    • 源码定位: L24
    • 说明:

      TODO

  • equipmentRenderer

    • 类型: EquipmentLayerRenderer
    • 修饰符: private final
    • 源码定位: L25
    • 说明:

      TODO

内部类/嵌套类型

构造器

public LlamaDecorLayer(RenderLayerParent<LlamaRenderState,LlamaModel> renderer, EntityModelSet modelSet, EquipmentLayerRenderer equipmentRenderer) @ L27

  • 构造器名:LlamaDecorLayer
  • 源码定位:L27
  • 修饰符:public

参数:

  • renderer: RenderLayerParent<LlamaRenderState,LlamaModel>
  • modelSet: EntityModelSet
  • equipmentRenderer: EquipmentLayerRenderer

说明:

TODO

方法

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

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

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

参数:

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

说明:

TODO

private void renderEquipment(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, LlamaRenderState state, ItemStack itemStack, ResourceKey<EquipmentAsset> equipmentAssetId, int lightCoords) @ L51

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

参数:

  • poseStack: PoseStack
  • submitNodeCollector: SubmitNodeCollector
  • state: LlamaRenderState
  • itemStack: ItemStack
  • equipmentAssetId: ResourceKey
  • lightCoords: int

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class LlamaDecorLayer extends RenderLayer<LlamaRenderState, LlamaModel> {
    private final LlamaModel adultModel;
    private final LlamaModel babyModel;
    private final EquipmentLayerRenderer equipmentRenderer;
 
    public LlamaDecorLayer(RenderLayerParent<LlamaRenderState, LlamaModel> renderer, EntityModelSet modelSet, EquipmentLayerRenderer equipmentRenderer) {
        super(renderer);
        this.equipmentRenderer = equipmentRenderer;
        this.adultModel = new LlamaModel(modelSet.bakeLayer(ModelLayers.LLAMA_DECOR));
        this.babyModel = new BabyLlamaModel(modelSet.bakeLayer(ModelLayers.LLAMA_BABY_DECOR));
    }
 
    public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, LlamaRenderState state, float yRot, float xRot) {
        ItemStack itemStack = state.bodyItem;
        Equippable equippable = itemStack.get(DataComponents.EQUIPPABLE);
        if (equippable != null && equippable.assetId().isPresent() && !state.isBaby) {
            this.renderEquipment(poseStack, submitNodeCollector, state, itemStack, equippable.assetId().get(), lightCoords);
        } else if (state.isTraderLlama) {
            this.renderEquipment(
                poseStack,
                submitNodeCollector,
                state,
                ItemStack.EMPTY,
                state.isBaby ? EquipmentAssets.TRADER_LLAMA_BABY : EquipmentAssets.TRADER_LLAMA,
                lightCoords
            );
        }
    }
 
    private void renderEquipment(
        PoseStack poseStack,
        SubmitNodeCollector submitNodeCollector,
        LlamaRenderState state,
        ItemStack itemStack,
        ResourceKey<EquipmentAsset> equipmentAssetId,
        int lightCoords
    ) {
        LlamaModel model = state.isBaby ? this.babyModel : this.adultModel;
        this.equipmentRenderer
            .renderLayers(
                EquipmentClientInfo.LayerType.LLAMA_BODY,
                equipmentAssetId,
                model,
                state,
                itemStack,
                poseStack,
                submitNodeCollector,
                lightCoords,
                state.outlineColor
            );
    }
}

引用的其他类