Skocz do zawartości
  • 0

Perła Kresu


Addiss9
 Udostępnij

Pytanie

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
  @EventHandler
  public void onTeleportOutOfBorder(final PlayerTeleportEvent event) {
    final Player player = event.getPlayer();
    final GameArena arena = this.arenaManager.findArenaByPlayer(player.getUniqueId());

    if (arena == null || event.getCause() != PlayerTeleportEvent.TeleportCause.ENDER_PEARL) {
      return;
    }

    WorldBorder border = arena.getBorder(player.getUniqueId());
    if (border == null) {
      border = arena.setBorder(player.getUniqueId(), arena.getCenter(), arena.getSize());
    }
    Location loc = event.getTo();
    double size = border.getSize() / 2;
    double x = loc.getX() - border.getCenterX(), z = loc.getZ() - border.getCenterZ();
    if ((x > size || (-x) > size) || (z > size || (-z) > size)) {
      event.setCancelled(true);
      player.sendMessage(colored(MessagesConfig.ARENA$CANNOT_USE_PEARL_OUTSIDE_BORDER));
      player.getInventory().addItem(new ItemStack(Material.ENDER_PEARL));
    }
  }

moj stary kod na nierzucanie perełki poza arene z danym worldborderem na gracza, jak sobie dobrze zmienisz (wywal zmienna arene i border i dodaj zmienne z "size i center") to powinno byc dobrze, dodasz to do klasy z listenerem, zarejestrujesz w mainie i bedzie git, calego nie bede za ciebie robil bo to duzo czasu zleci na sam build xd

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...