BlockEntityRenderer.java

net.minecraft.client.renderer.blockentity.BlockEntityRenderer

信息

  • 全限定名:net.minecraft.client.renderer.blockentity.BlockEntityRenderer
  • 类型:public interface
  • 包:net.minecraft.client.renderer.blockentity
  • 源码路径:src/main/java/net/minecraft/client/renderer/blockentity/BlockEntityRenderer.java
  • 起始行号:L15
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

S createRenderState() @ L16

  • 方法名:createRenderState
  • 源码定位:L16
  • 返回类型:S
  • 修饰符:package-private

参数:

说明:

TODO

default void extractRenderState(T blockEntity, S state, float partialTicks, Vec3 cameraPosition, ModelFeatureRenderer.CrumblingOverlay breakProgress) @ L18

  • 方法名:extractRenderState
  • 源码定位:L18
  • 返回类型:void
  • 修饰符:default

参数:

  • blockEntity: T
  • state: S
  • partialTicks: float
  • cameraPosition: Vec3
  • breakProgress: ModelFeatureRenderer.CrumblingOverlay

说明:

TODO

void submit(S state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) @ L24

  • 方法名:submit
  • 源码定位:L24
  • 返回类型:void
  • 修饰符:package-private

参数:

  • state: S
  • poseStack: PoseStack
  • submitNodeCollector: SubmitNodeCollector
  • camera: CameraRenderState

说明:

TODO

default boolean shouldRenderOffScreen() @ L26

  • 方法名:shouldRenderOffScreen
  • 源码定位:L26
  • 返回类型:boolean
  • 修饰符:default

参数:

说明:

TODO

default int getViewDistance() @ L30

  • 方法名:getViewDistance
  • 源码定位:L30
  • 返回类型:int
  • 修饰符:default

参数:

说明:

TODO

default boolean shouldRender(T blockEntity, Vec3 cameraPosition) @ L34

  • 方法名:shouldRender
  • 源码定位:L34
  • 返回类型:boolean
  • 修饰符:default

参数:

  • blockEntity: T
  • cameraPosition: Vec3

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public interface BlockEntityRenderer<T extends BlockEntity, S extends BlockEntityRenderState> {
    S createRenderState();
 
    default void extractRenderState(
        T blockEntity, S state, float partialTicks, Vec3 cameraPosition, ModelFeatureRenderer.@Nullable CrumblingOverlay breakProgress
    ) {
        BlockEntityRenderState.extractBase(blockEntity, state, breakProgress);
    }
 
    void submit(final S state, final PoseStack poseStack, final SubmitNodeCollector submitNodeCollector, final CameraRenderState camera);
 
    default boolean shouldRenderOffScreen() {
        return false;
    }
 
    default int getViewDistance() {
        return 64;
    }
 
    default boolean shouldRender(T blockEntity, Vec3 cameraPosition) {
        return Vec3.atCenterOf(blockEntity.getBlockPos()).closerThan(cameraPosition, this.getViewDistance());
    }
}

引用的其他类