Facebook
From s, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 222
  1.   @EventHandler
  2.   public void onTeleportOutOfBorder(final PlayerTeleportEvent event) {
  3.     final Player player = event.getPlayer();
  4.     final GameArena arena = this.arenaManager.findArenaByPlayer(player.getUniqueId());
  5.  
  6.     if (arena == null || event.getCause() != PlayerTeleportEvent.TeleportCause.ENDER_PEARL) {
  7.       return;
  8.     }
  9.  
  10.     final WorldBorder border = arena.getBorder(player.getUniqueId());
  11.     if (border == null) {
  12.       player.sendMessage("wykrywanie perly poza borderem, ale border == null | debug, jak ci sie to pokazuje to napisz");
  13.       return;
  14.     }
  15.  
  16.     final double worldborder = player.getWorld().getWorldBorder().getSize() / 2.0;
  17.     if (border.getCenterX() + worldborder < event.getTo().getX()
  18.         || border.getCenterX() - worldborder > event.getTo().getX()
  19.         || border.getCenterZ() + worldborder < event.getTo().getZ()
  20.         || border.getCenterZ() - worldborder > event.getTo().getZ()) {
  21.       event.setCancelled(true);
  22.       player.sendMessage(colored(MessagesConfig.ARENA$CANNOT_USE_PEARL_OUTSIDE_BORDER));
  23.       player.getInventory().addItem(new ItemStack(Material.ENDER_PEARL));
  24.     }
  25.   }
  26.