DragonHeadModel.java
net.minecraft.client.model.object.skull.DragonHeadModel
信息
- 全限定名:net.minecraft.client.model.object.skull.DragonHeadModel
- 类型:public class
- 包:net.minecraft.client.model.object.skull
- 源码路径:src/main/java/net/minecraft/client/model/object/skull/DragonHeadModel.java
- 起始行号:L13
- 继承:SkullModelBase
- 职责:
TODO
字段/常量
-
head- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
jaw- 类型:
ModelPart - 修饰符:
private final - 源码定位:
L15 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public DragonHeadModel(ModelPart root) @ L17
- 构造器名:DragonHeadModel
- 源码定位:L17
- 修饰符:public
参数:
- root: ModelPart
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static LayerDefinition createHeadLayer() @ L23
- 方法名:createHeadLayer
- 源码定位:L23
- 返回类型:LayerDefinition
- 修饰符:public static
参数:
- 无
说明:
TODO
public void setupAnim(SkullModelBase.State state) @ L46
- 方法名:setupAnim
- 源码定位:L46
- 返回类型:void
- 修饰符:public
参数:
- state: SkullModelBase.State
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class DragonHeadModel extends SkullModelBase {
private final ModelPart head;
private final ModelPart jaw;
public DragonHeadModel(ModelPart root) {
super(root);
this.head = root.getChild("head");
this.jaw = this.head.getChild("jaw");
}
public static LayerDefinition createHeadLayer() {
MeshDefinition mesh = new MeshDefinition();
PartDefinition root = mesh.getRoot();
float zo = -16.0F;
PartDefinition head = root.addOrReplaceChild(
"head",
CubeListBuilder.create()
.addBox("upper_lip", -6.0F, -1.0F, -24.0F, 12, 5, 16, 176, 44)
.addBox("upper_head", -8.0F, -8.0F, -10.0F, 16, 16, 16, 112, 30)
.mirror(true)
.addBox("scale", -5.0F, -12.0F, -4.0F, 2, 4, 6, 0, 0)
.addBox("nostril", -5.0F, -3.0F, -22.0F, 2, 2, 4, 112, 0)
.mirror(false)
.addBox("scale", 3.0F, -12.0F, -4.0F, 2, 4, 6, 0, 0)
.addBox("nostril", 3.0F, -3.0F, -22.0F, 2, 2, 4, 112, 0),
PartPose.offset(0.0F, -7.986666F, 0.0F).scaled(0.75F)
);
head.addOrReplaceChild(
"jaw", CubeListBuilder.create().texOffs(176, 65).addBox("jaw", -6.0F, 0.0F, -16.0F, 12.0F, 4.0F, 16.0F), PartPose.offset(0.0F, 4.0F, -8.0F)
);
return LayerDefinition.create(mesh, 256, 256);
}
public void setupAnim(SkullModelBase.State state) {
super.setupAnim(state);
this.jaw.xRot = (float)(Math.sin(state.animationPos * (float) Math.PI * 0.2F) + 1.0) * 0.2F;
this.head.yRot = state.yRot * (float) (Math.PI / 180.0);
this.head.xRot = state.xRot * (float) (Math.PI / 180.0);
}
}引用的其他类
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
PartPose.offset()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
CubeListBuilder.create()
- 引用位置:
-
- 引用位置:
方法调用/返回值 - 关联成员:
LayerDefinition.create()
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
MeshDefinition()
- 引用位置:
-
- 引用位置:
参数/继承
- 引用位置: