public Player(Vec2 pos, Vec2 dim) {
		super(pos, dim);

		textures = new Texture[Animation.values().length][];
		textures[Animation.WALKING.ordinal()] = new Texture[8];
		for (int i = 0; i < textures[Animation.WALKING.ordinal()].length; i++) {
			try {
				textures[Animation.WALKING.ordinal()][i] = TextureLoader.getTexture("PNG",
						ResourceLoader.getResourceAsStream("assets/textures/playerWalk" + i + ".png"));
				textures[Animation.WALKING.ordinal()][i].bind();
				GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
				GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		textures[Animation.FALLING.ordinal()] = new Texture[4];
		for (int i = 0; i < textures[Animation.FALLING.ordinal()].length; i++) {
			try {
				textures[Animation.FALLING.ordinal()][i] = TextureLoader.getTexture("PNG",
						ResourceLoader.getResourceAsStream("assets/textures/playerFalling" + i + ".png"));
				textures[Animation.FALLING.ordinal()][i].bind();
				GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
				GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		textures[Animation.LANDING.ordinal()] = new Texture[5];
		for (int i = 0; i < textures[Animation.LANDING.ordinal()].length; i++) {
			try {
				textures[Animation.LANDING.ordinal()][i] = TextureLoader.getTexture("PNG",
						ResourceLoader.getResourceAsStream("assets/textures/playerLand" + i + ".png"));
				textures[Animation.LANDING.ordinal()][i].bind();
				GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
				GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		textures[Animation.JUMPING.ordinal()] = new Texture[2];
		for (int i = 0; i < textures[Animation.JUMPING.ordinal()].length; i++) {
			try {
				textures[Animation.JUMPING.ordinal()][i] = TextureLoader.getTexture("PNG",
						ResourceLoader.getResourceAsStream("assets/textures/playerJump" + i + ".png"));
				textures[Animation.JUMPING.ordinal()][i].bind();
				GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
				GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		setAnimation(Animation.WALKING);
		facingRight = true;
		r = g = b = 1;
	}