33import eu .pb4 .factorytools .api .virtualentity .emuvanilla .EntityValueExtraction ;
44import eu .pb4 .factorytools .api .virtualentity .emuvanilla .animation .Animation ;
55import eu .pb4 .factorytools .api .virtualentity .emuvanilla .model .*;
6- import eu .pb4 .factorytools .api .virtualentity .emuvanilla .model .Dilation ;
76import net .bunten .enderscape .entity .rustle .Rustle ;
87import net .minecraft .util .math .MathHelper ;
98
@@ -12,6 +11,7 @@ public class RustleModel extends EntityModel<Rustle> {
1211 private final ModelPart crossSpines ;
1312 private final ModelPart middleSpines ;
1413 private final ModelPart backSpines ;
14+ private final ModelPart tail ;
1515 private final ModelPart head ;
1616 private final ModelPart rightAntenna ;
1717 private final ModelPart leftAntenna ;
@@ -24,6 +24,7 @@ public RustleModel(ModelPart root) {
2424 this .crossSpines = this .body .getChild ("crossSpines" );
2525 this .middleSpines = this .body .getChild ("middleSpines" );
2626 this .backSpines = this .body .getChild ("backSpines" );
27+ this .tail = this .body .getChild ("tail" );
2728 this .head = root .getChild ("head" );
2829 this .rightAntenna = this .head .getChild ("rightAntenna" );
2930 this .leftAntenna = this .head .getChild ("leftAntenna" );
@@ -32,17 +33,18 @@ public RustleModel(ModelPart root) {
3233 }
3334
3435 public static TexturedModelData createLayer () {
35- ModelData meshdefinition = new ModelData ();
36+ ModelData meshdefinition = new ModelData ();
3637 ModelPartData partdefinition = meshdefinition .getRoot ();
37- ModelPartData body = partdefinition .addChild ("body" , ModelPartBuilder .create ().uv (0 , 0 ).cuboid (-4.0F , -2.5F , -5.0F , 8.0F , 5.0F , 10.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , 21.5F , 2.0F ));
38- ModelPartData crossSpines = body .addChild ("crossSpines" , ModelPartBuilder .create ().uv (0 , 27 ).cuboid (-7.0F , -2.5F , 0.0F , 14.0F , 5.0F , 0.0F , new Dilation (0.0F )), ModelTransform .of (0.0F , -5.0F , 0.0F , 0.0F , 0.7854F , 0.0F ));
39- crossSpines .addChild ("cube_r1" , ModelPartBuilder .create ().uv (0 , 27 ).cuboid (-7.0F , -1.0F , 0.0F , 14.0F , 5.0F , 0.0F , new Dilation (0.0F )), ModelTransform .of (0.0F , -1.5F , 0.0F , 0.0F , 1.5708F , 0.0F ));
40- body .addChild ("middleSpines" , ModelPartBuilder .create ().uv (0 , 20 ).cuboid (-7.0F , -4.0F , 0.0F , 14.0F , 7.0F , 0.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , -0.5F , -2.0F ));
41- body .addChild ("backSpines" , ModelPartBuilder .create ().uv (0 , 20 ).cuboid (-7.0F , -4.0F , 0.0F , 14.0F , 7.0F , 0.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , -0.5F , 3.0F ));
42- ModelPartData head = partdefinition .addChild ("head" , ModelPartBuilder .create ().uv (26 , 0 ).cuboid (-3.0F , -2.5F , -3.0F , 6.0F , 5.0F , 4.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , 21.5F , -4.0F ));
43- head .addChild ("rightAntenna" , ModelPartBuilder .create ().uv (46 , -7 ).cuboid (0.0F , -7.0F , -5.5F , 0.0F , 7.0F , 7.0F , new Dilation (0.0F )), ModelTransform .origin (-2.0F , -2.5F , -1.5F ));
44- head .addChild ("leftAntenna" , ModelPartBuilder .create ().uv (46 , -7 ).cuboid (0.0F , -7.0F , -5.5F , 0.0F , 7.0F , 7.0F , new Dilation (0.0F )), ModelTransform .origin (2.0F , -2.5F , -1.5F ));
45- head .addChild ("frontSpines" , ModelPartBuilder .create ().uv (0 , 15 ).cuboid (-7.0F , -2.0F , 0.0F , 14.0F , 5.0F , 0.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , -0.5F , -2.0F ));
38+ ModelPartData body = partdefinition .addChild ("body" , ModelPartBuilder .create ().uv (0 , 0 ).cuboid (-4.0F , -5.0F , -3.0F , 8.0F , 5.0F , 10.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , 24.0F , 0.0F ));
39+ ModelPartData crossSpines = body .addChild ("crossSpines" , ModelPartBuilder .create ().uv (0 , 27 ).cuboid (-7.0F , -5.0F , 0.25F , 14.0F , 5.0F , 0.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , -5.0F , 1.75F ));
40+ crossSpines .addChild ("cube_r1" , ModelPartBuilder .create ().uv (1 , 27 ).cuboid (-6.0F , -1.0F , 0.0F , 13.0F , 5.0F , 0.0F , new Dilation (0.0F )), ModelTransform .of (0.0F , -4.0F , 0.25F , 0.0F , 1.5708F , 0.0F ));
41+ body .addChild ("middleSpines" , ModelPartBuilder .create ().uv (0 , 20 ).cuboid (-7.0F , -4.5F , 0.0F , 14.0F , 7.0F , 0.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , -2.5F , 0.0F ));
42+ body .addChild ("backSpines" , ModelPartBuilder .create ().uv (0 , 20 ).mirrored ().cuboid (-7.0F , -4.5F , 0.0F , 14.0F , 7.0F , 0.0F , new Dilation (0.0F )).mirrored (false ), ModelTransform .origin (0.0F , -2.5F , 5.0F ));
43+ body .addChild ("tail" , ModelPartBuilder .create ().uv (36 , 9 ).cuboid (-2.0F , -1.5F , 0.0F , 4.0F , 3.0F , 2.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , -1.5F , 7.0F ));
44+ ModelPartData head = partdefinition .addChild ("head" , ModelPartBuilder .create ().uv (26 , 0 ).cuboid (-3.0F , -3.0F , -4.0F , 6.0F , 5.0F , 4.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , 22.0F , -3.0F ));
45+ head .addChild ("rightAntenna" , ModelPartBuilder .create ().uv (46 , -7 ).cuboid (0.0F , -7.0F , -5.5F , 0.0F , 7.0F , 7.0F , new Dilation (0.0F )), ModelTransform .origin (-2.0F , -3.0F , -2.5F ));
46+ head .addChild ("leftAntenna" , ModelPartBuilder .create ().uv (46 , -7 ).cuboid (0.0F , -7.0F , -5.5F , 0.0F , 7.0F , 7.0F , new Dilation (0.0F )), ModelTransform .origin (2.0F , -3.0F , -2.5F ));
47+ head .addChild ("frontSpines" , ModelPartBuilder .create ().uv (0 , 15 ).cuboid (-7.0F , -2.0F , 0.0F , 14.0F , 5.0F , 0.0F , new Dilation (0.0F )), ModelTransform .origin (0.0F , -1.0F , -3.0F ));
4648 return TexturedModelData .of (meshdefinition , 64 , 32 );
4749 }
4850
@@ -64,6 +66,7 @@ public void setAngles(Rustle state) {
6466 var10000 .yaw += EntityValueExtraction .getRelativeHeadYaw (state ) * 0.017453292F / 2.0F ;
6567 this .head .roll = MathHelper .sin (age + animPos / 3.0F * 0.06F ) * animSpeed * 0.5F ;
6668 this .body .roll = MathHelper .sin (age + animPos / 3.0F * 0.03F ) * animSpeed * 0.25F ;
69+ this .tail .roll = MathHelper .sin (age + animPos / 3.0F * 0.06F ) * animSpeed * 0.5F ;
6770 this .frontSpines .yaw = MathHelper .sin (age + animPos / 3.0F * 0.1F ) * animSpeed * 0.8F ;
6871 this .middleSpines .yaw = MathHelper .sin (age + animPos / 3.0F * 0.1F + 1.5707964F ) * animSpeed * 0.8F ;
6972 this .backSpines .yaw = MathHelper .sin (age + animPos / 3.0F * 0.1F + 3.1415927F ) * animSpeed * 0.8F ;
0 commit comments