Como eu mudo o valor de uma variável primitiva por método

Pessoal estou aqui no eclipse fazendo o curso da danki code de jogos e quero fazer uma otimização no código, mas pra isso eu fazer um método que uma variável do tipo inteiro. Irei mandar só a parte necessária:

public class Player extends Entity {

private int frames = 0, maxframes = 5, index = 0, maxindex = 3;// manipulação de sprite e fps
private int damegedframes = 0, damegedmaxframes = 5, damegedindex = 0, damegedmaxindex = 3;
private int lifeframes = 0, lifemaxframes = 5, lifeindex = 0, lifemaxindex = 3;
private boolean moved = false;// se o player estáo ou não se movendo

public void tick() {// todo o movimento

	if (moved) {// caso o player estiver se mexendo
		amimação(frames, maxframes, index, maxindex);
		amimação(damegedframes, damegedmaxframes, damegedindex, damegedmaxindex);
		amimação(lifeframes, lifemaxframes, lifeindex, lifemaxindex);
					/*frames++;// aumenta o contador
		if (frames == maxframes) {// se o contador atingir o limite certo
			frames = 0;// ele zera
			index++;// o sprite muda
			if (index > maxindex) {// se o sprite atingir o quantidade maxima
				index = 0;// ele zera
			}
		}*/
	} else {// se não houver movimento
		frames = 0;// zera os dois
		index = 0;
	}

}

public void amimação(int frames, int maxframes, int index, int maxindex) {
	frames++;// aumenta o contador
	if (frames == maxframes) {// se o contador atingir o limite certo
		frames = 0;// ele zera
		index++;// o sprite muda
		if (index > maxindex) {// se o sprite atingir o quantidade maxima
			index = 0;// ele zera
		}
	}
}

aqui eu só quero que o método mude o valor da variável que é passada pra ele pra que eu n precise repetir isso

	if (frames == maxframes) {// se o contador atingir o limite certo
		frames = 0;// ele zera
		index++;// o sprite muda
		if (index > maxindex) {// se o sprite atingir o quantidade maxima
			index = 0;// ele zera
		}
	}

várias vezer só mudando o nome da variável.

sei que no c/c++ posso mudar a variável por ponteiro com “&” e “*”, mas no java acho que não posso fazer isso.

Onde e como você chama esse método?

if (moved) {// caso o player estiver se mexendo
amimação(frames, maxframes, index, maxindex);
amimação(damegedframes, damegedmaxframes, damegedindex, damegedmaxindex);
amimação(lifeframes, lifemaxframes, lifeindex, lifemaxindex);

aqui
animação();

Mas o método animação já não cumpre esse papel de alterar o frame pra fazer a animação de movendo e não movendo? você não quer ter que repetir esse processo pra cada status do personagem(ao receber dano, e vida cheia ou não etc…)?

Mas o método animação já não cumpre esse papel de alterar o frame pra fazer a animação de movendo e não movendo?
não, pq o método animação acaba não mudando as variaveis que foram passadas pra ele.

você não quer ter que repetir esse processo pra cada status do personagem(ao receber dano, e vida cheia ou não etc…)?
exatamente.

se cada Frame é uma imagem diferente, você pode simplesmente juntar tudo em frame e determinar até que frame vai cada situação, sendo maxframe =5 como default, se ele recebe dano frame=6, maxframe=10, etc, vc cria uma faixa onde os frames vão variando pra cada estado isso dentro dessa mesma estrutura.

obs: se vc está querendo enxugar o código por perfomance reduzir os ifs com essa quantidade que tem, não vai fzr muita diferença.