ArmorModelSet.java
net.minecraft.client.renderer.entity.ArmorModelSet
信息
- 全限定名:net.minecraft.client.renderer.entity.ArmorModelSet
- 类型:public record
- 包:net.minecraft.client.renderer.entity
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/ArmorModelSet.java
- 起始行号:L15
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public T get(EquipmentSlot slot) @ L16
- 方法名:get
- 源码定位:L16
- 返回类型:T
- 修饰符:public
参数:
- slot: EquipmentSlot
说明:
TODO
public <U> ArmorModelSet<U> map(Function<?super T,?extends U> mapper) @ L26
- 方法名:map
- 源码定位:L26
- 返回类型: ArmorModelSet
- 修饰符:public
参数:
- mapper: Function<?super T,?extends U>
说明:
TODO
public void putFrom(ArmorModelSet<LayerDefinition> values, Builder<T,LayerDefinition> output) @ L30
- 方法名:putFrom
- 源码定位:L30
- 返回类型:void
- 修饰符:public
参数:
- values: ArmorModelSet
- output: Builder<T,LayerDefinition>
说明:
TODO
public static <M extends HumanoidModel<?>> ArmorModelSet<M> bake(ArmorModelSet<ModelLayerLocation> locations, EntityModelSet modelSet, Function<ModelPart,M> factory) @ L37
- 方法名:bake
- 源码定位:L37
- 返回类型:<M extends HumanoidModel<?>> ArmorModelSet
- 修饰符:public static
参数:
- locations: ArmorModelSet
- modelSet: EntityModelSet
- factory: Function<ModelPart,M>
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public record ArmorModelSet<T>(T head, T chest, T legs, T feet) {
public T get(EquipmentSlot slot) {
return (T)(switch (slot) {
case HEAD -> this.head;
case CHEST -> this.chest;
case LEGS -> this.legs;
case FEET -> this.feet;
default -> throw new IllegalStateException("No model for slot: " + slot);
});
}
public <U> ArmorModelSet<U> map(Function<? super T, ? extends U> mapper) {
return (ArmorModelSet<U>)(new ArmorModelSet<>(mapper.apply(this.head), mapper.apply(this.chest), mapper.apply(this.legs), mapper.apply(this.feet)));
}
public void putFrom(ArmorModelSet<LayerDefinition> values, Builder<T, LayerDefinition> output) {
output.put(this.head, values.head);
output.put(this.chest, values.chest);
output.put(this.legs, values.legs);
output.put(this.feet, values.feet);
}
public static <M extends HumanoidModel<?>> ArmorModelSet<M> bake(
ArmorModelSet<ModelLayerLocation> locations, EntityModelSet modelSet, Function<ModelPart, M> factory
) {
return locations.map(id -> factory.apply(modelSet.bakeLayer(id)));
}
}引用的其他类
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: