Skip to content

Commit 63a20db

Browse files
committed
初始化动画和添加食人鲳的攻击形式
1 parent aae33f1 commit 63a20db

File tree

126 files changed

+252
-232
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+252
-232
lines changed

src/main/java/org/polaris2023/wild_wind/client/entity/piranha/PiranhaAnimation.java

+86-115
Large diffs are not rendered by default.

src/main/java/org/polaris2023/wild_wind/client/entity/piranha/PiranhaModel.java

+25-20
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,42 @@
1616
public class PiranhaModel extends ColorableHierarchicalModel<Piranha> {
1717
// This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor
1818
public static final ModelLayerLocation LAYER_LOCATION = Helpers.location("piranha", "main");
19-
private final ModelPart bone4;
19+
private final ModelPart root;
2020
private final ModelPart bone;
21-
private final ModelPart bone3;
21+
private final ModelPart mouth;
2222
private final ModelPart bone2;
23+
private final ModelPart tail;
2324

2425
public PiranhaModel(ModelPart root) {
25-
this.bone4 = root.getChild("bone4");
26-
this.bone = this.bone4.getChild("bone");
27-
this.bone3 = this.bone.getChild("bone3");
28-
this.bone2 = this.bone4.getChild("bone2");
26+
this.root = root.getChild("root");
27+
this.bone = this.root.getChild("bone");
28+
this.mouth = this.bone.getChild("mouth");
29+
this.bone2 = this.root.getChild("bone2");
30+
this.tail = this.bone2.getChild("tail");
2931
}
3032

3133
public static LayerDefinition createBodyLayer() {
3234
MeshDefinition meshdefinition = new MeshDefinition();
3335
PartDefinition partdefinition = meshdefinition.getRoot();
3436

35-
PartDefinition bone4 = partdefinition.addOrReplaceChild("bone4", CubeListBuilder.create(), PartPose.offset(0.0F, 22.0F, -6.0F));
37+
PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create(), PartPose.offset(0.0F, 21.0F, 0.0F));
3638

37-
PartDefinition bone = bone4.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(21, 4).addBox(0.0F, -7.0F, -2.0F, 0.0F, 2.0F, 4.0F, new CubeDeformation(0.0F))
38-
.texOffs(8, 12).addBox(-1.0F, -4.5F, -5.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
39-
.texOffs(6, 10).addBox(-1.5F, -5.0F, -3.0F, 3.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 2.0F, 5.0F));
39+
PartDefinition bone = root.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(13, 0).addBox(-0.75F, -3.0F, -3.0F, 2.0F, 4.0F, 3.0F, new CubeDeformation(0.0F))
40+
.texOffs(24, 5).addBox(-0.75F, 1.0F, -1.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
41+
.texOffs(24, 9).addBox(-0.5F, 1.0F, -2.5F, 0.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
42+
.texOffs(24, 9).mirror().addBox(1.0F, 1.0F, -2.5F, 0.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-0.25F, 0.0F, -1.0F));
4043

41-
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 13).addBox(0.0F, 0.0F, -1.0F, 2.0F, 0.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, 0.0F, -2.0F, 0.0F, 0.0F, 0.7854F));
44+
PartDefinition mouth = bone.addOrReplaceChild("mouth", CubeListBuilder.create().texOffs(24, 0).addBox(-0.5F, -0.5F, -2.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.25F, 1.5F, -1.0F));
4245

43-
PartDefinition cube_r2 = bone.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(0, 13).addBox(-2.0F, 0.0F, -1.0F, 2.0F, 0.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, 0.0F, -2.0F, 0.0F, 0.0F, -0.7854F));
46+
PartDefinition bone2 = root.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(11, 16).addBox(0.0F, -5.0F, -1.0F, 0.0F, 2.0F, 5.0F, new CubeDeformation(0.0F))
47+
.texOffs(0, 0).addBox(-1.0F, -3.0F, 0.0F, 2.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
48+
.texOffs(11, 9).addBox(-1.0F, 1.0F, 0.0F, 2.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, -1.0F));
4449

45-
PartDefinition bone3 = bone.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(6, 15).addBox(-1.0F, -0.5F, -2.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, -3.0F));
50+
PartDefinition cube_r1 = bone2.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 20).mirror().addBox(0.0F, -1.0F, 0.0F, 0.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(1.0F, 1.0F, 0.0F, 0.0F, 0.2618F, 0.0F));
4651

47-
PartDefinition bone2 = bone4.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(12, 0).addBox(-1.5F, -5.0F, 0.0F, 3.0F, 5.0F, 3.0F, new CubeDeformation(0.0F))
48-
.texOffs(6, 0).addBox(0.0F, -5.0F, 3.0F, 0.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 2.0F, 5.0F));
52+
PartDefinition cube_r2 = bone2.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(0, 20).addBox(0.0F, -1.0F, 0.0F, 0.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, 1.0F, 0.0F, 0.0F, -0.2618F, 0.0F));
53+
54+
PartDefinition tail = bone2.addOrReplaceChild("tail", CubeListBuilder.create().texOffs(0, 9).addBox(0.0F, -3.0F, 0.0F, 0.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 4.0F));
4955

5056
return LayerDefinition.create(meshdefinition, 32, 32);
5157
}
@@ -54,18 +60,17 @@ public static LayerDefinition createBodyLayer() {
5460
public void setupAnim(Piranha piranha, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
5561
root().getAllParts().forEach(ModelPart::resetPose);
5662
animate(piranha.swim, PiranhaAnimation.SWIM, ageInTicks, 1.0F);
57-
animate(piranha.struggle, PiranhaAnimation.STRUGGLE, ageInTicks, 1.0F);
58-
animate(piranha.attack, PiranhaAnimation.BITE, ageInTicks, 1.0F);
59-
animate(piranha.attack2, PiranhaAnimation.BITE2, ageInTicks, 1.0F);
63+
animate(piranha.jump, PiranhaAnimation.JUMP, ageInTicks, 1.0F);
64+
animate(piranha.attack, PiranhaAnimation.ATTACK, ageInTicks, 1.0F);
6065
}
6166

6267
@Override
6368
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, int rgba) {
64-
bone4.render(poseStack, vertexConsumer, packedLight, packedOverlay, rgba);
69+
root().render(poseStack, vertexConsumer, packedLight, packedOverlay, rgba);
6570
}
6671

6772
@Override
6873
public ModelPart root() {
69-
return bone4;
74+
return root;
7075
}
7176
}

src/main/java/org/polaris2023/wild_wind/client/entity/trout/TroutAnimation.java

+54-73
Original file line numberDiff line numberDiff line change
@@ -11,78 +11,59 @@
1111
* @author baka4n
1212
*/
1313
public class TroutAnimation {
14-
public static final AnimationDefinition SWIM = AnimationDefinition.Builder.withLength(1.0F).looping()
15-
.addAnimation("bone", new AnimationChannel(AnimationChannel.Targets.ROTATION,
16-
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
17-
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, -14.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
18-
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
19-
new Keyframe(0.75F, KeyframeAnimations.degreeVec(0.0F, 15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
20-
new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
21-
))
22-
.addAnimation("bone2", new AnimationChannel(AnimationChannel.Targets.ROTATION,
23-
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
24-
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, 15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
25-
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
26-
new Keyframe(0.75F, KeyframeAnimations.degreeVec(0.0F, -15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
27-
new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
28-
))
29-
.build();
14+
public static final AnimationDefinition SWIM = AnimationDefinition.Builder.withLength(0.5F).looping()
15+
.addAnimation("bone", new AnimationChannel(AnimationChannel.Targets.ROTATION,
16+
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
17+
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
18+
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
19+
))
20+
.addAnimation("bone2", new AnimationChannel(AnimationChannel.Targets.ROTATION,
21+
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
22+
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
23+
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
24+
))
25+
.addAnimation("bone3", new AnimationChannel(AnimationChannel.Targets.ROTATION,
26+
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
27+
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
28+
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
29+
))
30+
.build();
3031

31-
public static final AnimationDefinition STRUGGLE = AnimationDefinition.Builder.withLength(1.0F).looping()
32-
.addAnimation("bone", new AnimationChannel(AnimationChannel.Targets.ROTATION,
33-
new Keyframe(0.0F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
34-
new Keyframe(0.125F, KeyframeAnimations.degreeVec(90.0F, -20.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
35-
new Keyframe(0.25F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
36-
new Keyframe(0.375F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
37-
new Keyframe(0.5F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
38-
new Keyframe(0.625F, KeyframeAnimations.degreeVec(90.0F, 0.0F, -10.0F), AnimationChannel.Interpolations.LINEAR),
39-
new Keyframe(0.75F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 10.0F), AnimationChannel.Interpolations.LINEAR),
40-
new Keyframe(0.875F, KeyframeAnimations.degreeVec(90.0F, 0.0F, -10.0F), AnimationChannel.Interpolations.LINEAR),
41-
new Keyframe(1.0F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
42-
))
43-
.addAnimation("bone", new AnimationChannel(AnimationChannel.Targets.POSITION,
44-
new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 1.0F, 2.0F), AnimationChannel.Interpolations.LINEAR),
45-
new Keyframe(0.25F, KeyframeAnimations.posVec(0.0F, 1.0F, 2.0F), AnimationChannel.Interpolations.LINEAR),
46-
new Keyframe(0.7083F, KeyframeAnimations.posVec(0.0F, 2.0F, 2.0F), AnimationChannel.Interpolations.LINEAR),
47-
new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, 1.0F, 2.0F), AnimationChannel.Interpolations.LINEAR)
48-
))
49-
.addAnimation("bone2", new AnimationChannel(AnimationChannel.Targets.ROTATION,
50-
new Keyframe(0.0F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
51-
new Keyframe(0.125F, KeyframeAnimations.degreeVec(90.0F, 20.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
52-
new Keyframe(0.25F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
53-
new Keyframe(0.375F, KeyframeAnimations.degreeVec(90.0F, 0.0F, -10.0F), AnimationChannel.Interpolations.LINEAR),
54-
new Keyframe(0.5F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
55-
new Keyframe(0.625F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 10.0F), AnimationChannel.Interpolations.LINEAR),
56-
new Keyframe(0.75F, KeyframeAnimations.degreeVec(90.0F, 0.0F, -10.0F), AnimationChannel.Interpolations.LINEAR),
57-
new Keyframe(0.875F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 10.0F), AnimationChannel.Interpolations.LINEAR),
58-
new Keyframe(1.0F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
59-
))
60-
.addAnimation("bone2", new AnimationChannel(AnimationChannel.Targets.POSITION,
61-
new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 1.0F, 2.0F), AnimationChannel.Interpolations.LINEAR),
62-
new Keyframe(0.25F, KeyframeAnimations.posVec(0.0F, 1.0F, 2.0F), AnimationChannel.Interpolations.LINEAR),
63-
new Keyframe(0.7083F, KeyframeAnimations.posVec(0.0F, 2.0F, 2.0F), AnimationChannel.Interpolations.LINEAR),
64-
new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, 1.0F, 2.0F), AnimationChannel.Interpolations.LINEAR)
65-
))
66-
.build();
67-
68-
public static final AnimationDefinition STRUGGLE2 = AnimationDefinition.Builder.withLength(0.25F).looping()
69-
.addAnimation("bone", new AnimationChannel(AnimationChannel.Targets.ROTATION,
70-
new Keyframe(0.0F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
71-
new Keyframe(0.125F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
72-
new Keyframe(0.25F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
73-
))
74-
.addAnimation("bone", new AnimationChannel(AnimationChannel.Targets.POSITION,
75-
new Keyframe(0.0F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
76-
new Keyframe(0.25F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
77-
))
78-
.addAnimation("bone2", new AnimationChannel(AnimationChannel.Targets.ROTATION,
79-
new Keyframe(0.0F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
80-
new Keyframe(0.125F, KeyframeAnimations.degreeVec(180.0F, -10.0F, 90.0F), AnimationChannel.Interpolations.LINEAR),
81-
new Keyframe(0.25F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
82-
))
83-
.addAnimation("bone2", new AnimationChannel(AnimationChannel.Targets.POSITION,
84-
new Keyframe(0.0F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
85-
new Keyframe(0.25F, KeyframeAnimations.posVec(2.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
86-
))
87-
.build();
32+
public static final AnimationDefinition JUMP = AnimationDefinition.Builder.withLength(1.0F).looping()
33+
.addAnimation("bone", new AnimationChannel(AnimationChannel.Targets.ROTATION,
34+
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
35+
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, -15.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
36+
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 37.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
37+
new Keyframe(0.75F, KeyframeAnimations.degreeVec(0.0F, -35.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
38+
new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
39+
))
40+
.addAnimation("bone2", new AnimationChannel(AnimationChannel.Targets.ROTATION,
41+
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
42+
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, -15.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
43+
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 17.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
44+
new Keyframe(0.75F, KeyframeAnimations.degreeVec(0.0F, -22.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
45+
new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
46+
))
47+
.addAnimation("bone3", new AnimationChannel(AnimationChannel.Targets.ROTATION,
48+
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
49+
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
50+
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 35.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
51+
new Keyframe(0.75F, KeyframeAnimations.degreeVec(0.0F, -22.5F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
52+
new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
53+
))
54+
.addAnimation("root", new AnimationChannel(AnimationChannel.Targets.ROTATION,
55+
new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 90.0F), AnimationChannel.Interpolations.CATMULLROM),
56+
new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, 10.0F, 90.0F), AnimationChannel.Interpolations.CATMULLROM),
57+
new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, -50.0F, 90.0F), AnimationChannel.Interpolations.CATMULLROM),
58+
new Keyframe(0.75F, KeyframeAnimations.degreeVec(0.0F, 12.5F, 90.0F), AnimationChannel.Interpolations.CATMULLROM),
59+
new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 90.0F), AnimationChannel.Interpolations.CATMULLROM)
60+
))
61+
.addAnimation("root", new AnimationChannel(AnimationChannel.Targets.POSITION,
62+
new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -2.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
63+
new Keyframe(0.25F, KeyframeAnimations.posVec(0.0F, -2.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
64+
new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, 3.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
65+
new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, -2.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
66+
new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, -2.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
67+
))
68+
.build();
8869
}

0 commit comments

Comments
 (0)