AbstractBoatRenderer.java
net.minecraft.client.renderer.entity.AbstractBoatRenderer
信息
- 全限定名:net.minecraft.client.renderer.entity.AbstractBoatRenderer
- 类型:public abstract class
- 包:net.minecraft.client.renderer.entity
- 源码路径:src/main/java/net/minecraft/client/renderer/entity/AbstractBoatRenderer.java
- 起始行号:L18
- 继承:EntityRenderer<AbstractBoat,BoatRenderState>
- 职责:
TODO
字段/常量
texture- 类型:
Identifier - 修饰符:
protected final - 源码定位:
L19 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public AbstractBoatRenderer(EntityRendererProvider.Context context, Identifier texture) @ L21
- 构造器名:AbstractBoatRenderer
- 源码定位:L21
- 修饰符:public
参数:
- context: EntityRendererProvider.Context
- texture: Identifier
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void submit(BoatRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) @ L27
- 方法名:submit
- 源码定位:L27
- 返回类型:void
- 修饰符:public
参数:
- state: BoatRenderState
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- camera: CameraRenderState
说明:
TODO
protected void submitTypeAdditions(BoatRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords) @ L48
- 方法名:submitTypeAdditions
- 源码定位:L48
- 返回类型:void
- 修饰符:protected
参数:
- state: BoatRenderState
- poseStack: PoseStack
- submitNodeCollector: SubmitNodeCollector
- lightCoords: int
说明:
TODO
protected abstract EntityModel<BoatRenderState> model() @ L51
- 方法名:model
- 源码定位:L51
- 返回类型:EntityModel
- 修饰符:protected abstract
参数:
- 无
说明:
TODO
public BoatRenderState createRenderState() @ L53
- 方法名:createRenderState
- 源码定位:L53
- 返回类型:BoatRenderState
- 修饰符:public
参数:
- 无
说明:
TODO
public void extractRenderState(AbstractBoat entity, BoatRenderState state, float partialTicks) @ L57
- 方法名:extractRenderState
- 源码定位:L57
- 返回类型:void
- 修饰符:public
参数:
- entity: AbstractBoat
- state: BoatRenderState
- partialTicks: float
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public abstract class AbstractBoatRenderer extends EntityRenderer<AbstractBoat, BoatRenderState> {
protected final Identifier texture;
public AbstractBoatRenderer(EntityRendererProvider.Context context, Identifier texture) {
super(context);
this.texture = texture;
this.shadowRadius = 0.8F;
}
public void submit(BoatRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera) {
poseStack.pushPose();
poseStack.translate(0.0F, 0.375F, 0.0F);
poseStack.mulPose(Axis.YP.rotationDegrees(180.0F - state.yRot));
float hurt = state.hurtTime;
if (hurt > 0.0F) {
poseStack.mulPose(Axis.XP.rotationDegrees(Mth.sin(hurt) * hurt * state.damageTime / 10.0F * state.hurtDir));
}
if (!state.isUnderWater && !Mth.equal(state.bubbleAngle, 0.0F)) {
poseStack.mulPose(new Quaternionf().setAngleAxis(state.bubbleAngle * (float) (Math.PI / 180.0), 1.0F, 0.0F, 1.0F));
}
poseStack.scale(-1.0F, -1.0F, 1.0F);
poseStack.mulPose(Axis.YP.rotationDegrees(90.0F));
submitNodeCollector.submitModel(this.model(), state, poseStack, this.texture, state.lightCoords, OverlayTexture.NO_OVERLAY, state.outlineColor, null);
this.submitTypeAdditions(state, poseStack, submitNodeCollector, state.lightCoords);
poseStack.popPose();
super.submit(state, poseStack, submitNodeCollector, camera);
}
protected void submitTypeAdditions(BoatRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords) {
}
protected abstract EntityModel<BoatRenderState> model();
public BoatRenderState createRenderState() {
return new BoatRenderState();
}
public void extractRenderState(AbstractBoat entity, BoatRenderState state, float partialTicks) {
super.extractRenderState(entity, state, partialTicks);
state.yRot = entity.getYRot(partialTicks);
state.hurtTime = entity.getHurtTime() - partialTicks;
state.hurtDir = entity.getHurtDir();
state.damageTime = Math.max(entity.getDamage() - partialTicks, 0.0F);
state.bubbleAngle = entity.getBubbleAngle(partialTicks);
state.isUnderWater = entity.isUnderWater();
state.rowingTimeLeft = entity.getRowingTime(0, partialTicks);
state.rowingTimeRight = entity.getRowingTime(1, partialTicks);
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/构造调用/返回值 - 关联成员:
BoatRenderState()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Mth.equal(), Mth.sin()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: