package animations;

import java.awt.image.BufferedImage;

import _texture.loader.Textures;
import utils.Animation;

/**  ------------- Nihilne ------------
    *** @author Mitch Weaver - 2016 ***
      ~~~~ All Rights Reserved ~~~~ */

public final class PlayerAnimations {
	
/******************* PLAYER DEATH *************************************************************************/
	private static final int DEATH_ANIMATION_SPEED = 16;
	public static final Animation[] deaths = {
			new Animation(DEATH_ANIMATION_SPEED, Textures.basePlayerGetHitAndDeath[8],  Textures.basePlayerGetHitAndDeath[9], Textures.basePlayerGetHitAndDeath[10], Textures.basePlayerGetHitAndDeath[11]),
			new Animation(DEATH_ANIMATION_SPEED, Textures.basePlayerGetHitAndDeath[12], Textures.basePlayerGetHitAndDeath[13], Textures.basePlayerGetHitAndDeath[14], Textures.basePlayerGetHitAndDeath[15]),
			new Animation(DEATH_ANIMATION_SPEED, Textures.basePlayerGetHitAndDeath[16], Textures.basePlayerGetHitAndDeath[17], Textures.basePlayerGetHitAndDeath[18], Textures.basePlayerGetHitAndDeath[19]),
			new Animation(DEATH_ANIMATION_SPEED, Textures.basePlayerGetHitAndDeath[20], Textures.basePlayerGetHitAndDeath[21], Textures.basePlayerGetHitAndDeath[22], Textures.basePlayerGetHitAndDeath[23]),
			new Animation(DEATH_ANIMATION_SPEED, Textures.basePlayerGetHitAndDeath[24], Textures.basePlayerGetHitAndDeath[25], Textures.basePlayerGetHitAndDeath[26], Textures.basePlayerGetHitAndDeath[27]),
			new Animation(DEATH_ANIMATION_SPEED, Textures.basePlayerGetHitAndDeath[28], Textures.basePlayerGetHitAndDeath[29], Textures.basePlayerGetHitAndDeath[30], Textures.basePlayerGetHitAndDeath[31]),
			new Animation(DEATH_ANIMATION_SPEED, Textures.basePlayerGetHitAndDeath[32], Textures.basePlayerGetHitAndDeath[33], Textures.basePlayerGetHitAndDeath[34], Textures.basePlayerGetHitAndDeath[35]),
			new Animation(DEATH_ANIMATION_SPEED, Textures.basePlayerGetHitAndDeath[36], Textures.basePlayerGetHitAndDeath[37], Textures.basePlayerGetHitAndDeath[38], Textures.basePlayerGetHitAndDeath[39]),
	};
/****************** END PLAYER DEATH *************************************************************************/
	
/**************** ANIMATION RATES *****************************************************************************/
	private static final int IDLE_ANIMATION_SPEED = 16, WALKS_ANIMATION_SPEED = 5, AXE_CHOP_RATE = 12, PICKAXE_MINE_ANIMATION_RATE = 14;
/*************** END ANIMATION RATES *************************************************************************/

	
/** ~~~~~~~~~~~~~~~~~~ BASE PLAYER ANIMATIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
	public final static PlayerAnimationSequence base = new PlayerAnimationSequence(
			// IDLES
			new Animation[] {
					new Animation(IDLE_ANIMATION_SPEED, Textures.playerSheet[4], Textures.playerSheet[5], Textures.playerSheet[6], Textures.playerSheet[7]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.playerSheet[20], Textures.playerSheet[21], Textures.playerSheet[22],Textures.playerSheet[23]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.playerSheet[12], Textures.playerSheet[13], Textures.playerSheet[14], Textures.playerSheet[15]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.playerSheet[28], Textures.playerSheet[29], Textures.playerSheet[30], Textures.playerSheet[31]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.playerSheet[0], Textures.playerSheet[1], Textures.playerSheet[2], Textures.playerSheet[3]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.playerSheet[24], Textures.playerSheet[25], Textures.playerSheet[26], Textures.playerSheet[27]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.playerSheet[8], Textures.playerSheet[9], Textures.playerSheet[10], Textures.playerSheet[11]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.playerSheet[16], Textures.playerSheet[17], Textures.playerSheet[18], Textures.playerSheet[19])
			},
			// WALKS
			new Animation[] {
					new Animation(WALKS_ANIMATION_SPEED, Textures.playerSheet[38], Textures.playerSheet[39], Textures.playerSheet[40], Textures.playerSheet[41], Textures.playerSheet[42], Textures.playerSheet[43]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.playerSheet[62], Textures.playerSheet[63], Textures.playerSheet[64], Textures.playerSheet[65], Textures.playerSheet[66], Textures.playerSheet[67]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.playerSheet[50], Textures.playerSheet[51], Textures.playerSheet[52], Textures.playerSheet[53], Textures.playerSheet[54], Textures.playerSheet[55]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.playerSheet[74], Textures.playerSheet[75], Textures.playerSheet[76], Textures.playerSheet[77], Textures.playerSheet[78], Textures.playerSheet[79]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.playerSheet[32], Textures.playerSheet[33], Textures.playerSheet[34], Textures.playerSheet[35], Textures.playerSheet[36], Textures.playerSheet[37]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.playerSheet[68], Textures.playerSheet[69], Textures.playerSheet[70], Textures.playerSheet[71], Textures.playerSheet[72], Textures.playerSheet[73]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.playerSheet[44], Textures.playerSheet[45], Textures.playerSheet[46], Textures.playerSheet[47], Textures.playerSheet[48], Textures.playerSheet[49]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.playerSheet[56], Textures.playerSheet[57], Textures.playerSheet[58], Textures.playerSheet[59], Textures.playerSheet[60], Textures.playerSheet[61])
			},
			// AXE CHOPS
			new Animation[] {
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[4],Textures.basePlayerAxeSheet[5],Textures.basePlayerAxeSheet[6],Textures.basePlayerAxeSheet[7]),
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[20],Textures.basePlayerAxeSheet[21],Textures.basePlayerAxeSheet[22],Textures.basePlayerAxeSheet[23]),
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[12],Textures.basePlayerAxeSheet[13],Textures.basePlayerAxeSheet[14],Textures.basePlayerAxeSheet[15]),
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[28],Textures.basePlayerAxeSheet[29],Textures.basePlayerAxeSheet[30],Textures.basePlayerAxeSheet[31]),
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[0],Textures.basePlayerAxeSheet[1],Textures.basePlayerAxeSheet[2],Textures.basePlayerAxeSheet[3]),
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[24],Textures.basePlayerAxeSheet[25],Textures.basePlayerAxeSheet[26],Textures.basePlayerAxeSheet[27]),
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[8],Textures.basePlayerAxeSheet[9],Textures.basePlayerAxeSheet[10],Textures.basePlayerAxeSheet[11]),
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[16],Textures.basePlayerAxeSheet[17],Textures.basePlayerAxeSheet[18],Textures.basePlayerAxeSheet[19]),
					new Animation(AXE_CHOP_RATE, Textures.basePlayerAxeSheet[28],Textures.basePlayerAxeSheet[29],Textures.basePlayerAxeSheet[30],Textures.basePlayerAxeSheet[31]),
			}, 
			// MINES
			new Animation[] {
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[4],Textures.basePlayerPickaxeSheet[5],Textures.basePlayerPickaxeSheet[6],Textures.basePlayerPickaxeSheet[7]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[20],Textures.basePlayerPickaxeSheet[21],Textures.basePlayerPickaxeSheet[22],Textures.basePlayerPickaxeSheet[23]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[12],Textures.basePlayerPickaxeSheet[13],Textures.basePlayerPickaxeSheet[14],Textures.basePlayerPickaxeSheet[15]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[28],Textures.basePlayerPickaxeSheet[29],Textures.basePlayerPickaxeSheet[30],Textures.basePlayerPickaxeSheet[31]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[0],Textures.basePlayerPickaxeSheet[1],Textures.basePlayerPickaxeSheet[2],Textures.basePlayerPickaxeSheet[3]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[24],Textures.basePlayerPickaxeSheet[25],Textures.basePlayerPickaxeSheet[26],Textures.basePlayerPickaxeSheet[27]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[8],Textures.basePlayerPickaxeSheet[9],Textures.basePlayerPickaxeSheet[10],Textures.basePlayerPickaxeSheet[11]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[16],Textures.basePlayerPickaxeSheet[17],Textures.basePlayerPickaxeSheet[18],Textures.basePlayerPickaxeSheet[19]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.basePlayerPickaxeSheet[28],Textures.basePlayerPickaxeSheet[29],Textures.basePlayerPickaxeSheet[30],Textures.basePlayerPickaxeSheet[31]),
			},
			// GET HITS
			new BufferedImage[] {
					Textures.basePlayerGetHitAndDeath[0],
					Textures.basePlayerGetHitAndDeath[1],
					Textures.basePlayerGetHitAndDeath[2],
					Textures.basePlayerGetHitAndDeath[3],
					Textures.basePlayerGetHitAndDeath[4],
					Textures.basePlayerGetHitAndDeath[5],
					Textures.basePlayerGetHitAndDeath[6],
					Textures.basePlayerGetHitAndDeath[7]
			}
	);
/** ~~~~~~~~~~~~~~~~~~~~~~ END BASE PLAYER ANIMATIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
	
	public final static PlayerAnimationSequence crudeAxe = new PlayerAnimationSequence(
			new Animation[] {
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudeAxeSheet[4], Textures.crudeAxeSheet[5], Textures.crudeAxeSheet[6], Textures.crudeAxeSheet[7]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudeAxeSheet[20], Textures.crudeAxeSheet[21], Textures.crudeAxeSheet[22],Textures.crudeAxeSheet[23]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudeAxeSheet[12], Textures.crudeAxeSheet[13], Textures.crudeAxeSheet[14], Textures.crudeAxeSheet[15]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudeAxeSheet[28], Textures.crudeAxeSheet[29], Textures.crudeAxeSheet[30], Textures.crudeAxeSheet[31]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudeAxeSheet[0], Textures.crudeAxeSheet[1], Textures.crudeAxeSheet[2], Textures.crudeAxeSheet[3]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudeAxeSheet[24], Textures.crudeAxeSheet[25], Textures.crudeAxeSheet[26], Textures.crudeAxeSheet[27]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudeAxeSheet[8], Textures.crudeAxeSheet[9], Textures.crudeAxeSheet[10], Textures.crudeAxeSheet[11]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudeAxeSheet[16], Textures.crudeAxeSheet[17], Textures.crudeAxeSheet[18], Textures.crudeAxeSheet[19])
			},
			
			new Animation[] {
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudeAxeSheet[38], Textures.crudeAxeSheet[39], Textures.crudeAxeSheet[40], Textures.crudeAxeSheet[41], Textures.crudeAxeSheet[42], Textures.crudeAxeSheet[43]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudeAxeSheet[62], Textures.crudeAxeSheet[63], Textures.crudeAxeSheet[64], Textures.crudeAxeSheet[65], Textures.crudeAxeSheet[66], Textures.crudeAxeSheet[67]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudeAxeSheet[50], Textures.crudeAxeSheet[51], Textures.crudeAxeSheet[52], Textures.crudeAxeSheet[53], Textures.crudeAxeSheet[54], Textures.crudeAxeSheet[55]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudeAxeSheet[74], Textures.crudeAxeSheet[75], Textures.crudeAxeSheet[76], Textures.crudeAxeSheet[77], Textures.crudeAxeSheet[78], Textures.crudeAxeSheet[79]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudeAxeSheet[32], Textures.crudeAxeSheet[33], Textures.crudeAxeSheet[34], Textures.crudeAxeSheet[35], Textures.crudeAxeSheet[36], Textures.crudeAxeSheet[37]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudeAxeSheet[68], Textures.crudeAxeSheet[69], Textures.crudeAxeSheet[70], Textures.crudeAxeSheet[71], Textures.crudeAxeSheet[72], Textures.crudeAxeSheet[73]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudeAxeSheet[44], Textures.crudeAxeSheet[45], Textures.crudeAxeSheet[46], Textures.crudeAxeSheet[47], Textures.crudeAxeSheet[48], Textures.crudeAxeSheet[49]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudeAxeSheet[56], Textures.crudeAxeSheet[57], Textures.crudeAxeSheet[58], Textures.crudeAxeSheet[59], Textures.crudeAxeSheet[60], Textures.crudeAxeSheet[61])
			},
			
			new Animation[] {
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[4],Textures.crudeAxeChopSheet[5],Textures.crudeAxeChopSheet[6],Textures.crudeAxeChopSheet[7]),
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[20],Textures.crudeAxeChopSheet[21],Textures.crudeAxeChopSheet[22],Textures.crudeAxeChopSheet[23]),
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[12],Textures.crudeAxeChopSheet[13],Textures.crudeAxeChopSheet[14],Textures.crudeAxeChopSheet[15]),
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[28],Textures.crudeAxeChopSheet[29],Textures.crudeAxeChopSheet[30],Textures.crudeAxeChopSheet[31]),
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[0],Textures.crudeAxeChopSheet[1],Textures.crudeAxeChopSheet[2],Textures.crudeAxeChopSheet[3]),
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[24],Textures.crudeAxeChopSheet[25],Textures.crudeAxeChopSheet[26],Textures.crudeAxeChopSheet[27]),
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[8],Textures.crudeAxeChopSheet[9],Textures.crudeAxeChopSheet[10],Textures.crudeAxeChopSheet[11]),
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[16],Textures.crudeAxeChopSheet[17],Textures.crudeAxeChopSheet[18],Textures.crudeAxeChopSheet[19]),
					new Animation(AXE_CHOP_RATE, Textures.crudeAxeChopSheet[20],Textures.crudeAxeChopSheet[21],Textures.crudeAxeChopSheet[22],Textures.crudeAxeChopSheet[23]),
			},
			null,
			// GET HITS
			new BufferedImage[] {
					Textures.crudeAxeSheet[80],
					Textures.crudeAxeSheet[81],
					Textures.crudeAxeSheet[82],
					Textures.crudeAxeSheet[83],
					Textures.crudeAxeSheet[84],
					Textures.crudeAxeSheet[85],
					Textures.crudeAxeSheet[86],
					Textures.crudeAxeSheet[87]
			}
	);
	
	public final static PlayerAnimationSequence crudePickaxe = new PlayerAnimationSequence(
			new Animation[] {
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudePickaxeSheet[4], Textures.crudePickaxeSheet[5], Textures.crudePickaxeSheet[6], Textures.crudePickaxeSheet[7]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudePickaxeSheet[20], Textures.crudePickaxeSheet[21], Textures.crudePickaxeSheet[22],Textures.crudePickaxeSheet[23]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudePickaxeSheet[12], Textures.crudePickaxeSheet[13], Textures.crudePickaxeSheet[14], Textures.crudePickaxeSheet[15]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudePickaxeSheet[28], Textures.crudePickaxeSheet[29], Textures.crudePickaxeSheet[30], Textures.crudePickaxeSheet[31]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudePickaxeSheet[0], Textures.crudePickaxeSheet[1], Textures.crudePickaxeSheet[2], Textures.crudePickaxeSheet[3]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudePickaxeSheet[24], Textures.crudePickaxeSheet[25], Textures.crudePickaxeSheet[26], Textures.crudePickaxeSheet[27]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudePickaxeSheet[8], Textures.crudePickaxeSheet[9], Textures.crudePickaxeSheet[10], Textures.crudePickaxeSheet[11]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.crudePickaxeSheet[16], Textures.crudePickaxeSheet[17], Textures.crudePickaxeSheet[18], Textures.crudePickaxeSheet[19])
			},
			
			new Animation[] {
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudePickaxeSheet[38], Textures.crudePickaxeSheet[39], Textures.crudePickaxeSheet[40], Textures.crudePickaxeSheet[41], Textures.crudePickaxeSheet[42], Textures.crudePickaxeSheet[43]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudePickaxeSheet[62], Textures.crudePickaxeSheet[63], Textures.crudePickaxeSheet[64], Textures.crudePickaxeSheet[65], Textures.crudePickaxeSheet[66], Textures.crudePickaxeSheet[67]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudePickaxeSheet[50], Textures.crudePickaxeSheet[51], Textures.crudePickaxeSheet[52], Textures.crudePickaxeSheet[53], Textures.crudePickaxeSheet[54], Textures.crudePickaxeSheet[55]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudePickaxeSheet[74], Textures.crudePickaxeSheet[75], Textures.crudePickaxeSheet[76], Textures.crudePickaxeSheet[77], Textures.crudePickaxeSheet[78], Textures.crudePickaxeSheet[79]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudePickaxeSheet[32], Textures.crudePickaxeSheet[33], Textures.crudePickaxeSheet[34], Textures.crudePickaxeSheet[35], Textures.crudePickaxeSheet[36], Textures.crudePickaxeSheet[37]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudePickaxeSheet[68], Textures.crudePickaxeSheet[69], Textures.crudePickaxeSheet[70], Textures.crudePickaxeSheet[71], Textures.crudePickaxeSheet[72], Textures.crudePickaxeSheet[73]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudePickaxeSheet[44], Textures.crudePickaxeSheet[45], Textures.crudePickaxeSheet[46], Textures.crudePickaxeSheet[47], Textures.crudePickaxeSheet[48], Textures.crudePickaxeSheet[49]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.crudePickaxeSheet[56], Textures.crudePickaxeSheet[57], Textures.crudePickaxeSheet[58], Textures.crudePickaxeSheet[59], Textures.crudePickaxeSheet[60], Textures.crudePickaxeSheet[61])
			},
			
			null,
			
			new Animation[] {
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[4],Textures.crudePickaxeMineSheet[5],Textures.crudePickaxeMineSheet[6],Textures.crudePickaxeMineSheet[7]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[20],Textures.crudePickaxeMineSheet[21],Textures.crudePickaxeMineSheet[22],Textures.crudePickaxeMineSheet[23]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[12],Textures.crudePickaxeMineSheet[13],Textures.crudePickaxeMineSheet[14],Textures.crudePickaxeMineSheet[15]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[28],Textures.crudePickaxeMineSheet[29],Textures.crudePickaxeMineSheet[30],Textures.crudePickaxeMineSheet[31]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[0],Textures.crudePickaxeMineSheet[1],Textures.crudePickaxeMineSheet[2],Textures.crudePickaxeMineSheet[3]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[24],Textures.crudePickaxeMineSheet[25],Textures.crudePickaxeMineSheet[26],Textures.crudePickaxeMineSheet[27]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[8],Textures.crudePickaxeMineSheet[9],Textures.crudePickaxeMineSheet[10],Textures.crudePickaxeMineSheet[11]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[16],Textures.crudePickaxeMineSheet[17],Textures.crudePickaxeMineSheet[18],Textures.crudePickaxeMineSheet[19]),
					new Animation(PICKAXE_MINE_ANIMATION_RATE, Textures.crudePickaxeMineSheet[20],Textures.crudePickaxeMineSheet[21],Textures.crudePickaxeMineSheet[22],Textures.crudePickaxeMineSheet[23]),
			},
			
			// GET HITS
			new BufferedImage[] {
					Textures.crudePickaxeSheet[80],
					Textures.crudePickaxeSheet[81],
					Textures.crudePickaxeSheet[82],
					Textures.crudePickaxeSheet[83],
					Textures.crudePickaxeSheet[84],
					Textures.crudePickaxeSheet[85],
					Textures.crudePickaxeSheet[86],
					Textures.crudePickaxeSheet[87]
			}
	);
	
	public static final PlayerAnimationSequence torch = new PlayerAnimationSequence(
			new Animation[] {
					new Animation(IDLE_ANIMATION_SPEED, Textures.torchSheet[4], Textures.torchSheet[5], Textures.torchSheet[6], Textures.torchSheet[7]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.torchSheet[20], Textures.torchSheet[21], Textures.torchSheet[22],Textures.torchSheet[23]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.torchSheet[12], Textures.torchSheet[13], Textures.torchSheet[14], Textures.torchSheet[15]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.torchSheet[28], Textures.torchSheet[29], Textures.torchSheet[30], Textures.torchSheet[31]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.torchSheet[0], Textures.torchSheet[1], Textures.torchSheet[2], Textures.torchSheet[3]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.torchSheet[24], Textures.torchSheet[25], Textures.torchSheet[26], Textures.torchSheet[27]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.torchSheet[8], Textures.torchSheet[9], Textures.torchSheet[10], Textures.torchSheet[11]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.torchSheet[16], Textures.torchSheet[17], Textures.torchSheet[18], Textures.torchSheet[19])
			},
			
			new Animation[] {
					new Animation(WALKS_ANIMATION_SPEED, Textures.torchSheet[38], Textures.torchSheet[39], Textures.torchSheet[40], Textures.torchSheet[41], Textures.torchSheet[42], Textures.torchSheet[43]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.torchSheet[62], Textures.torchSheet[63], Textures.torchSheet[64], Textures.torchSheet[65], Textures.torchSheet[66], Textures.torchSheet[67]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.torchSheet[50], Textures.torchSheet[51], Textures.torchSheet[52], Textures.torchSheet[53], Textures.torchSheet[54], Textures.torchSheet[55]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.torchSheet[74], Textures.torchSheet[75], Textures.torchSheet[76], Textures.torchSheet[77], Textures.torchSheet[78], Textures.torchSheet[79]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.torchSheet[32], Textures.torchSheet[33], Textures.torchSheet[34], Textures.torchSheet[35], Textures.torchSheet[36], Textures.torchSheet[37]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.torchSheet[68], Textures.torchSheet[69], Textures.torchSheet[70], Textures.torchSheet[71], Textures.torchSheet[72], Textures.torchSheet[73]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.torchSheet[44], Textures.torchSheet[45], Textures.torchSheet[46], Textures.torchSheet[47], Textures.torchSheet[48], Textures.torchSheet[49]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.torchSheet[56], Textures.torchSheet[57], Textures.torchSheet[58], Textures.torchSheet[59], Textures.torchSheet[60], Textures.torchSheet[61])
			},
			
			null, 
			null,
			// GET HITS
			new BufferedImage[] {
					Textures.torchSheet[80],
					Textures.torchSheet[81],
					Textures.torchSheet[82],
					Textures.torchSheet[83],
					Textures.torchSheet[84],
					Textures.torchSheet[85],
					Textures.torchSheet[86],
					Textures.torchSheet[87]
			}
	);
	
	private static int a = 0;
	public static final PlayerAnimationSequence goblinSpear = new PlayerAnimationSequence(
			new Animation[] {
					new Animation(IDLE_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(IDLE_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++])
			},
			
			new Animation[] {
					new Animation(WALKS_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++]),
					new Animation(WALKS_ANIMATION_SPEED, Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++], Textures.goblinSpearSheet[a++])
			},
			
			null, 
			null,
			// GET HITS // NOTE: the + 32 is because i put the attack textures before get hits on this one by accident
			new BufferedImage[] {
					Textures.goblinSpearSheet[a++ + 32],
					Textures.goblinSpearSheet[a++ + 32],
					Textures.goblinSpearSheet[a++ + 32],
					Textures.goblinSpearSheet[a++ + 32],
					Textures.goblinSpearSheet[a++ + 32],
					Textures.goblinSpearSheet[a++ + 32],
					Textures.goblinSpearSheet[a++ + 32],
					Textures.goblinSpearSheet[a++ + 32]
			}
	);
			
		
	
}
