BannerSpecialRenderer.java
net.minecraft.client.renderer.special.BannerSpecialRenderer
信息
- 全限定名:net.minecraft.client.renderer.special.BannerSpecialRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.special
- 源码路径:src/main/java/net/minecraft/client/renderer/special/BannerSpecialRenderer.java
- 起始行号:L21
- 实现:SpecialModelRenderer
- 职责:
TODO
字段/常量
-
bannerRenderer- 类型:
BannerRenderer - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
baseColor- 类型:
DyeColor - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
attachment- 类型:
BannerBlock.AttachmentType - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
内部类/嵌套类型
net.minecraft.client.renderer.special.BannerSpecialRenderer.Unbaked- 类型:
record - 修饰符:
public - 源码定位:
L64 - 说明:
TODO
- 类型:
构造器
public BannerSpecialRenderer(DyeColor baseColor, BannerRenderer bannerRenderer, BannerBlock.AttachmentType attachment) @ L26
- 构造器名:BannerSpecialRenderer
- 源码定位:L26
- 修饰符:public
参数:
- baseColor: DyeColor
- bannerRenderer: BannerRenderer
- attachment: BannerBlock.AttachmentType
说明:
TODO
方法
下面的方法块按源码顺序生成。
public BannerPatternLayers extractArgument(ItemStack stack) @ L32
- 方法名:extractArgument
- 源码定位:L32
- 返回类型:BannerPatternLayers
- 修饰符:public
参数:
- stack: ItemStack
说明:
TODO
public void submit(BannerPatternLayers patterns, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, int overlayCoords, boolean hasFoil, int outlineColor) @ L36
- 方法名:submit
- 源码定位:L36
- 返回类型:void
- 修饰符:public
参数:
- patterns: BannerPatternLayers
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
- overlayCoords: int
- hasFoil: boolean
- outlineColor: int
说明:
TODO
public void getExtents(Consumer<Vector3fc> output) @ L58
- 方法名:getExtents
- 源码定位:L58
- 返回类型:void
- 修饰符:public
参数:
- output: Consumer
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class BannerSpecialRenderer implements SpecialModelRenderer<BannerPatternLayers> {
private final BannerRenderer bannerRenderer;
private final DyeColor baseColor;
private final BannerBlock.AttachmentType attachment;
public BannerSpecialRenderer(DyeColor baseColor, BannerRenderer bannerRenderer, BannerBlock.AttachmentType attachment) {
this.bannerRenderer = bannerRenderer;
this.baseColor = baseColor;
this.attachment = attachment;
}
public @Nullable BannerPatternLayers extractArgument(ItemStack stack) {
return stack.get(DataComponents.BANNER_PATTERNS);
}
public void submit(
@Nullable BannerPatternLayers patterns,
PoseStack poseStack,
SubmitNodeCollector submitNodeCollector,
int lightCoords,
int overlayCoords,
boolean hasFoil,
int outlineColor
) {
this.bannerRenderer
.submitSpecial(
this.attachment,
poseStack,
submitNodeCollector,
lightCoords,
overlayCoords,
this.baseColor,
Objects.requireNonNullElse(patterns, BannerPatternLayers.EMPTY),
outlineColor
);
}
@Override
public void getExtents(Consumer<Vector3fc> output) {
this.bannerRenderer.getExtents(output);
}
@OnlyIn(Dist.CLIENT)
public record Unbaked(DyeColor baseColor, BannerBlock.AttachmentType attachment) implements SpecialModelRenderer.Unbaked<BannerPatternLayers> {
public static final MapCodec<BannerSpecialRenderer.Unbaked> MAP_CODEC = RecordCodecBuilder.mapCodec(
i -> i.group(
DyeColor.CODEC.fieldOf("color").forGetter(BannerSpecialRenderer.Unbaked::baseColor),
BannerBlock.AttachmentType.CODEC
.optionalFieldOf("attachment", BannerBlock.AttachmentType.GROUND)
.forGetter(BannerSpecialRenderer.Unbaked::attachment)
)
.apply(i, BannerSpecialRenderer.Unbaked::new)
);
@Override
public MapCodec<BannerSpecialRenderer.Unbaked> type() {
return MAP_CODEC;
}
public BannerSpecialRenderer bake(SpecialModelRenderer.BakingContext context) {
return new BannerSpecialRenderer(this.baseColor, new BannerRenderer(context), this.attachment);
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段/构造调用 - 关联成员:
BannerRenderer()
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置: