396 lines
		
	
	
	
		
			19 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			396 lines
		
	
	
	
		
			19 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 BreezeAnimation {
 | |
| 	public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(2.0F)
 | |
| 		.looping()
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.posVec(0.5F, 0.0F, -0.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.posVec(-0.5F, 0.0F, -0.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.25F, KeyframeAnimations.posVec(-0.5F, 0.0F, 0.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.75F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.5F, 0.0F, -0.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(-0.5F, 0.0F, -0.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(-0.5F, 0.0F, 0.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.5F, KeyframeAnimations.posVec(0.5F, 0.0F, 0.5F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(0.5F, 0.0F, -0.5F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(1.0F, KeyframeAnimations.posVec(0.0F, 1.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"rods",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.degreeVec(0.0F, 1080.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"rods",
 | |
| 			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, -1.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(2.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition SHOOT = AnimationDefinition.Builder.withLength(1.125F)
 | |
| 		.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.25F, KeyframeAnimations.degreeVec(-12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(-12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9167F, KeyframeAnimations.degreeVec(5.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.posVec(0.0F, -2.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.7917F, KeyframeAnimations.posVec(0.0F, -1.0F, 2.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9583F, KeyframeAnimations.posVec(0.0F, -1.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_bottom",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9167F, KeyframeAnimations.degreeVec(-10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.posVec(0.0F, 0.0F, 5.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, 0.0F, 6.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9167F, KeyframeAnimations.posVec(0.0F, 0.0F, -2.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(15.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(15.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9167F, KeyframeAnimations.degreeVec(-10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.posVec(0.0F, 0.0F, 3.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.8333F, KeyframeAnimations.posVec(0.0F, 0.0F, 4.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9583F, KeyframeAnimations.posVec(0.0F, 0.0F, -2.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.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.25F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.75F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9167F, KeyframeAnimations.degreeVec(-2.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.125F, 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(0.25F, KeyframeAnimations.posVec(0.0F, 3.0F, 5.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.8333F, KeyframeAnimations.posVec(0.0F, 3.0F, 6.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.9583F, KeyframeAnimations.posVec(0.0F, 3.0F, -1.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(1.125F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"rods",
 | |
| 			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, 360.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition JUMP = AnimationDefinition.Builder.withLength(0.5F)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.posVec(0.0F, 11.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.2083F, KeyframeAnimations.degreeVec(-19.25F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.SCALE,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.scaleVec(1.0, 1.3F, 1.0), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_bottom",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 90.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 360.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_bottom",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.SCALE,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.scaleVec(1.0, 1.1F, 1.0), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			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, 180.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -6.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.posVec(0.0F, 2.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			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, 90.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.posVec(0.0F, 2.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"rods",
 | |
| 			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, 360.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition INHALE = AnimationDefinition.Builder.withLength(2.0F)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			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, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.posVec(0.0F, -10.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.5F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.SCALE,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_bottom",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.degreeVec(0.0F, 90.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_bottom",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.SCALE,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.scaleVec(1.0, 1.0, 1.0), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			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, -6.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.posVec(0.0F, -6.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			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, -5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.posVec(0.0F, -5.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"rods",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.625F, KeyframeAnimations.degreeVec(0.0F, 360.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition SLIDE = AnimationDefinition.Builder.withLength(0.2F)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.2F, KeyframeAnimations.posVec(0.0F, 0.0F, -6.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.2F, KeyframeAnimations.posVec(0.0F, 0.0F, -3.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.2F, KeyframeAnimations.posVec(0.0F, 0.0F, -2.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition SLIDE_BACK = AnimationDefinition.Builder.withLength(0.1F)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, -6.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.1F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_mid",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, -3.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.1F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"wind_top",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, -2.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.1F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| }
 |