Skocz do zawartości
  • 0

Perła Kresu


Addiss9

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
https://skript.pl/temat/33195-per%C5%82a-kresu/#findComment-214871
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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