GuiEntityRenderer.java
net.minecraft.client.gui.render.pip.GuiEntityRenderer
信息
- 全限定名:net.minecraft.client.gui.render.pip.GuiEntityRenderer
- 类型:public class
- 包:net.minecraft.client.gui.render.pip
- 源码路径:src/main/java/net/minecraft/client/gui/render/pip/GuiEntityRenderer.java
- 起始行号:L17
- 继承:PictureInPictureRenderer
- 职责:
TODO
字段/常量
entityRenderDispatcher- 类型:
EntityRenderDispatcher - 修饰符:
private final - 源码定位:
L18 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public GuiEntityRenderer(MultiBufferSource.BufferSource bufferSource, EntityRenderDispatcher entityRenderDispatcher) @ L20
- 构造器名:GuiEntityRenderer
- 源码定位:L20
- 修饰符:public
参数:
- bufferSource: MultiBufferSource.BufferSource
- entityRenderDispatcher: EntityRenderDispatcher
说明:
TODO
方法
下面的方法块按源码顺序生成。
public Class<GuiEntityRenderState> getRenderStateClass() @ L25
- 方法名:getRenderStateClass
- 源码定位:L25
- 返回类型:Class
- 修饰符:public
参数:
- 无
说明:
TODO
protected void renderToTexture(GuiEntityRenderState entityState, PoseStack poseStack) @ L30
- 方法名:renderToTexture
- 源码定位:L30
- 返回类型:void
- 修饰符:protected
参数:
- entityState: GuiEntityRenderState
- poseStack: PoseStack
说明:
TODO
protected float getTranslateY(int height, int guiScale) @ L47
- 方法名:getTranslateY
- 源码定位:L47
- 返回类型:float
- 修饰符:protected
参数:
- height: int
- guiScale: int
说明:
TODO
protected String getTextureLabel() @ L52
- 方法名:getTextureLabel
- 源码定位:L52
- 返回类型:String
- 修饰符:protected
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class GuiEntityRenderer extends PictureInPictureRenderer<GuiEntityRenderState> {
private final EntityRenderDispatcher entityRenderDispatcher;
public GuiEntityRenderer(MultiBufferSource.BufferSource bufferSource, EntityRenderDispatcher entityRenderDispatcher) {
super(bufferSource);
this.entityRenderDispatcher = entityRenderDispatcher;
}
@Override
public Class<GuiEntityRenderState> getRenderStateClass() {
return GuiEntityRenderState.class;
}
protected void renderToTexture(GuiEntityRenderState entityState, PoseStack poseStack) {
Minecraft.getInstance().gameRenderer.getLighting().setupFor(Lighting.Entry.ENTITY_IN_UI);
Vector3f translation = entityState.translation();
poseStack.translate(translation.x, translation.y, translation.z);
poseStack.mulPose(entityState.rotation());
Quaternionf overriddenCameraAngle = entityState.overrideCameraAngle();
FeatureRenderDispatcher featureRenderDispatcher = Minecraft.getInstance().gameRenderer.getFeatureRenderDispatcher();
CameraRenderState cameraRenderState = new CameraRenderState();
if (overriddenCameraAngle != null) {
cameraRenderState.orientation = overriddenCameraAngle.conjugate(new Quaternionf()).rotateY((float) Math.PI);
}
this.entityRenderDispatcher
.submit(entityState.renderState(), cameraRenderState, 0.0, 0.0, 0.0, poseStack, featureRenderDispatcher.getSubmitNodeStorage());
featureRenderDispatcher.renderAllFeatures();
}
@Override
protected float getTranslateY(int height, int guiScale) {
return height / 2.0F;
}
@Override
protected String getTextureLabel() {
return "entity";
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Minecraft.getInstance()
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
CameraRenderState()
- 引用位置: