178 lines
		
	
	
	
		
			8.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			178 lines
		
	
	
	
		
			8.2 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 BatAnimation {
 | |
| 	public static final AnimationDefinition BAT_RESTING = AnimationDefinition.Builder.withLength(0.5F)
 | |
| 		.looping()
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(180.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"head",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION, new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(180.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION, new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.5F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"feet",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_wing",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, -10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_wing",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION, new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 1.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_wing_tip",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, -120.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_wing",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 10.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_wing",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.POSITION, new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 1.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_wing_tip",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 120.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| 	public static final AnimationDefinition BAT_FLYING = AnimationDefinition.Builder.withLength(0.5F)
 | |
| 		.looping()
 | |
| 		.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.125F, KeyframeAnimations.degreeVec(20.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, 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.125F, KeyframeAnimations.posVec(0.0F, 2.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.posVec(0.0F, 1.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.4583F, KeyframeAnimations.posVec(0.0F, -1.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"body",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(40.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(52.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(40.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.125F, KeyframeAnimations.posVec(0.0F, 2.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.posVec(0.0F, 1.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.4583F, KeyframeAnimations.posVec(0.0F, -1.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"feet",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(-21.25F, 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.5F, KeyframeAnimations.degreeVec(10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_wing",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 85.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(0.0F, -55.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, 50.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(0.0F, 70.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 85.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"right_wing_tip",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 10.5F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.0417F, KeyframeAnimations.degreeVec(0.0F, 65.5F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.2083F, KeyframeAnimations.degreeVec(0.0F, -135.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, 10.5F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_wing",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, -85.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.125F, KeyframeAnimations.degreeVec(0.0F, 55.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.25F, KeyframeAnimations.degreeVec(0.0F, -50.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.375F, KeyframeAnimations.degreeVec(0.0F, -70.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, -85.0F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.addAnimation(
 | |
| 			"left_wing_tip",
 | |
| 			new AnimationChannel(
 | |
| 				AnimationChannel.Targets.ROTATION,
 | |
| 				new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, -10.5F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.0417F, KeyframeAnimations.degreeVec(0.0F, -65.5F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.2083F, KeyframeAnimations.degreeVec(0.0F, 135.0F, 0.0F), AnimationChannel.Interpolations.LINEAR),
 | |
| 				new Keyframe(0.5F, KeyframeAnimations.degreeVec(0.0F, -10.5F, 0.0F), AnimationChannel.Interpolations.LINEAR)
 | |
| 			)
 | |
| 		)
 | |
| 		.build();
 | |
| }
 |