DonkeyModel.java
net.minecraft.client.model.animal.equine.DonkeyModel
信息
- 全限定名:net.minecraft.client.model.animal.equine.DonkeyModel
- 类型:public class
- 包:net.minecraft.client.model.animal.equine
- 源码路径:src/main/java/net/minecraft/client/model/animal/equine/DonkeyModel.java
- 起始行号:L15
- 继承:AbstractEquineModel
- 职责:
TODO
字段/常量
-
DONKEY_SCALE- 类型:
float - 修饰符:
public static final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
MULE_SCALE- 类型:
float - 修饰符:
public static final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
DONKEY_TRANSFORMER- 类型:
MeshTransformer - 修饰符:
private static final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
leftChest- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
-
rightChest- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public DonkeyModel(ModelPart root) @ L25
- 构造器名:DonkeyModel
- 源码定位:L25
- 修饰符:public
参数:
- root: ModelPart
说明:
TODO
public DonkeyModel(ModelPart root, ModelPart headParts, ModelPart rightHindLeg, ModelPart rightFrontLeg, ModelPart leftHindLeg, ModelPart leftFrontLeg, ModelPart tail) @ L29
- 构造器名:DonkeyModel
- 源码定位:L29
- 修饰符:public
参数:
- root: ModelPart
- headParts: ModelPart
- rightHindLeg: ModelPart
- rightFrontLeg: ModelPart
- leftHindLeg: ModelPart
- leftFrontLeg: ModelPart
- tail: ModelPart
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static LayerDefinition createBodyLayer(float scale) @ L35
- 方法名:createBodyLayer
- 源码定位:L35
- 返回类型:LayerDefinition
- 修饰符:public static
参数:
- scale: float
说明:
TODO
public static LayerDefinition createSaddleLayer(float scale) @ L41
- 方法名:createSaddleLayer
- 源码定位:L41
- 返回类型:LayerDefinition
- 修饰符:public static
参数:
- scale: float
说明:
TODO
private static void modifyMesh(PartDefinition root) @ L45
- 方法名:modifyMesh
- 源码定位:L45
- 返回类型:void
- 修饰符:private static
参数:
- root: PartDefinition
说明:
TODO
public void setupAnim(DonkeyRenderState state) @ L56
- 方法名:setupAnim
- 源码定位:L56
- 返回类型:void
- 修饰符:public
参数:
- state: DonkeyRenderState
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class DonkeyModel extends AbstractEquineModel<DonkeyRenderState> {
public static final float DONKEY_SCALE = 0.87F;
public static final float MULE_SCALE = 0.92F;
private static final MeshTransformer DONKEY_TRANSFORMER = mesh -> {
modifyMesh(mesh.getRoot());
return mesh;
};
private final ModelPart leftChest = this.body.getChild("left_chest");
private final ModelPart rightChest = this.body.getChild("right_chest");
public DonkeyModel(ModelPart root) {
super(root);
}
public DonkeyModel(
ModelPart root, ModelPart headParts, ModelPart rightHindLeg, ModelPart rightFrontLeg, ModelPart leftHindLeg, ModelPart leftFrontLeg, ModelPart tail
) {
super(root, headParts, rightHindLeg, rightFrontLeg, leftHindLeg, leftFrontLeg, tail);
}
public static LayerDefinition createBodyLayer(float scale) {
return LayerDefinition.create(AbstractEquineModel.createBodyMesh(CubeDeformation.NONE), 64, 64)
.apply(DONKEY_TRANSFORMER)
.apply(MeshTransformer.scaling(scale));
}
public static LayerDefinition createSaddleLayer(float scale) {
return EquineSaddleModel.createSaddleLayer().apply(DONKEY_TRANSFORMER).apply(MeshTransformer.scaling(scale));
}
private static void modifyMesh(PartDefinition root) {
PartDefinition body = root.getChild("body");
CubeListBuilder chest = CubeListBuilder.create().texOffs(26, 21).addBox(-4.0F, 0.0F, -2.0F, 8.0F, 8.0F, 3.0F);
body.addOrReplaceChild("left_chest", chest, PartPose.offsetAndRotation(6.0F, -8.0F, 0.0F, 0.0F, (float) (-Math.PI / 2), 0.0F));
body.addOrReplaceChild("right_chest", chest, PartPose.offsetAndRotation(-6.0F, -8.0F, 0.0F, 0.0F, (float) (Math.PI / 2), 0.0F));
PartDefinition head = root.getChild("head_parts").getChild("head");
CubeListBuilder ear = CubeListBuilder.create().texOffs(0, 12).addBox(-1.0F, -7.0F, 0.0F, 2.0F, 7.0F, 1.0F);
head.addOrReplaceChild("left_ear", ear, PartPose.offsetAndRotation(1.25F, -10.0F, 4.0F, (float) (Math.PI / 12), 0.0F, (float) (Math.PI / 12)));
head.addOrReplaceChild("right_ear", ear, PartPose.offsetAndRotation(-1.25F, -10.0F, 4.0F, (float) (Math.PI / 12), 0.0F, (float) (-Math.PI / 12)));
}
public void setupAnim(DonkeyRenderState state) {
super.setupAnim(state);
this.leftChest.visible = state.hasChest;
this.rightChest.visible = state.hasChest;
}
}引用的其他类
-
- 引用位置:
方法调用/继承 - 关联成员:
AbstractEquineModel.createBodyMesh()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
EquineSaddleModel.createSaddleLayer()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
PartPose.offsetAndRotation()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
CubeListBuilder.create()
- 引用位置:
-
- 引用位置:
方法调用/返回值 - 关联成员:
LayerDefinition.create()
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
MeshTransformer.scaling()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: