Ir para conteúdo
  • 0

Pegar blocos próximos


Ygor

Pergunta

Olá,

estou criando o sistema de stack e gostaria de saber como fazer isso da maneira mais otimizada possível.

Se alguém puder me responder:

Como eu posso fazer para, a partir de uma localização, checar os blocos em um raio x e verificar se algum deles possui uma metadata específica?

 

Obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

só fazer 3 loops e verificar se block.hasMetadata()

ou se você for um pouco mais experiente pode usar funções recursivas

 

talvez isso ajude https://github.com/abandonadoRUSHyoutuber/ProjetosAbandonadosDoRUSH/blob/master/MambaAntiProtectSpawners/src/rush/antiprotectspawners/listener/BlockPlace.java

Link para o comentário
Compartilhar em outros sites

  • 0
1 minuto atrás, RUSHyoutuber disse:

só fazer 3 loops e verificar se block.hasMetadata()

ou se você for um pouco mais experiente pode usar funções recursivas

 

talvez isso ajude https://github.com/abandonadoRUSHyoutuber/ProjetosAbandonadosDoRUSH/blob/master/MambaAntiProtectSpawners/src/rush/antiprotectspawners/listener/BlockPlace.java

Essa tarefa não vai ficar muito lagada com 3 for?

Link para o comentário
Compartilhar em outros sites

  • 0

Ignore meu código sobre Nearby, li errado.

int radius = 7;
Location loc = ???;
World world = loc.getWorld();
for (int x = -radius; x < radius; x++) {
    for (int y = -radius; y < radius; y++) {
        for (int z = -radius; z < radius; z++) {
            Block block = world.getBlockAt(loc.getBlockX()+x, loc.getBlockY()+y, loc.getBlockZ()+z);
            if (block.hasMetadata("")) {
                
            }
        }
    }
}

(Créditos Scizzr)

Sobre o lag, pelo que eu vi, o Fast Async WorldEdit trabalha com NMS e bota blocos, tirar, entre outros sem quase nenhum travamento. De uma olhada como é feito.

 

Editado por RBN
Link para o comentário
Compartilhar em outros sites

  • 0
5 horas atrás, Ygor disse:

Essa tarefa não vai ficar muito lagada com 3 for?

O Minecraft em si já é lagado por natureza.... isso ai não vai fazer nada com o servidor, a não ser que você use um raio de 32 x 32 x 32 blocos a cada 1 segundos ai talvez faça alguma coisa.

Link para o comentário
Compartilhar em outros sites

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