ArmadilloModel.java
net.minecraft.client.model.animal.armadillo.ArmadilloModel
信息
- 全限定名:net.minecraft.client.model.animal.armadillo.ArmadilloModel
- 类型:public abstract class
- 包:net.minecraft.client.model.animal.armadillo
- 源码路径:src/main/java/net/minecraft/client/model/animal/armadillo/ArmadilloModel.java
- 起始行号:L13
- 继承:EntityModel
- 职责:
TODO
字段/常量
-
MAX_DOWN_HEAD_ROTATION_EXTENT- 类型:
float - 修饰符:
private static final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
MAX_UP_HEAD_ROTATION_EXTENT- 类型:
float - 修饰符:
private static final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
MAX_WALK_ANIMATION_SPEED- 类型:
float - 修饰符:
private static final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
WALK_ANIMATION_SCALE_FACTOR- 类型:
float - 修饰符:
private static final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
HEAD_CUBE- 类型:
String - 修饰符:
protected static final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
RIGHT_EAR_CUBE- 类型:
String - 修饰符:
protected static final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
LEFT_EAR_CUBE- 类型:
String - 修饰符:
protected static final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
body- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
rightHindLeg- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
leftHindLeg- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
cube- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
-
head- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L25 - 说明:
TODO
- 类型:
-
tail- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L26 - 说明:
TODO
- 类型:
-
walkAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L27 - 说明:
TODO
- 类型:
-
rollOutAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L28 - 说明:
TODO
- 类型:
-
rollUpAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L29 - 说明:
TODO
- 类型:
-
peekAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L30 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public ArmadilloModel(ModelPart root, AnimationDefinition walk, AnimationDefinition rollOut, AnimationDefinition rollUp, AnimationDefinition peek) @ L32
- 构造器名:ArmadilloModel
- 源码定位:L32
- 修饰符:public
参数:
- root: ModelPart
- walk: AnimationDefinition
- rollOut: AnimationDefinition
- rollUp: AnimationDefinition
- peek: AnimationDefinition
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void setupAnim(ArmadilloRenderState state) @ L46
- 方法名:setupAnim
- 源码定位:L46
- 返回类型:void
- 修饰符:public
参数:
- state: ArmadilloRenderState
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public abstract class ArmadilloModel extends EntityModel<ArmadilloRenderState> {
private static final float MAX_DOWN_HEAD_ROTATION_EXTENT = 25.0F;
private static final float MAX_UP_HEAD_ROTATION_EXTENT = 22.5F;
private static final float MAX_WALK_ANIMATION_SPEED = 16.5F;
private static final float WALK_ANIMATION_SCALE_FACTOR = 2.5F;
protected static final String HEAD_CUBE = "head_cube";
protected static final String RIGHT_EAR_CUBE = "right_ear_cube";
protected static final String LEFT_EAR_CUBE = "left_ear_cube";
private final ModelPart body;
private final ModelPart rightHindLeg;
private final ModelPart leftHindLeg;
private final ModelPart cube;
private final ModelPart head;
private final ModelPart tail;
private final KeyframeAnimation walkAnimation;
private final KeyframeAnimation rollOutAnimation;
private final KeyframeAnimation rollUpAnimation;
private final KeyframeAnimation peekAnimation;
public ArmadilloModel(ModelPart root, AnimationDefinition walk, AnimationDefinition rollOut, AnimationDefinition rollUp, AnimationDefinition peek) {
super(root);
this.body = root.getChild("body");
this.rightHindLeg = root.getChild("right_hind_leg");
this.leftHindLeg = root.getChild("left_hind_leg");
this.head = this.body.getChild("head");
this.tail = this.body.getChild("tail");
this.cube = root.getChild("cube");
this.walkAnimation = walk.bake(root);
this.rollOutAnimation = rollOut.bake(root);
this.rollUpAnimation = rollUp.bake(root);
this.peekAnimation = peek.bake(root);
}
public void setupAnim(ArmadilloRenderState state) {
super.setupAnim(state);
if (state.isHidingInShell) {
this.body.skipDraw = true;
this.leftHindLeg.visible = false;
this.rightHindLeg.visible = false;
this.tail.visible = false;
this.cube.visible = true;
} else {
this.body.skipDraw = false;
this.leftHindLeg.visible = true;
this.rightHindLeg.visible = true;
this.tail.visible = true;
this.cube.visible = false;
this.head.xRot = Mth.clamp(state.xRot, -22.5F, 25.0F) * (float) (Math.PI / 180.0);
this.head.yRot = Mth.clamp(state.yRot, -32.5F, 32.5F) * (float) (Math.PI / 180.0);
}
if (!state.isHidingInShell) {
this.walkAnimation.applyWalk(state.walkAnimationPos, state.walkAnimationSpeed, 16.5F, 2.5F);
}
this.rollOutAnimation.apply(state.rollOutAnimationState, state.ageInTicks);
this.rollUpAnimation.apply(state.rollUpAnimationState, state.ageInTicks);
this.peekAnimation.apply(state.peekAnimationState, state.ageInTicks);
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Mth.clamp()
- 引用位置: