HappyGhastHarnessModel.java

net.minecraft.client.model.animal.ghast.HappyGhastHarnessModel

信息

  • 全限定名:net.minecraft.client.model.animal.ghast.HappyGhastHarnessModel
  • 类型:public class
  • 包:net.minecraft.client.model.animal.ghast
  • 源码路径:src/main/java/net/minecraft/client/model/animal/ghast/HappyGhastHarnessModel.java
  • 起始行号:L17
  • 继承:EntityModel
  • 职责:

    TODO

字段/常量

  • GOGGLES_Y_OFFSET

    • 类型: float
    • 修饰符: private static final
    • 源码定位: L18
    • 说明:

      TODO

  • goggles

    • 类型: ModelPart
    • 修饰符: private final
    • 源码定位: L19
    • 说明:

      TODO

内部类/嵌套类型

构造器

public HappyGhastHarnessModel(ModelPart root) @ L21

  • 构造器名:HappyGhastHarnessModel
  • 源码定位:L21
  • 修饰符:public

参数:

  • root: ModelPart

说明:

TODO

方法

下面的方法块按源码顺序生成。

public static LayerDefinition createHarnessLayer(boolean baby) @ L26

  • 方法名:createHarnessLayer
  • 源码定位:L26
  • 返回类型:LayerDefinition
  • 修饰符:public static

参数:

  • baby: boolean

说明:

TODO

public void setupAnim(HappyGhastRenderState state) @ L42

  • 方法名:setupAnim
  • 源码定位:L42
  • 返回类型:void
  • 修饰符:public

参数:

  • state: HappyGhastRenderState

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class HappyGhastHarnessModel extends EntityModel<HappyGhastRenderState> {
    private static final float GOGGLES_Y_OFFSET = 14.0F;
    private final ModelPart goggles;
 
    public HappyGhastHarnessModel(ModelPart root) {
        super(root);
        this.goggles = root.getChild("goggles");
    }
 
    public static LayerDefinition createHarnessLayer(boolean baby) {
        MeshDefinition meshdefinition = new MeshDefinition();
        PartDefinition root = meshdefinition.getRoot();
        root.addOrReplaceChild(
            "harness", CubeListBuilder.create().texOffs(0, 0).addBox(-8.0F, -16.0F, -8.0F, 16.0F, 16.0F, 16.0F), PartPose.offset(0.0F, 24.0F, 0.0F)
        );
        root.addOrReplaceChild(
            "goggles",
            CubeListBuilder.create().texOffs(0, 32).addBox(-8.0F, -2.5F, -2.5F, 16.0F, 5.0F, 5.0F, new CubeDeformation(0.15F)),
            PartPose.offset(0.0F, 14.0F, -5.5F)
        );
        return LayerDefinition.create(meshdefinition, 64, 64)
            .apply(MeshTransformer.scaling(4.0F))
            .apply(baby ? HappyGhastModel.BABY_TRANSFORMER : MeshTransformer.IDENTITY);
    }
 
    public void setupAnim(HappyGhastRenderState state) {
        super.setupAnim(state);
        if (state.isRidden) {
            this.goggles.xRot = 0.0F;
            this.goggles.y = 14.0F;
        } else {
            this.goggles.xRot = -0.7854F;
            this.goggles.y = 9.0F;
        }
    }
}

引用的其他类