AbstractBoatModel.java
net.minecraft.client.model.object.boat.AbstractBoatModel
信息
- 全限定名:net.minecraft.client.model.object.boat.AbstractBoatModel
- 类型:public abstract class
- 包:net.minecraft.client.model.object.boat
- 源码路径:src/main/java/net/minecraft/client/model/object/boat/AbstractBoatModel.java
- 起始行号:L11
- 继承:EntityModel
- 职责:
TODO
字段/常量
-
leftPaddle- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L12 - 说明:
TODO
- 类型:
-
rightPaddle- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L13 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public AbstractBoatModel(ModelPart root) @ L15
- 构造器名:AbstractBoatModel
- 源码定位:L15
- 修饰符:public
参数:
- root: ModelPart
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void setupAnim(BoatRenderState state) @ L21
- 方法名:setupAnim
- 源码定位:L21
- 返回类型:void
- 修饰符:public
参数:
- state: BoatRenderState
说明:
TODO
private static void animatePaddle(float time, int side, ModelPart paddle) @ L27
- 方法名:animatePaddle
- 源码定位:L27
- 返回类型:void
- 修饰符:private static
参数:
- time: float
- side: int
- paddle: ModelPart
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public abstract class AbstractBoatModel extends EntityModel<BoatRenderState> {
private final ModelPart leftPaddle;
private final ModelPart rightPaddle;
public AbstractBoatModel(ModelPart root) {
super(root);
this.leftPaddle = root.getChild("left_paddle");
this.rightPaddle = root.getChild("right_paddle");
}
public void setupAnim(BoatRenderState state) {
super.setupAnim(state);
animatePaddle(state.rowingTimeLeft, 0, this.leftPaddle);
animatePaddle(state.rowingTimeRight, 1, this.rightPaddle);
}
private static void animatePaddle(float time, int side, ModelPart paddle) {
paddle.xRot = Mth.clampedLerp((Mth.sin(-time) + 1.0F) / 2.0F, (float) (-Math.PI / 3), (float) (-Math.PI / 12));
paddle.yRot = Mth.clampedLerp((Mth.sin(-time + 1.0F) + 1.0F) / 2.0F, (float) (-Math.PI / 4), (float) (Math.PI / 4));
if (side == 1) {
paddle.yRot = (float) Math.PI - paddle.yRot;
}
}
}引用的其他类
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Mth.clampedLerp(), Mth.sin()
- 引用位置: