SimpleEquipmentLayer.java

net.minecraft.client.renderer.entity.layers.SimpleEquipmentLayer

信息

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

    TODO

字段/常量

  • equipmentRenderer

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

      TODO

  • layer

    • 类型: EquipmentClientInfo.LayerType
    • 修饰符: private final
    • 源码定位: L21
    • 说明:

      TODO

  • itemGetter

    • 类型: Function<S,ItemStack>
    • 修饰符: private final
    • 源码定位: L22
    • 说明:

      TODO

  • adultModel

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

      TODO

  • babyModel

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

      TODO

  • order

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

      TODO

内部类/嵌套类型

构造器

public SimpleEquipmentLayer(RenderLayerParent<S,RM> renderer, EquipmentLayerRenderer equipmentRenderer, EquipmentClientInfo.LayerType layer, Function<S,ItemStack> itemGetter, EM adultModel, EM babyModel, int order) @ L27

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

参数:

  • renderer: RenderLayerParent<S,RM>
  • equipmentRenderer: EquipmentLayerRenderer
  • layer: EquipmentClientInfo.LayerType
  • itemGetter: Function<S,ItemStack>
  • adultModel: EM
  • babyModel: EM
  • order: int

说明:

TODO

public SimpleEquipmentLayer(RenderLayerParent<S,RM> renderer, EquipmentLayerRenderer equipmentRenderer, EquipmentClientInfo.LayerType layer, Function<S,ItemStack> itemGetter, EM adultModel, EM babyModel) @ L45

  • 构造器名:SimpleEquipmentLayer
  • 源码定位:L45
  • 修饰符:public

参数:

  • renderer: RenderLayerParent<S,RM>
  • equipmentRenderer: EquipmentLayerRenderer
  • layer: EquipmentClientInfo.LayerType
  • itemGetter: Function<S,ItemStack>
  • adultModel: EM
  • babyModel: EM

说明:

TODO

方法

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

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

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

参数:

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

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class SimpleEquipmentLayer<S extends LivingEntityRenderState, RM extends EntityModel<? super S>, EM extends EntityModel<? super S>>
    extends RenderLayer<S, RM> {
    private final EquipmentLayerRenderer equipmentRenderer;
    private final EquipmentClientInfo.LayerType layer;
    private final Function<S, ItemStack> itemGetter;
    private final EM adultModel;
    private final @Nullable EM babyModel;
    private final int order;
 
    public SimpleEquipmentLayer(
        RenderLayerParent<S, RM> renderer,
        EquipmentLayerRenderer equipmentRenderer,
        EquipmentClientInfo.LayerType layer,
        Function<S, ItemStack> itemGetter,
        EM adultModel,
        @Nullable EM babyModel,
        int order
    ) {
        super(renderer);
        this.equipmentRenderer = equipmentRenderer;
        this.layer = layer;
        this.itemGetter = itemGetter;
        this.adultModel = adultModel;
        this.babyModel = babyModel;
        this.order = order;
    }
 
    public SimpleEquipmentLayer(
        RenderLayerParent<S, RM> renderer,
        EquipmentLayerRenderer equipmentRenderer,
        EquipmentClientInfo.LayerType layer,
        Function<S, ItemStack> itemGetter,
        EM adultModel,
        @Nullable EM babyModel
    ) {
        this(renderer, equipmentRenderer, layer, itemGetter, adultModel, babyModel, 0);
    }
 
    public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, S state, float yRot, float xRot) {
        ItemStack equipment = this.itemGetter.apply(state);
        Equippable equippable = equipment.get(DataComponents.EQUIPPABLE);
        if (equippable != null && !equippable.assetId().isEmpty() && (!state.isBaby || this.babyModel != null)) {
            EM model = state.isBaby ? this.babyModel : this.adultModel;
            this.equipmentRenderer
                .renderLayers(
                    this.layer,
                    equippable.assetId().get(),
                    model,
                    state,
                    equipment,
                    poseStack,
                    submitNodeCollector,
                    lightCoords,
                    null,
                    state.outlineColor,
                    this.order
                );
        }
    }
}

引用的其他类