content: package com.github.alexthe666.rats.client.model.entity;
  
  import com.github.alexthe666.citadel.animation.IAnimatedEntity;
  import com.github.alexthe666.rats.server.entity.mount.RatBeastMount;
  
  public class RatBeastMountModel<T extends RatBeastMount> extends FeralRatlanteanModel<T> {
  	@Override
  	public void animate(IAnimatedEntity entity) {
  		this.resetToDefaultPose();
  		this.animator.update(entity);
  		this.animator.setAnimation(RatBeastMount.ANIMATION_BITE);
  		this.animator.startKeyframe(5);
  		this.rotateFrom(this.lowerbody, 0, 10, 0);
  		this.rotateFrom(this.midBody, 0, 10, 0);
  		this.rotateFrom(this.frontBody, 0, -30, 0);
  		this.rotateFrom(this.neck, 0, -30, 0);
  		this.rotateFrom(this.head1, 0, 60, 0);
  		this.rotateFrom(this.frontRightFoot, 20, 0, 0);
  		this.rotateFrom(this.frontLeftFoot, 20, 0, 0);
  		this.animator.move(this.frontRightLeg, 0, 1, 0);
  		this.animator.move(this.frontLeftLeg, 0, 1, 0);
  		this.animator.move(this.lowerbody, 0, 0, 2);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(5);
  		this.animator.move(lowerbody, 0, 0, -4);
  		this.rotateFrom(this.neck, -5, -5, 0);
  		this.rotateFrom(this.head1, -30, 5, 0);
  		this.rotateFrom(this.mouth1, 40, 5, 0);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(2);
  		this.animator.move(this.lowerbody, 0, 0, -1);
  		this.rotateFrom(this.neck, -5, -5, 0);
  		this.rotateFrom(this.head1, -20, 5, 0);
  		this.rotateFrom(this.mouth1, -10, 5, 0);
  		this.animator.endKeyframe();
  		this.animator.resetKeyframe(3);
  		this.animator.setAnimation(RatBeastMount.ANIMATION_SNIFF);
  		this.animator.startKeyframe(5);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(-5));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontLeftFoot, 150, 0, 0);
  		this.rotateFrom(this.frontRightFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, 10, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(2);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(5));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontLeftFoot, 150, 0, 0);
  		this.rotateFrom(this.frontRightFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, -20, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(2);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(-5));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontLeftFoot, 150, 0, 0);
  		this.rotateFrom(this.frontRightFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, 20, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(2);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(5));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontLeftFoot, 150, 0, 0);
  		this.rotateFrom(this.frontRightFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, -20, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(2);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(-5));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontLeftFoot, 150, 0, 0);
  		this.rotateFrom(this.frontRightFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, 20, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(2);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(5));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontLeftFoot, 150, 0, 0);
  		this.rotateFrom(this.frontRightFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, -20, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.resetKeyframe(5);
  		this.animator.setAnimation(RatBeastMount.ANIMATION_SLASH);
  		this.animator.startKeyframe(5);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(-25));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontLeftLeg, -5, 0, -75);
  		this.rotateFrom(this.frontLeftHeel, -30, 0, 0);
  		this.rotateFrom(this.frontRightLeg, 50, 0, 15);
  		this.animator.rotate(this.frontLeftFoot, (float) Math.toRadians(-10), (float) Math.toRadians(-45), (float) Math.toRadians(45));
  		this.rotateFrom(this.frontRightFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, 60, 0, 10);
  		this.rotateFrom(this.mouth1, 30, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(3);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(25));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontLeftLeg, -5, 0, 45);
  		this.rotateFrom(this.frontLeftHeel, -30, 0, 0);
  		this.rotateFrom(this.frontRightLeg, 50, 0, 15);
  		this.animator.rotate(this.frontLeftFoot, (float) Math.toRadians(-10), (float) Math.toRadians(-45), (float) Math.toRadians(45));
  		this.rotateFrom(this.frontRightFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, 60, 0, -10);
  		this.rotateFrom(this.mouth1, 30, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(5);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(25));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontRightLeg, -5, 0, 75);
  		this.rotateFrom(this.frontRightHeel, -30, 0, 0);
  		this.rotateFrom(this.frontLeftLeg, 50, 0, -15);
  		this.animator.rotate(this.frontRightFoot, (float) Math.toRadians(-10), (float) Math.toRadians(45), (float) Math.toRadians(-45));
  		this.rotateFrom(this.frontLeftFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, 30, 0, -10);
  		this.rotateFrom(this.mouth1, 60, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.startKeyframe(3);
  		this.animator.rotate(this.lowerbody, (float) Math.toRadians(-40), 0, 0);
  		this.animator.rotate(this.midBody, (float) Math.toRadians(-15), 0, 0);
  		this.animator.rotate(this.frontBody, (float) Math.toRadians(-5), 0, (float) Math.toRadians(-25));
  		this.animator.rotate(this.backLeftThigh, (float) Math.toRadians(40), 0, 0);
  		this.animator.rotate(this.backRightThigh, (float) Math.toRadians(40), 0, 0);
  		this.rotateFrom(this.frontRightLeg, -5, 0, -45);
  		this.rotateFrom(this.frontRightHeel, -30, 0, 0);
  		this.rotateFrom(this.frontLeftLeg, 50, 0, -15);
  		this.animator.rotate(this.frontRightFoot, (float) Math.toRadians(-10), (float) Math.toRadians(45), (float) Math.toRadians(-45));
  		this.rotateFrom(this.frontLeftFoot, 150, 0, 0);
  		this.rotateFrom(this.tail1, 20, 0, 0);
  		this.rotateFrom(this.head1, 60, 0, 10);
  		this.rotateFrom(this.mouth1, 30, 0, 0);
  		this.animator.move(this.lowerbody, 0, -3, -1);
  		this.animator.endKeyframe();
  		this.animator.resetKeyframe(9);
  	}
  }
  