Testing block face not working

Discussion in 'Spigot Plugin Development' started by fer112233, May 10, 2016.

  1. Hi, my code:
    Code (Text):
      public void tunel(BlockBreakEvent event){
          Player p = event.getPlayer();
          Block b = event.getBlock();
          BlockFace f = p.getLocation().getBlock().getFace(b);
                          if (f == BlockFace.UP){
                              Block b1 = l.getWorld().getBlockAt(x - 1, y, z + 1);
                              Block b2 = l.getWorld().getBlockAt(x - 1, y, z);
                              Block b3 = l.getWorld().getBlockAt(x - 1, y, z - 1);
                              Block b4 = l.getWorld().getBlockAt(x, y, z + 1);
                              Block b5 = b;
                              Block b6 = l.getWorld().getBlockAt(x, y, z - 1);
                              Block b7 = l.getWorld().getBlockAt(x + 1, y, z - 1);
                              Block b8 = l.getWorld().getBlockAt(x + 1, y, z);
                              Block b9 = l.getWorld().getBlockAt(x + 1, y, z + 1);
                              ArrayList<Block> lista = new ArrayList<>();
                              lista.add(b1);
                              lista.add(b2);
                              lista.add(b3);
                              lista.add(b4);
                              lista.add(b5);
                              lista.add(b6);
                              lista.add(b7);
                              lista.add(b8);
                              lista.add(b9);
                              for (Block bl : lista){
                                  if (bl != null){
                                      bl.breakNaturally();
                                  }
                              }
                             
                          }
    }
    The problem is testting the block face, it dont works, any error on the console
     
  2. Can you post the stacktace for the error you are getting?
     
    • Like Like x 1
  3. There are no errors on the console
     
  4. I've had this problem to, if it's a directional block which has a face you can easily do Block#getMaterialData(); and cast it as "Directional" and then get the face that way (I think)
     
  5. It is not a directional block but thanks
     
  6. @fer112233 print the result to console to see what it's returning
     
  7. The console not return nothing, any error at It
     
  8. @fer112233 did you register events and add the EventHandler annotation?
     
  9. Yes, i registered it and i put the eventhandler annotation
     
  10. @fer112233 then why isn't the event printing anything?
     
  11. I donĀ“t know why
     
  12. Code (Text):

    public void tunel(BlockBreakEvent event){
          Player p = event.getPlayer();
          Block b = event.getBlock();
          BlockFace f = p.getLocation().getBlock().getFace(b);
                          if (f == BlockFace.UP){
                              Block b1 = l.getWorld().getBlockAt(x - 1, y, z + 1);
                              Block b2 = l.getWorld().getBlockAt(x - 1, y, z);
                              Block b3 = l.getWorld().getBlockAt(x - 1, y, z - 1);
                              Block b4 = l.getWorld().getBlockAt(x, y, z + 1);
                              Block b5 = b;
                              Block b6 = l.getWorld().getBlockAt(x, y, z - 1);
                              Block b7 = l.getWorld().getBlockAt(x + 1, y, z - 1);
                              Block b8 = l.getWorld().getBlockAt(x + 1, y, z);
                              Block b9 = l.getWorld().getBlockAt(x + 1, y, z + 1);
                              ArrayList<Block> lista = new ArrayList<>();
                              lista.add(b1);
                              lista.add(b2);
                              lista.add(b3);
                              lista.add(b4);
                              lista.add(b5);
                              lista.add(b6);
                              lista.add(b7);
                              lista.add(b8);
                              lista.add(b9);
                              for (Block bl : lista){
                                  if (bl != null){
                                      bl.breakNaturally();
                                  }
                              }
                             
                          }
    }
     
     
  13. @fer112233 you didn't print anything like I suggested