659 lines
		
	
	
	
		
			37 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			659 lines
		
	
	
	
		
			37 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.client.animation.definitions;
 | |
| 
 | |
| import net.fabricmc.api.EnvType;
 | |
| import net.fabricmc.api.Environment;
 | |
| import net.minecraft.client.animation.AnimationChannel;
 | |
| import net.minecraft.client.animation.AnimationDefinition;
 | |
| import net.minecraft.client.animation.Keyframe;
 | |
| import net.minecraft.client.animation.KeyframeAnimations;
 | |
| 
 | |
| @Environment(EnvType.CLIENT)
 | |
| public class CamelAnimation {
 | |
| 	public static final AnimationDefinition CAMEL_WALK = AnimationDefinition.Builder.withLength(1.5F)
 | |
| 		.looping()
 | |
| 		.addAnimation(
 | |
| 			"root",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 2.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -2.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 2.5F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(2.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(-2.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(2.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.degreeVec(-2.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(2.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.4583F, KeyframeAnimations.posVec(0.0F, 4.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.2083F, KeyframeAnimations.posVec(0.0F, 4.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-20.4F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.375F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(-20.4F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -0.21F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.0833F, KeyframeAnimations.posVec(0.0F, 4.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.375F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, -0.21F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.posVec(0.0F, 4.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_ear",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -22.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -22.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_ear",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 22.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 22.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"tail",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(15.94102F, -8.42106F, 20.94102F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(15.94102F, 8.42106F, -20.94102F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(15.94102F, -8.42106F, 20.94102F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition CAMEL_SIT = AnimationDefinition.Builder.withLength(2.0F)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.3F, KeyframeAnimations.degreeVec(30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.8F, KeyframeAnimations.degreeVec(24.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.3F, KeyframeAnimations.posVec(0.0F, 0.0F, 1.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.8F, KeyframeAnimations.posVec(0.0F, -6.0F, 1.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(0.0F, -19.9F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(-30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(-30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(-90.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, -2.0F, 11.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, -2.0F, 11.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.7F, KeyframeAnimations.posVec(0.0F, -8.4F, 11.4F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(0.0F, -20.6F, 12.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(-30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(-30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(-90.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, -2.0F, 11.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, -2.0F, 11.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.7F, KeyframeAnimations.posVec(0.0F, -8.4F, 11.4F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(0.0F, -20.6F, 12.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(-10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.7F, KeyframeAnimations.degreeVec(-15.0F, -3.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.degreeVec(-65.0F, -9.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(-90.0F, -15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 1.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.7F, KeyframeAnimations.posVec(1.0F, -0.62F, 0.25F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.posVec(0.5F, -11.25F, 2.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(1.0F, -20.5F, 5.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(-10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.7F, KeyframeAnimations.degreeVec(-15.0F, 3.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.degreeVec(-65.0F, 9.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(-90.0F, 15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 1.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.7F, KeyframeAnimations.posVec(-1.0F, -0.62F, 0.25F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.posVec(-0.5F, -11.25F, 2.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(-1.0F, -20.5F, 5.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.7F, KeyframeAnimations.degreeVec(-27.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(-21.25F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"tail",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(5.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.7F, KeyframeAnimations.degreeVec(5.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.degreeVec(80.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(50.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition CAMEL_SIT_POSE = AnimationDefinition.Builder.withLength(1.0F)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -19.9F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, -19.9F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(-90.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -20.6F, 12.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, -20.6F, 12.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(-90.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -20.6F, 12.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, -20.6F, 12.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, -15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(-90.0F, -15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(1.0F, -20.5F, 5.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(1.0F, -20.5F, 5.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, 15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(-90.0F, 15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(-1.0F, -20.5F, 5.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(-1.0F, -20.5F, 5.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"tail",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(50.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(50.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition CAMEL_STANDUP = AnimationDefinition.Builder.withLength(2.6F)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.7F, KeyframeAnimations.degreeVec(-17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.8F, KeyframeAnimations.degreeVec(-17.83F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.3F, KeyframeAnimations.degreeVec(-5.83F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -19.9F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.7F, KeyframeAnimations.posVec(0.0F, -19.9F, -3.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.4F, KeyframeAnimations.posVec(0.0F, -12.76F, -4.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.8F, KeyframeAnimations.posVec(0.0F, -10.1F, -4.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.3F, KeyframeAnimations.posVec(0.0F, -2.9F, -2.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(-90.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.1F, KeyframeAnimations.degreeVec(-49.06F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.8F, KeyframeAnimations.degreeVec(-22.5F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.3F, KeyframeAnimations.degreeVec(-25.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -20.6F, 12.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, -20.6F, 8.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.1F, KeyframeAnimations.posVec(0.0F, -7.14F, 4.42F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.8F, KeyframeAnimations.posVec(0.0F, -1.27F, -1.33F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.3F, KeyframeAnimations.posVec(0.0F, -1.27F, -0.33F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(-90.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.1F, KeyframeAnimations.degreeVec(-49.06F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.8F, KeyframeAnimations.degreeVec(-22.5F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.3F, KeyframeAnimations.degreeVec(-25.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -20.6F, 12.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, -20.6F, 8.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.1F, KeyframeAnimations.posVec(0.0F, -7.14F, 4.42F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.8F, KeyframeAnimations.posVec(0.0F, -1.27F, -1.33F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.3F, KeyframeAnimations.posVec(0.0F, -1.27F, -0.33F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, -15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.3F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.6F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.1F, KeyframeAnimations.degreeVec(-60.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.degreeVec(35.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.2F, KeyframeAnimations.degreeVec(30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(1.0F, -20.5F, 5.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.3F, KeyframeAnimations.posVec(-2.0F, -20.5F, 3.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.6F, KeyframeAnimations.posVec(-2.0F, -20.5F, 3.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.1F, KeyframeAnimations.posVec(-2.0F, -10.5F, 2.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(-2.0F, -0.4F, -3.9F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.posVec(-2.0F, -4.3F, -9.8F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.2F, KeyframeAnimations.posVec(-1.0F, -2.5F, -5.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, 15.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.3F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.6F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.1F, KeyframeAnimations.degreeVec(-60.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.degreeVec(35.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.2F, KeyframeAnimations.degreeVec(30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(-1.0F, -20.5F, 5.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.3F, KeyframeAnimations.posVec(2.0F, -20.5F, 3.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.6F, KeyframeAnimations.posVec(2.0F, -20.5F, 3.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.1F, KeyframeAnimations.posVec(2.0F, -10.5F, 2.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(2.0F, -0.4F, -3.9F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.9F, KeyframeAnimations.posVec(2.0F, -4.3F, -9.8F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.2F, KeyframeAnimations.posVec(1.0F, -2.5F, -5.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.3F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.8F, KeyframeAnimations.degreeVec(55.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(65.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.4F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"tail",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(50.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.4F, KeyframeAnimations.degreeVec(55.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9F, KeyframeAnimations.degreeVec(55.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.6F, KeyframeAnimations.degreeVec(5.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition CAMEL_DASH = AnimationDefinition.Builder.withLength(0.5F)
 | |
| 		.looping()
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(5.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(5.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"tail",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(67.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(112.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(67.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(112.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(67.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(44.97272F, 1.76749F, -1.76833F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(44.97272F, 1.76749F, -1.76833F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(44.97272F, 1.76749F, -1.76833F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_front_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(44.97272F, -1.76749F, 1.76833F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(44.97272F, -1.76749F, 1.76833F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(-90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(-45.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(-45.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_hind_leg",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(-45.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(-45.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(90.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(-45.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_ear",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, -67.5F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, -67.5F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_ear",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 67.5F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 67.5F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition CAMEL_IDLE = AnimationDefinition.Builder.withLength(4.0F)
 | |
| 		.addAnimation(
 | |
| 			"tail",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(5.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.degreeVec(4.98107F, 0.43523F, -4.98107F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(3.0F, KeyframeAnimations.degreeVec(4.9872F, -0.29424F, 3.36745F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(4.0F, KeyframeAnimations.degreeVec(5.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(-2.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(4.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_ear",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(2.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -45.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.625F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 22.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.75F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -45.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.875F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 22.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(3.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -45.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_ear",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(2.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 45.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.625F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -22.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.75F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 45.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.875F, KeyframeAnimations.degreeVec(0.0F, 0.0F, -22.5F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(3.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 45.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| }
 |