Ir para conteúdo
  • 0

Alguém me ajuda a fazer 1 sistema de radius para bloco?


TequilAxBr

Pergunta

Seguinte, estou criando um plugin para stackar spawners, só que to tentando pegar os blocos em volta de um bloco colocado, e não tá dando certo kk...

Quero fazer tipo o método getNerbyEntities(x,y,z); da class Entity.

 

Estou tentando fazer assim: https://bukkit.org/threads/find-block-in-radius.88298/

Código:

int radius = 5;
final Block block = event.getBlock(); //placed block
for (int x = -(radius); x <= radius; x ++)
{
  for (int y = -(radius); y <= radius; y ++)
  {
    for (int z = -(radius); z <= radius; z ++)
    {
      if (block.getRelative(x,y,z).getType() == Material.STONE_PLATE)
      {
          event.setCancelled(true);
          p.sendMessage(ChatColor.RED + "You cannot place a plate trap within five blocks of other plate traps!");
       }
     }
   }
}
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados


// 2 pra cima
// 2 pra baixo
// 2 pra +X
// 2 pra -X
// 2 pra +Z
// 2 pra -Z
int radius = 2;
Location loc = e.getBlock().getLocation();

int x1 = loc.getBlockX() - radius;
int z1 = loc.getBlockZ() - radius;
int y1 = loc.getBlockY() - radius;

int x2 = loc.getBlockX() + radius;
int z2 = loc.getBlockZ() + radius;
int y2 = loc.getBlockY() + radius;
    
int startX = Math.min(x1, x2);
int startY = Math.min(y1, y2);
int startZ = Math.min(z1, z2);

int endX = Math.max(x1, x2);
int endY = Math.max(y1, y2);
int endZ = Math.max(z1, z2);
    
for (int x = startX; x <= endX; x++) {
  for (int y = startY; y <= endY; y++) {
    for (int z = startZ; z <= endZ; z++) {
      if (loc.getWorld().getBlockAt(x, y, z).getType() == Material.SPONGE) {
        e.getPlayer().sendMessage("§cSe n pode colocar aki " + System.currentTimeMillis());
        e.setCancelled(true);
      }
    }
  }
}

@Edit

 

Corrigi uns bug loko

 

 

 

sHxkAtV.png

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

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