Skocz do zawartości
  • 0

Iteracja for dla swiata wczytanego z configu?


Pytanie

Witam, próbuje stworzyć fragment kodu, który miałby za zadanie ustawić na tabliście nazwę gracza tylko w świecie wczytanym z configu

Aktualnie kod wygląda tak:

Błąd w pętli for "Can only iterate over an array or an instance of java.lang.Iterable", próbowałem wczytać wszystkie światy, a dopiero ifem sprawdzic czy to ten świat i przydzielać nazwę na tabliście graczowi, ale w innym świecie też było widać zmieniony listname, wiec nie osiągnąłem tego, czego szukałem.

Może znacie jakiś inny sposób na osiągnięcie podobnego efektu?

Jako, ze to nie jest główna klasa, u mnie 'Config' to

static FileConfiguration Config = Main.plugin.getConfig();

Z góry dziękuje za pomoc

Edytowane przez TheRemekk
Odnośnik do komentarza
https://skript.pl/temat/37473-iteracja-for-dla-swiata-wczytanego-z-configu/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Gość Usunięty#3468
static void TablistName(Player p) {
        World w = Bukkit.getWorld(Config.getString("arenalobby.world"));
        if (w != null) {
            if(Contains(p, Team1Player)) p.setPlayerListName(TranslateAlternateColor("&a" + p.getName()));
            else if(Contains(p, Team2Player)) p.setPlayerListName(TranslateAlternateColor("&3" + p.getName()));
            else if(Contains(p, Team3Player)) p.setPlayerListName(TranslateAlternateColor("&c" + p.getName()));
            else if(Contains(p, Team4Player)) p.setPlayerListName(TranslateAlternateColor("&e" + p.getName()));
        }
    }

?

Odnośnik do komentarza
https://skript.pl/temat/37473-iteracja-for-dla-swiata-wczytanego-z-configu/#findComment-238423
Udostępnij na innych stronach

  • 0

Nie do końca o to mi chodzi, chce osiągnąć to, że dla graczy, którzy są w tym świecie tylko ustawie te kolorki na tabliście, w ten sposób jak napisałeś nie zadziała, próbowałem, ustawi się tylko w momencie bycia na tym świecie, natomiast zobaczy to każdy, niezależnie od świata w którym się znajduje

Jeżeli nie da się tego zrobić w ten sposób, będę wdzięczny wszystkim za porady, jak mozna inaczej to osiągnąć ;)

@EDIT: Mam jeszcze liste graczy znajdujacych sie na arenie, bo cały plugin ma tworzyc minigierke, moze w iteracji for da sie to zrobic tylko dla graczy znajdujacych sie na tej liscie?

Edytowane przez TheRemekk
Odnośnik do komentarza
https://skript.pl/temat/37473-iteracja-for-dla-swiata-wczytanego-z-configu/#findComment-238426
Udostępnij na innych stronach

  • 0
W dniu 13.03.2020 o 12:29, TheRemekk napisał:

próbowałem wczytać wszystkie światy, a dopiero ifem sprawdzic czy to ten świat i przydzielać nazwę na tabliście graczowi, ale w innym świecie też było widać zmieniony listname, wiec nie osiągnąłem tego, czego szukałem.

Na początku - iteruj po Bukkit.getWorlds(). Próbujesz iterować po pojedynczym świecie. Następnie sprawdź czy świat który pobierasz ma nazwę której oczekujesz. Jeżeli tak, ponownie iterujesz po wszystkich światach oraz ustawiasz nazwę gracza na tabliście.

Edytowane przez Savorski
Odnośnik do komentarza
https://skript.pl/temat/37473-iteracja-for-dla-swiata-wczytanego-z-configu/#findComment-241521
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ę...