PlayerHeadSpecialRenderer.java
net.minecraft.client.renderer.special.PlayerHeadSpecialRenderer
信息
- 全限定名:net.minecraft.client.renderer.special.PlayerHeadSpecialRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.special
- 源码路径:src/main/java/net/minecraft/client/renderer/special/PlayerHeadSpecialRenderer.java
- 起始行号:L22
- 实现:SpecialModelRenderer<PlayerSkinRenderCache.RenderInfo>
- 职责:
TODO
字段/常量
-
playerSkinRenderCache- 类型:
PlayerSkinRenderCache - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
modelBase- 类型:
SkullModelBase - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
内部类/嵌套类型
net.minecraft.client.renderer.special.PlayerHeadSpecialRenderer.Unbaked- 类型:
record - 修饰符:
public - 源码定位:
L56 - 说明:
TODO
- 类型:
构造器
private PlayerHeadSpecialRenderer(PlayerSkinRenderCache playerSkinRenderCache, SkullModelBase modelBase) @ L26
- 构造器名:PlayerHeadSpecialRenderer
- 源码定位:L26
- 修饰符:private
参数:
- playerSkinRenderCache: PlayerSkinRenderCache
- modelBase: SkullModelBase
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void submit(PlayerSkinRenderCache.RenderInfo argument, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, int overlayCoords, boolean hasFoil, int outlineColor) @ L31
- 方法名:submit
- 源码定位:L31
- 返回类型:void
- 修饰符:public
参数:
- argument: PlayerSkinRenderCache.RenderInfo
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
- overlayCoords: int
- hasFoil: boolean
- outlineColor: int
说明:
TODO
public void getExtents(Consumer<Vector3fc> output) @ L44
- 方法名:getExtents
- 源码定位:L44
- 返回类型:void
- 修饰符:public
参数:
- output: Consumer
说明:
TODO
public PlayerSkinRenderCache.RenderInfo extractArgument(ItemStack stack) @ L50
- 方法名:extractArgument
- 源码定位:L50
- 返回类型:PlayerSkinRenderCache.RenderInfo
- 修饰符:public
参数:
- stack: ItemStack
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class PlayerHeadSpecialRenderer implements SpecialModelRenderer<PlayerSkinRenderCache.RenderInfo> {
private final PlayerSkinRenderCache playerSkinRenderCache;
private final SkullModelBase modelBase;
private PlayerHeadSpecialRenderer(PlayerSkinRenderCache playerSkinRenderCache, SkullModelBase modelBase) {
this.playerSkinRenderCache = playerSkinRenderCache;
this.modelBase = modelBase;
}
public void submit(
PlayerSkinRenderCache.@Nullable RenderInfo argument,
PoseStack poseStack,
SubmitNodeCollector submitNodeCollector,
int lightCoords,
int overlayCoords,
boolean hasFoil,
int outlineColor
) {
RenderType renderType = argument != null ? argument.renderType() : PlayerSkinRenderCache.DEFAULT_PLAYER_SKIN_RENDER_TYPE;
SkullBlockRenderer.submitSkull(0.0F, poseStack, submitNodeCollector, lightCoords, this.modelBase, renderType, outlineColor, null);
}
@Override
public void getExtents(Consumer<Vector3fc> output) {
PoseStack poseStack = new PoseStack();
this.modelBase.root().getExtentsForGui(poseStack, output);
}
public PlayerSkinRenderCache.@Nullable RenderInfo extractArgument(ItemStack stack) {
ResolvableProfile profile = stack.get(DataComponents.PROFILE);
return profile == null ? null : this.playerSkinRenderCache.getOrDefault(profile);
}
@OnlyIn(Dist.CLIENT)
public record Unbaked() implements SpecialModelRenderer.Unbaked<PlayerSkinRenderCache.RenderInfo> {
public static final MapCodec<PlayerHeadSpecialRenderer.Unbaked> MAP_CODEC = MapCodec.unit(PlayerHeadSpecialRenderer.Unbaked::new);
@Override
public MapCodec<PlayerHeadSpecialRenderer.Unbaked> type() {
return MAP_CODEC;
}
public PlayerHeadSpecialRenderer bake(SpecialModelRenderer.BakingContext context) {
SkullModel model = new SkullModel(context.entityModelSet().bakeLayer(ModelLayers.PLAYER_HEAD));
return new PlayerHeadSpecialRenderer(context.playerSkinRenderCache(), model);
}
}
}引用的其他类
-
- 引用位置:
参数/构造调用 - 关联成员:
PoseStack()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
SkullModel()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段/实现/返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
SkullBlockRenderer.submitSkull()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: