SpawnerRenderer.java
net.minecraft.client.renderer.blockentity.SpawnerRenderer
信息
- 全限定名:net.minecraft.client.renderer.blockentity.SpawnerRenderer
- 类型:public class
- 包:net.minecraft.client.renderer.blockentity
- 源码路径:src/main/java/net/minecraft/client/renderer/blockentity/SpawnerRenderer.java
- 起始行号:L20
- 实现:BlockEntityRenderer<SpawnerBlockEntity,SpawnerRenderState>
- 职责:
TODO
字段/常量
entityRenderer- 类型:
EntityRenderDispatcher - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public SpawnerRenderer(BlockEntityRendererProvider.Context context) @ L23
- 构造器名:SpawnerRenderer
- 源码定位:L23
- 修饰符:public
参数:
- context: BlockEntityRendererProvider.Context
说明:
TODO
方法
下面的方法块按源码顺序生成。
public SpawnerRenderState createRenderState() @ L27
- 方法名:createRenderState
- 源码定位:L27
- 返回类型:SpawnerRenderState
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(SpawnerBlockEntity blockEntity, SpawnerRenderState state, float partialTicks, Vec3 cameraPosition, ModelFeatureRenderer.CrumblingOverlay breakProgress) @ L31
- 方法名:extractRenderState
- 源码定位:L31
- 返回类型:void
- 修饰符:public
参数:
- blockEntity: SpawnerBlockEntity
- state: SpawnerRenderState
- partialTicks: float
- cameraPosition: Vec3
- breakProgress: ModelFeatureRenderer.CrumblingOverlay
说明:
TODO
public void submit(SpawnerRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) @ L46
- 方法名:submit
- 源码定位:L46
- 返回类型:void
- 修饰符:public
参数:
- state: SpawnerRenderState
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- camera: CameraRenderState
说明:
TODO
public static void submitEntityInSpawner(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, EntityRenderState displayEntity, EntityRenderDispatcher entityRenderer, float spin, float scale, CameraRenderState camera) @ L52
- 方法名:submitEntityInSpawner
- 源码定位:L52
- 返回类型:void
- 修饰符:public static
参数:
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- displayEntity: EntityRenderState
- entityRenderer: EntityRenderDispatcher
- spin: float
- scale: float
- camera: CameraRenderState
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class SpawnerRenderer implements BlockEntityRenderer<SpawnerBlockEntity, SpawnerRenderState> {
private final EntityRenderDispatcher entityRenderer;
public SpawnerRenderer(BlockEntityRendererProvider.Context context) {
this.entityRenderer = context.entityRenderer();
}
public SpawnerRenderState createRenderState() {
return new SpawnerRenderState();
}
public void extractRenderState(
SpawnerBlockEntity blockEntity,
SpawnerRenderState state,
float partialTicks,
Vec3 cameraPosition,
ModelFeatureRenderer.@Nullable CrumblingOverlay breakProgress
) {
BlockEntityRenderer.super.extractRenderState(blockEntity, state, partialTicks, cameraPosition, breakProgress);
if (blockEntity.getLevel() != null) {
BaseSpawner spawner = blockEntity.getSpawner();
Entity displayEntity = spawner.getOrCreateDisplayEntity(blockEntity.getLevel(), blockEntity.getBlockPos());
TrialSpawnerRenderer.extractSpawnerData(state, partialTicks, displayEntity, this.entityRenderer, spawner.getOSpin(), spawner.getSpin());
}
}
public void submit(SpawnerRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) {
if (state.displayEntity != null) {
submitEntityInSpawner(poseStack, submitNodeCollector, state.displayEntity, this.entityRenderer, state.spin, state.scale, camera);
}
}
public static void submitEntityInSpawner(
PoseStack poseStack,
SubmitNodeCollector submitNodeCollector,
EntityRenderState displayEntity,
EntityRenderDispatcher entityRenderer,
float spin,
float scale,
CameraRenderState camera
) {
poseStack.pushPose();
poseStack.translate(0.5F, 0.4F, 0.5F);
poseStack.mulPose(Axis.YP.rotationDegrees(spin));
poseStack.translate(0.0F, -0.2F, 0.0F);
poseStack.mulPose(Axis.XP.rotationDegrees(-30.0F));
poseStack.scale(scale, scale, scale);
entityRenderer.submit(displayEntity, camera, 0.0, 0.0, 0.0, poseStack, submitNodeCollector);
poseStack.popPose();
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
TrialSpawnerRenderer.extractSpawnerData()
- 引用位置:
-
- 引用位置:
参数/构造调用/返回值 - 关联成员:
SpawnerRenderState()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: