Ir para conteúdo
  • 0

Relative Metadata um bloco de distância


Ducky

Pergunta

Fala rapiazada, estou com uma dúvida.. Quero pegar o metadata do bloco que eu coloquei de distância, achou dficiil?! Vou desenhar!

 

QW7mqtG.png

 

 

Tentei esses métodos:

 

if (!e.getBlock().getRelative(BlockFace.NORTH).getMetadata("nome").equals(p.getName())) {

 

Porém nao foi :(

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

Cara...

 

equals numa classe, vai retornar uma classe igual, nesse caso retorna uma List. É questão de lógica e observação.

 

Uso correto:

if (!e.getBlock().getRelative(BlockFace.NORTH).getMetadata("nome").get(0).asString().equals(p.getName())){

Obs: use get(0) caso tenha apenas UMA metadata no bloco. Pois é uma lista de metadata.

Link para o comentário
Compartilhar em outros sites

Cara...

 

equals numa classe, vai retornar uma classe igual, nesse caso retorna uma List. É questão de lógica e observação.

 

Uso correto:

if (!e.getBlock().getRelative(BlockFace.NORTH).getMetadata("nome").get(0).asString().equals(p.getName())){

Obs: use get(0) caso tenha apenas UMA metadata no bloco. Pois é uma lista de metadata.

Erro meu, esqueci de avisar:

 

 

List<MetadataValue> lapis = e.getBlock().getRelative(BlockFace.UP).getMetadata("nome");
!lapis.get(0).value().equals(p.getName())) {

 

Também não funcionou 

Link para o comentário
Compartilhar em outros sites

Cara, pelo oque eu sei a BlockFace são as faces do Bloco(cubo) como o exemplo:
 
FpAbsGhgSa_h_9Fa7UWH-A.png

Não o bloco dos lados do bloco base


Para pegar o bloco do lado utilize:


 

Location esquerda = new Location((mundo do bloco), (loc x do bloco), (loc y do bloco), (loc z do bloco + 1));
Block b_esquerda = esquerda.getBlock();
if(b_esquerda..getMetadata("nome").get(0).asString().equals(p.getName())) {
  // se tive meta faz algo
} else {
  // se não tive meta faz algo
}

Codigo feito a mão pode conter erros!

Link para o comentário
Compartilhar em outros sites

Cara, pelo oque eu sei a BlockFace são as faces do Bloco(cubo) como o exemplo:

 

FpAbsGhgSa_h_9Fa7UWH-A.png

 

Não o bloco dos lados do bloco base

 

 

Para pegar o bloco do lado utilize:

 

 

 

Location esquerda = new Location((mundo do bloco), (loc x do bloco), (loc y do bloco), (loc z do bloco + 1));
Block b_esquerda = esquerda.getBlock();
if(b_esquerda..getMetadata("nome").get(0).asString().equals(p.getName())) {
  // se tive meta faz algo
} else {
  // se não tive meta faz algo
}

Codigo feito a mão pode conter erros!

Isso eu sei meu desenho está falando isso k

Porém não estou usando location nos blocos e muito menos world, por isso no evento tem que ser por relative

Link para o comentário
Compartilhar em outros sites

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