BookSpecialRenderer.java
net.minecraft.client.renderer.special.BookSpecialRenderer
信息
- 全限定名:net.minecraft.client.renderer.special.BookSpecialRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.special
- 源码路径:src/main/java/net/minecraft/client/renderer/special/BookSpecialRenderer.java
- 起始行号:L18
- 实现:NoDataSpecialModelRenderer
- 职责:
TODO
字段/常量
-
sprites- 类型:
SpriteGetter - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
model- 类型:
BookModel - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
state- 类型:
BookModel.State - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
内部类/嵌套类型
net.minecraft.client.renderer.special.BookSpecialRenderer.Unbaked- 类型:
record - 修饰符:
public - 源码定位:
L44 - 说明:
TODO
- 类型:
构造器
public BookSpecialRenderer(SpriteGetter sprites, BookModel model, BookModel.State state) @ L23
- 构造器名:BookSpecialRenderer
- 源码定位:L23
- 修饰符:public
参数:
- sprites: SpriteGetter
- model: BookModel
- state: BookModel.State
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, int overlayCoords, boolean hasFoil, int outlineColor) @ L29
- 方法名:submit
- 源码定位:L29
- 返回类型:void
- 修饰符:public
参数:
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
- overlayCoords: int
- hasFoil: boolean
- outlineColor: int
说明:
TODO
public void getExtents(Consumer<Vector3fc> output) @ L36
- 方法名:getExtents
- 源码定位:L36
- 返回类型:void
- 修饰符:public
参数:
- output: Consumer
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class BookSpecialRenderer implements NoDataSpecialModelRenderer {
private final SpriteGetter sprites;
private final BookModel model;
private final BookModel.State state;
public BookSpecialRenderer(SpriteGetter sprites, BookModel model, BookModel.State state) {
this.sprites = sprites;
this.model = model;
this.state = state;
}
@Override
public void submit(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, int overlayCoords, boolean hasFoil, int outlineColor) {
submitNodeCollector.submitModel(
this.model, this.state, poseStack, lightCoords, overlayCoords, -1, EnchantTableRenderer.BOOK_TEXTURE, this.sprites, outlineColor, null
);
}
@Override
public void getExtents(Consumer<Vector3fc> output) {
PoseStack poseStack = new PoseStack();
this.model.setupAnim(this.state);
this.model.root().getExtentsForGui(poseStack, output);
}
@OnlyIn(Dist.CLIENT)
public record Unbaked(float openAngle, float page1, float page2) implements NoDataSpecialModelRenderer.Unbaked {
public static final MapCodec<BookSpecialRenderer.Unbaked> MAP_CODEC = RecordCodecBuilder.mapCodec(
i -> i.group(
Codec.FLOAT.fieldOf("open_angle").forGetter(BookSpecialRenderer.Unbaked::openAngle),
Codec.FLOAT.fieldOf("page1").forGetter(BookSpecialRenderer.Unbaked::page1),
Codec.FLOAT.fieldOf("page2").forGetter(BookSpecialRenderer.Unbaked::page2)
)
.apply(i, BookSpecialRenderer.Unbaked::new)
);
@Override
public MapCodec<BookSpecialRenderer.Unbaked> type() {
return MAP_CODEC;
}
public BookSpecialRenderer bake(SpecialModelRenderer.BakingContext context) {
return new BookSpecialRenderer(
context.sprites(),
new BookModel(context.entityModelSet().bakeLayer(ModelLayers.BOOK)),
new BookModel.State(this.openAngle * (float) (Math.PI / 180.0), this.page1, this.page2)
);
}
}
}引用的其他类
-
- 引用位置:
参数/构造调用 - 关联成员:
PoseStack()
- 引用位置:
-
- 引用位置:
参数/字段/方法调用/构造调用 - 关联成员:
BookModel(), BookModel.State(), State()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置: