Ir para conteúdo
  • 0

Como posso otimizar meu projeto?


jeanflores

Pergunta

Estou fazendo um plugin de facções, e estou verificando se as chunks ao redor do player estão livres ou dominados mas acredito que posso deixar essa função mais limpa e otimizada. Alguém pode me dar um exemplo de como posso melhorar meu projeto?

 

public static boolean hasNearbyTereno(final Chunk chunk) {
        final ArrayList<String> list = new ArrayList<String>();
        final String string = chunk.getWorld().getName().toLowerCase() + " " + chunk.getX() + " " + chunk.getZ();
        final String string2 = chunk.getWorld().getName().toLowerCase() + " " + (chunk.getX() + 1) + " " + chunk.getZ();
        final String string3 = chunk.getWorld().getName().toLowerCase() + " " + (chunk.getX() - 1) + " " + chunk.getZ();
        final String string4 = chunk.getWorld().getName().toLowerCase() + " " + (chunk.getX() - 1) + " " + (chunk.getZ() - 1);
        final String string5 = chunk.getWorld().getName().toLowerCase() + " " + (chunk.getX() + 1) + " " + (chunk.getZ() - 1);
        final String string6 = chunk.getWorld().getName().toLowerCase() + " " + (chunk.getX() - 1) + " " + (chunk.getZ() + 1);
        final String string7 = chunk.getWorld().getName().toLowerCase() + " " + (chunk.getX() + 1) + " " + (chunk.getZ() + 1);
        final String string8 = chunk.getWorld().getName().toLowerCase() + " " + chunk.getX() + " " + (chunk.getZ() + 1);
        final String string9 = chunk.getWorld().getName().toLowerCase() + " " + chunk.getX() + " " + (chunk.getZ() - 1);
        list.add(string);
        list.add(string2);
        list.add(string3);
        list.add(string4);
        list.add(string5);
        list.add(string6);
        list.add(string7);
        list.add(string8);
        list.add(string9);
        for (String str : list) {
            if (Main.claims.containsKey(str))
                return true;
        }
        return false;
    }

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

me chama no discord que eu te dou uma ajuda, é meio complicado explicar por texto, mas dando uma ideia geral...

você pode usar um for dentro de um for, tipo:

 

String pre = chunk.getWorld().getName().toLowerCase() + " ";
for (int x = chunk.getX()-1; x <= chunk.getX()+1; x++) {
  for (int z = chunk.getZ()-1; z <= chunk.getZ()+1; z++) {
  	if (Main.claims.containsKey(pre + x + " " + z) return true;
  }
}
return false;

 

na teoria deve funcionar, mas não testei

Link para o comentário
Compartilhar em outros sites

  • 0
DÚVIDA RESOLVIDA

O tópico foi marcado como resolvido por nossa equipe. Caso não tenha sanado a sua dúvida ainda, contate a staff para o tópico ser redirecionado de volta para a área anterior.

Equipe de Moderação,
Gamer's Board.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...