HangingSignSpecialRenderer.java
net.minecraft.client.renderer.special.HangingSignSpecialRenderer
信息
- 全限定名:net.minecraft.client.renderer.special.HangingSignSpecialRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.special
- 源码路径:src/main/java/net/minecraft/client/renderer/special/HangingSignSpecialRenderer.java
- 起始行号:L22
- 实现:NoDataSpecialModelRenderer
- 职责:
TODO
字段/常量
-
sprites- 类型:
SpriteGetter - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
model- 类型:
Model.Simple - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
-
sprite- 类型:
SpriteId - 修饰符:
private final - 源码定位:
L25 - 说明:
TODO
- 类型:
内部类/嵌套类型
net.minecraft.client.renderer.special.HangingSignSpecialRenderer.Unbaked- 类型:
record - 修饰符:
public - 源码定位:
L45 - 说明:
TODO
- 类型:
构造器
public HangingSignSpecialRenderer(SpriteGetter sprites, Model.Simple model, SpriteId sprite) @ L27
- 构造器名:HangingSignSpecialRenderer
- 源码定位:L27
- 修饰符:public
参数:
- sprites: SpriteGetter
- model: Model.Simple
- sprite: SpriteId
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, int overlayCoords, boolean hasFoil, int outlineColor) @ L33
- 方法名:submit
- 源码定位:L33
- 返回类型:void
- 修饰符:public
参数:
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
- overlayCoords: int
- hasFoil: boolean
- outlineColor: int
说明:
TODO
public void getExtents(Consumer<Vector3fc> output) @ L38
- 方法名:getExtents
- 源码定位:L38
- 返回类型:void
- 修饰符:public
参数:
- output: Consumer
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class HangingSignSpecialRenderer implements NoDataSpecialModelRenderer {
private final SpriteGetter sprites;
private final Model.Simple model;
private final SpriteId sprite;
public HangingSignSpecialRenderer(SpriteGetter sprites, Model.Simple model, SpriteId sprite) {
this.sprites = sprites;
this.model = model;
this.sprite = sprite;
}
@Override
public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, int overlayCoords, boolean hasFoil, int outlineColor) {
HangingSignRenderer.submitSpecial(this.sprites, poseStack, submitNodeCollector, lightCoords, overlayCoords, this.model, this.sprite);
}
@Override
public void getExtents(Consumer<Vector3fc> output) {
PoseStack poseStack = new PoseStack();
this.model.root().getExtentsForGui(poseStack, output);
}
@OnlyIn(Dist.CLIENT)
public record Unbaked(WoodType woodType, HangingSignBlock.Attachment attachment, Optional<Identifier> texture)
implements NoDataSpecialModelRenderer.Unbaked {
public static final MapCodec<HangingSignSpecialRenderer.Unbaked> MAP_CODEC = RecordCodecBuilder.mapCodec(
i -> i.group(
WoodType.CODEC.fieldOf("wood_type").forGetter(HangingSignSpecialRenderer.Unbaked::woodType),
HangingSignBlock.Attachment.CODEC
.optionalFieldOf("attachment", HangingSignBlock.Attachment.CEILING_MIDDLE)
.forGetter(HangingSignSpecialRenderer.Unbaked::attachment),
Identifier.CODEC.optionalFieldOf("texture").forGetter(HangingSignSpecialRenderer.Unbaked::texture)
)
.apply(i, HangingSignSpecialRenderer.Unbaked::new)
);
public Unbaked(WoodType woodType, HangingSignBlock.Attachment attachment) {
this(woodType, attachment, Optional.empty());
}
@Override
public MapCodec<HangingSignSpecialRenderer.Unbaked> type() {
return MAP_CODEC;
}
public HangingSignSpecialRenderer bake(SpecialModelRenderer.BakingContext context) {
Model.Simple model = HangingSignRenderer.createSignModel(context.entityModelSet(), this.woodType, this.attachment);
SpriteId sprite = this.texture.map(Sheets.HANGING_SIGN_MAPPER::apply).orElseGet(() -> Sheets.getHangingSignSprite(this.woodType));
return new HangingSignSpecialRenderer(context.sprites(), model, sprite);
}
}
}引用的其他类
-
- 引用位置:
参数/构造调用 - 关联成员:
PoseStack()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Sheets.getHangingSignSprite()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
HangingSignRenderer.createSignModel(), HangingSignRenderer.submitSpecial()
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置: