BreezeModel.java
net.minecraft.client.model.monster.breeze.BreezeModel
信息
- 全限定名:net.minecraft.client.model.monster.breeze.BreezeModel
- 类型:public class
- 包:net.minecraft.client.model.monster.breeze
- 源码路径:src/main/java/net/minecraft/client/model/monster/breeze/BreezeModel.java
- 起始行号:L20
- 继承:EntityModel
- 职责:
TODO
字段/常量
-
WIND_TOP_SPEED- 类型:
float - 修饰符:
private static final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
WIND_MIDDLE_SPEED- 类型:
float - 修饰符:
private static final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
WIND_BOTTOM_SPEED- 类型:
float - 修饰符:
private static final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
head- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
-
eyes- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L25 - 说明:
TODO
- 类型:
-
wind- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L26 - 说明:
TODO
- 类型:
-
windTop- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L27 - 说明:
TODO
- 类型:
-
windMid- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L28 - 说明:
TODO
- 类型:
-
windBottom- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L29 - 说明:
TODO
- 类型:
-
rods- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L30 - 说明:
TODO
- 类型:
-
idleAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L31 - 说明:
TODO
- 类型:
-
shootAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L32 - 说明:
TODO
- 类型:
-
slideAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L33 - 说明:
TODO
- 类型:
-
slideBackAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L34 - 说明:
TODO
- 类型:
-
inhaleAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L35 - 说明:
TODO
- 类型:
-
jumpAnimation- 类型:
KeyframeAnimation - 修饰符:
private final - 源码定位:
L36 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public BreezeModel(ModelPart root) @ L38
- 构造器名:BreezeModel
- 源码定位:L38
- 修饰符:public
参数:
- root: ModelPart
说明:
TODO
方法
下面的方法块按源码顺序生成。
private static MeshDefinition createBaseMesh() @ L55
- 方法名:createBaseMesh
- 源码定位:L55
- 返回类型:MeshDefinition
- 修饰符:private static
参数:
- 无
说明:
TODO
public static LayerDefinition createBodyLayer() @ L124
- 方法名:createBodyLayer
- 源码定位:L124
- 返回类型:LayerDefinition
- 修饰符:public static
参数:
- 无
说明:
TODO
public static LayerDefinition createWindLayer() @ L130
- 方法名:createWindLayer
- 源码定位:L130
- 返回类型:LayerDefinition
- 修饰符:public static
参数:
- 无
说明:
TODO
public static LayerDefinition createEyesLayer() @ L136
- 方法名:createEyesLayer
- 源码定位:L136
- 返回类型:LayerDefinition
- 修饰符:public static
参数:
- 无
说明:
TODO
public void setupAnim(BreezeRenderState state) @ L142
- 方法名:setupAnim
- 源码定位:L142
- 返回类型:void
- 修饰符:public
参数:
- state: BreezeRenderState
说明:
TODO
public ModelPart head() @ L152
- 方法名:head
- 源码定位:L152
- 返回类型:ModelPart
- 修饰符:public
参数:
- 无
说明:
TODO
public ModelPart eyes() @ L156
- 方法名:eyes
- 源码定位:L156
- 返回类型:ModelPart
- 修饰符:public
参数:
- 无
说明:
TODO
public ModelPart rods() @ L160
- 方法名:rods
- 源码定位:L160
- 返回类型:ModelPart
- 修饰符:public
参数:
- 无
说明:
TODO
public ModelPart wind() @ L164
- 方法名:wind
- 源码定位:L164
- 返回类型:ModelPart
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class BreezeModel extends EntityModel<BreezeRenderState> {
private static final float WIND_TOP_SPEED = 0.6F;
private static final float WIND_MIDDLE_SPEED = 0.8F;
private static final float WIND_BOTTOM_SPEED = 1.0F;
private final ModelPart head;
private final ModelPart eyes;
private final ModelPart wind;
private final ModelPart windTop;
private final ModelPart windMid;
private final ModelPart windBottom;
private final ModelPart rods;
private final KeyframeAnimation idleAnimation;
private final KeyframeAnimation shootAnimation;
private final KeyframeAnimation slideAnimation;
private final KeyframeAnimation slideBackAnimation;
private final KeyframeAnimation inhaleAnimation;
private final KeyframeAnimation jumpAnimation;
public BreezeModel(ModelPart root) {
super(root, RenderTypes::entityTranslucent);
this.wind = root.getChild("wind_body");
this.windBottom = this.wind.getChild("wind_bottom");
this.windMid = this.windBottom.getChild("wind_mid");
this.windTop = this.windMid.getChild("wind_top");
this.head = root.getChild("body").getChild("head");
this.eyes = this.head.getChild("eyes");
this.rods = root.getChild("body").getChild("rods");
this.idleAnimation = BreezeAnimation.IDLE.bake(root);
this.shootAnimation = BreezeAnimation.SHOOT.bake(root);
this.slideAnimation = BreezeAnimation.SLIDE.bake(root);
this.slideBackAnimation = BreezeAnimation.SLIDE_BACK.bake(root);
this.inhaleAnimation = BreezeAnimation.INHALE.bake(root);
this.jumpAnimation = BreezeAnimation.JUMP.bake(root);
}
private static MeshDefinition createBaseMesh() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition body = partdefinition.addOrReplaceChild("body", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
PartDefinition rods = body.addOrReplaceChild("rods", CubeListBuilder.create(), PartPose.offset(0.0F, 8.0F, 0.0F));
rods.addOrReplaceChild(
"rod_1",
CubeListBuilder.create().texOffs(0, 17).addBox(-1.0F, 0.0F, -3.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(2.5981F, -3.0F, 1.5F, -2.7489F, -1.0472F, 3.1416F)
);
rods.addOrReplaceChild(
"rod_2",
CubeListBuilder.create().texOffs(0, 17).addBox(-1.0F, 0.0F, -3.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-2.5981F, -3.0F, 1.5F, -2.7489F, 1.0472F, 3.1416F)
);
rods.addOrReplaceChild(
"rod_3",
CubeListBuilder.create().texOffs(0, 17).addBox(-1.0F, 0.0F, -3.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -3.0F, -3.0F, 0.3927F, 0.0F, 0.0F)
);
PartDefinition head = body.addOrReplaceChild(
"head",
CubeListBuilder.create()
.texOffs(4, 24)
.addBox(-5.0F, -5.0F, -4.2F, 10.0F, 3.0F, 4.0F, new CubeDeformation(0.0F))
.texOffs(0, 0)
.addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, 4.0F, 0.0F)
);
head.addOrReplaceChild(
"eyes",
CubeListBuilder.create()
.texOffs(4, 24)
.addBox(-5.0F, -5.0F, -4.2F, 10.0F, 3.0F, 4.0F, new CubeDeformation(0.0F))
.texOffs(0, 0)
.addBox(-4.0F, -8.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, 0.0F, 0.0F)
);
PartDefinition windBody = partdefinition.addOrReplaceChild("wind_body", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
PartDefinition windBottom = windBody.addOrReplaceChild(
"wind_bottom",
CubeListBuilder.create().texOffs(1, 83).addBox(-2.5F, -7.0F, -2.5F, 5.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, 24.0F, 0.0F)
);
PartDefinition windMid = windBottom.addOrReplaceChild(
"wind_mid",
CubeListBuilder.create()
.texOffs(74, 28)
.addBox(-6.0F, -6.0F, -6.0F, 12.0F, 6.0F, 12.0F, new CubeDeformation(0.0F))
.texOffs(78, 32)
.addBox(-4.0F, -6.0F, -4.0F, 8.0F, 6.0F, 8.0F, new CubeDeformation(0.0F))
.texOffs(49, 71)
.addBox(-2.5F, -6.0F, -2.5F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, -7.0F, 0.0F)
);
windMid.addOrReplaceChild(
"wind_top",
CubeListBuilder.create()
.texOffs(0, 0)
.addBox(-9.0F, -8.0F, -9.0F, 18.0F, 8.0F, 18.0F, new CubeDeformation(0.0F))
.texOffs(6, 6)
.addBox(-6.0F, -8.0F, -6.0F, 12.0F, 8.0F, 12.0F, new CubeDeformation(0.0F))
.texOffs(105, 57)
.addBox(-2.5F, -8.0F, -2.5F, 5.0F, 8.0F, 5.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, -6.0F, 0.0F)
);
return meshdefinition;
}
public static LayerDefinition createBodyLayer() {
MeshDefinition mesh = createBaseMesh();
mesh.getRoot().retainPartsAndChildren(Set.of("head", "rods"));
return LayerDefinition.create(mesh, 32, 32);
}
public static LayerDefinition createWindLayer() {
MeshDefinition mesh = createBaseMesh();
mesh.getRoot().retainPartsAndChildren(Set.of("wind_body"));
return LayerDefinition.create(mesh, 128, 128);
}
public static LayerDefinition createEyesLayer() {
MeshDefinition mesh = createBaseMesh();
mesh.getRoot().retainPartsAndChildren(Set.of("eyes"));
return LayerDefinition.create(mesh, 32, 32);
}
public void setupAnim(BreezeRenderState state) {
super.setupAnim(state);
this.idleAnimation.apply(state.idle, state.ageInTicks);
this.shootAnimation.apply(state.shoot, state.ageInTicks);
this.slideAnimation.apply(state.slide, state.ageInTicks);
this.slideBackAnimation.apply(state.slideBack, state.ageInTicks);
this.inhaleAnimation.apply(state.inhale, state.ageInTicks);
this.jumpAnimation.apply(state.longJump, state.ageInTicks);
}
public ModelPart head() {
return this.head;
}
public ModelPart eyes() {
return this.eyes;
}
public ModelPart rods() {
return this.rods;
}
public ModelPart wind() {
return this.wind;
}
}引用的其他类
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
PartPose.offset(), PartPose.offsetAndRotation()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
CubeDeformation()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
CubeListBuilder.create()
- 引用位置:
-
- 引用位置:
方法调用/返回值 - 关联成员:
LayerDefinition.create()
- 引用位置:
-
- 引用位置:
构造调用/返回值 - 关联成员:
MeshDefinition()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: