CamelModel.java
net.minecraft.client.model.animal.camel.CamelModel
信息
- 全限定名:net.minecraft.client.model.animal.camel.CamelModel
- 类型:public abstract class
- 包:net.minecraft.client.model.animal.camel
- 源码路径:src/main/java/net/minecraft/client/model/animal/camel/CamelModel.java
- 起始行号:L13
- 继承:EntityModel
- 职责:
TODO
字段/常量
-
MAX_WALK_ANIMATION_SPEED- 类型:
float - 修饰符:
private static final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
WALK_ANIMATION_SCALE_FACTOR- 类型:
float - 修饰符:
private static final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
head- 类型:
ModelPart - 修饰符:
protected final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
walkAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
sitAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
sitPoseAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
standupAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
idleAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
dashAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public CamelModel(ModelPart root, AnimationDefinition walk, AnimationDefinition sit, AnimationDefinition sitPose, AnimationDefinition standup, AnimationDefinition idle, AnimationDefinition dash) @ L24
- 构造器名:CamelModel
- 源码定位:L24
- 修饰符:public
参数:
- root: ModelPart
- walk: AnimationDefinition
- sit: AnimationDefinition
- sitPose: AnimationDefinition
- standup: AnimationDefinition
- idle: AnimationDefinition
- dash: AnimationDefinition
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void setupAnim(CamelRenderState state) @ L44
- 方法名:setupAnim
- 源码定位:L44
- 返回类型:void
- 修饰符:public
参数:
- state: CamelRenderState
说明:
TODO
private void applyHeadRotation(CamelRenderState state, float yRot, float xRot) @ L55
- 方法名:applyHeadRotation
- 源码定位:L55
- 返回类型:void
- 修饰符:private
参数:
- state: CamelRenderState
- yRot: float
- xRot: float
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public abstract class CamelModel extends EntityModel<CamelRenderState> {
private static final float MAX_WALK_ANIMATION_SPEED = 2.0F;
private static final float WALK_ANIMATION_SCALE_FACTOR = 2.5F;
protected final ModelPart head;
private final KeyframeAnimation walkAnimation;
private final KeyframeAnimation sitAnimation;
private final KeyframeAnimation sitPoseAnimation;
private final KeyframeAnimation standupAnimation;
private final KeyframeAnimation idleAnimation;
private final KeyframeAnimation dashAnimation;
public CamelModel(
ModelPart root,
AnimationDefinition walk,
AnimationDefinition sit,
AnimationDefinition sitPose,
AnimationDefinition standup,
AnimationDefinition idle,
AnimationDefinition dash
) {
super(root);
ModelPart body = root.getChild("body");
this.head = body.getChild("head");
this.walkAnimation = walk.bake(root);
this.sitAnimation = sit.bake(root);
this.sitPoseAnimation = sitPose.bake(root);
this.standupAnimation = standup.bake(root);
this.idleAnimation = idle.bake(root);
this.dashAnimation = dash.bake(root);
}
public void setupAnim(CamelRenderState state) {
super.setupAnim(state);
this.applyHeadRotation(state, state.yRot, state.xRot);
this.walkAnimation.applyWalk(state.walkAnimationPos, state.walkAnimationSpeed, 2.0F, 2.5F);
this.sitAnimation.apply(state.sitAnimationState, state.ageInTicks);
this.sitPoseAnimation.apply(state.sitPoseAnimationState, state.ageInTicks);
this.standupAnimation.apply(state.sitUpAnimationState, state.ageInTicks);
this.idleAnimation.apply(state.idleAnimationState, state.ageInTicks);
this.dashAnimation.apply(state.dashAnimationState, state.ageInTicks);
}
private void applyHeadRotation(CamelRenderState state, float yRot, float xRot) {
yRot = Mth.clamp(yRot, -30.0F, 30.0F);
xRot = Mth.clamp(xRot, -25.0F, 45.0F);
if (state.jumpCooldown > 0.0F) {
float headRotation = 45.0F * state.jumpCooldown / 55.0F;
xRot = Mth.clamp(xRot + headRotation, -25.0F, 70.0F);
}
this.head.yRot = yRot * (float) (Math.PI / 180.0);
this.head.xRot = xRot * (float) (Math.PI / 180.0);
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Mth.clamp()
- 引用位置: