LecternRenderer.java
net.minecraft.client.renderer.blockentity.LecternRenderer
信息
- 全限定名:net.minecraft.client.renderer.blockentity.LecternRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.blockentity
- 源码路径:src/main/java/net/minecraft/client/renderer/blockentity/LecternRenderer.java
- 起始行号:L21
- 实现:BlockEntityRenderer<LecternBlockEntity,LecternRenderState>
- 职责:
TODO
字段/常量
-
sprites- 类型:
SpriteGetter - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
bookModel- 类型:
BookModel - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
BOOK_STATE- 类型:
BookModel.State - 修饰符:
private static final - 源码定位:
L24 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public LecternRenderer(BlockEntityRendererProvider.Context context) @ L26
- 构造器名:LecternRenderer
- 源码定位:L26
- 修饰符:public
参数:
- context: BlockEntityRendererProvider.Context
说明:
TODO
方法
下面的方法块按源码顺序生成。
public LecternRenderState createRenderState() @ L31
- 方法名:createRenderState
- 源码定位:L31
- 返回类型:LecternRenderState
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(LecternBlockEntity blockEntity, LecternRenderState state, float partialTicks, Vec3 cameraPosition, ModelFeatureRenderer.CrumblingOverlay breakProgress) @ L35
- 方法名:extractRenderState
- 源码定位:L35
- 返回类型:void
- 修饰符:public
参数:
- blockEntity: LecternBlockEntity
- state: LecternRenderState
- partialTicks: float
- cameraPosition: Vec3
- breakProgress: ModelFeatureRenderer.CrumblingOverlay
说明:
TODO
public void submit(LecternRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) @ L47
- 方法名:submit
- 源码定位:L47
- 返回类型:void
- 修饰符:public
参数:
- state: LecternRenderState
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- camera: CameraRenderState
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class LecternRenderer implements BlockEntityRenderer<LecternBlockEntity, LecternRenderState> {
private final SpriteGetter sprites;
private final BookModel bookModel;
private static final BookModel.State BOOK_STATE = BookModel.State.forAnimation(0.0F, 0.1F, 0.9F, 1.2F);
public LecternRenderer(BlockEntityRendererProvider.Context context) {
this.sprites = context.sprites();
this.bookModel = new BookModel(context.bakeLayer(ModelLayers.BOOK));
}
public LecternRenderState createRenderState() {
return new LecternRenderState();
}
public void extractRenderState(
LecternBlockEntity blockEntity,
LecternRenderState state,
float partialTicks,
Vec3 cameraPosition,
ModelFeatureRenderer.@Nullable CrumblingOverlay breakProgress
) {
BlockEntityRenderer.super.extractRenderState(blockEntity, state, partialTicks, cameraPosition, breakProgress);
state.hasBook = blockEntity.getBlockState().getValue(LecternBlock.HAS_BOOK);
state.yRot = blockEntity.getBlockState().getValue(LecternBlock.FACING).getClockWise().toYRot();
}
public void submit(LecternRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) {
if (state.hasBook) {
poseStack.pushPose();
poseStack.translate(0.5F, 1.0625F, 0.5F);
poseStack.mulPose(Axis.YP.rotationDegrees(-state.yRot));
poseStack.mulPose(Axis.ZP.rotationDegrees(67.5F));
poseStack.translate(0.0F, -0.125F, 0.0F);
submitNodeCollector.submitModel(
this.bookModel,
BOOK_STATE,
poseStack,
state.lightCoords,
OverlayTexture.NO_OVERLAY,
-1,
EnchantTableRenderer.BOOK_TEXTURE,
this.sprites,
0,
state.breakProgress
);
poseStack.popPose();
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/方法调用/构造调用 - 关联成员:
BookModel(), BookModel.State.forAnimation()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/构造调用/返回值 - 关联成员:
LecternRenderState()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: