Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z ArrayList


thiew3

Rekomendowane odpowiedzi

Opublikowano

Siemank mam problem z ArrayListem, mianowicie pisze vanisha i wczesniej mi dzialala lista osob z vanishem, usunalem ten kawalek kodu z lista, bo mi nie byl potrzebny, wkleilem go spowrotem i nie dziala..

		if (cmd.getName().equalsIgnoreCase("vlist")){
			if(p.hasPermission("vanish.list")){
				if(vanishs.size() == 0){
					p.sendMessage(getConfig().getString("messages.vanish-tag") + "§7Lista osob z vanishem §8(§b0§8)§7: §abrak");
				}else{
					p.sendMessage(getConfig().getString("messages.vanish-tag") + "§7Lista osob z vanishem §8(§b" + vanishs.size() + "§8)§7: " + vanishs.getDisplayName());
				}				
			}
		}
public static ArrayList<Player> vanishs = new ArrayList<Player>();

sygna_frikos.png

Opublikowano

@up całość nie działa.. nie chce wyświetlać graczy z ArrayLista, a jak wpiszę tak:
 

p.sendMessage(getConfig().getString("messages.vanish-tag") + "§7Lista osob z vanishem §8(§b" + vanishs.size() + "§8)§7: " + vanishs;

to wyświetla mi 
 

[CraftPlayer{name=knxy_}]

sygna_frikos.png

Opublikowano

 

@up całość nie działa.. nie chce wyświetlać graczy z ArrayLista, a jak wpiszę tak:

 

p.sendMessage(getConfig().getString("messages.vanish-tag") + "§7Lista osob z vanishem §8(§b" + vanishs.size() + "§8)§7: " + vanishs;

to wyświetla mi 

 

[CraftPlayer{name=knxy_}]

 

Bo trzymasz cały obiekt Player jak bob w liście.

Trzymaj Stringa i tylko nazwy, a nie całego gracza.

 

Jeśli chcesz wyświetlić w Twój sposób to vanishs.for.getDisplayName().sout.

784091427630431250239.png

Regulamin sygnatur

Opublikowano

mógłbyś wyjaśnić prościej jak tego stringa ogarnąć? :)

 

Ale jak prościej o.O?

Zamiast trzymać całego Playera, trzymasz jego nick tylko i wyłącznie.

784091427630431250239.png

Regulamin sygnatur

Opublikowano

mógłbyś wyjaśnić prościej jak tego stringa ogarnąć? :)

 

 

 

mógłbyś wyjaśnić prościej jak tego stringa ogarnąć? :)

 

Ale jak prościej o.O?

Zamiast trzymać całego Playera, trzymasz jego nick tylko i wyłącznie.

 

 

zamiast nicku trzymaj UUID

tzn

List<String> vanished = new ArrayList<>();

a potem przy dodawaniu

vanished.add(p.getUniqueId().toString());

ew zamiast String możesz trzymać UUID w liście, obojętne 

Co ja tutaj robie...

Opublikowano

 

mógłbyś wyjaśnić prościej jak tego stringa ogarnąć? :)

 

 

 

mógłbyś wyjaśnić prościej jak tego stringa ogarnąć? :)

 

Ale jak prościej o.O?

Zamiast trzymać całego Playera, trzymasz jego nick tylko i wyłącznie.

 

 

zamiast nicku trzymaj UUID

tzn

List<String> vanished = new ArrayList<>();

a potem przy dodawaniu

vanished.add(p.getUniqueId().toString());

ew zamiast String możesz trzymać UUID w liście, obojętne 

 

 

Nie zbyt, z tego co wnioskuje chce wypisać listę nicków, które posiadają vanisha.

A więc prościej mu będzie trzymać nick.

784091427630431250239.png

Regulamin sygnatur

Opublikowano

List<String> lista= new ArrayList<>();

lista.add(player.getName());

 

for(String s : lista){

System.out.println("nicki: " + s );

}

 

dekros, po co robić liste stringów i dawać tam uuid? 

Nie lepiej zrobić liste UUID ??? 

Opublikowano

Okej zastąpiłem:
vanishs.add(p) -> vanishs.add(p.getDisplayName())

 

ale lista z vanishem wyglada tak
4DBgvqD.png

jak pozbyć się tych - [ ]



_________________________________


dobra problem rozwiązany, dałem 
 

for(String s : lista){
System.out.println("nicki: " + s );
}

zamiast

 

+ vanishs

i wszystko działa :)

Panowie dziękuje za wyrozumiałość i dziękuje za odpowiedzi ;)

sygna_frikos.png

Opublikowano

Pojawił się kolejny problem ;/


Nd8aVvP.png

 

co nowa osoba z vanishem to nowa linijka ;/

 

 

______________

dobra, jest późno, jestem chory więc zapomniałem o StringBuilderze :_:

można close :)

sygna_frikos.png

Opublikowano

 

@dekros123

 

SZALONY xD, CHCE TRZYMAC UUID JAKO STRINGI 

 

 

 

Trzymaj UUID, zawsze mozesz pobrac OfflinePlayera

 a co w tym złego? można i tak i tak jak to woli LoL xD

 

Trzymanie uuid jako stringa to samo zło, Wincyj pamięci, w przypadku HashMap/HashSet i innych hashujących też wolniejsze, mniej wygodne w obsłudze i wolniejsze podczas pobierania, bo znowu trzeba zmieniać, ogólnie kompletnie bez sensu.

1438614356923701010629.png

 

Opublikowano

@GotoFinal

 

Gowno sie znasz !

Tuz to admin z sh4u, zapewne api od pakietow zmienia im UUID na stringi, dlatego dekros tutaj tak napisal :)

 

<beka>

 @dekros123

Nie moj drogi nie trzymamy UUID jako stringi

A)Na jaka cholere, UUID jest stale nie moze sie zmienic.

B)Za kazdym musialbys desralizowac i seralizowac gdybys chcial cokolwiek zrobic..

Opublikowano

@GotoFinal

 

Gowno sie znasz !

Tuz to admin z sh4u, zapewne api od pakietow zmienia im UUID na stringi, dlatego dekros tutaj tak napisal :)

 

<beka>

 @dekros123

Nie moj drogi nie trzymamy UUID jako stringi

A)Na jaka cholere, UUID jest stale nie moze sie zmienic.

B)Za kazdym musialbys desralizowac i seralizowac gdybys chcial cokolwiek zrobic..

Dokładnie jak zawsze masz racje, w poście napisałem że trzymać jako string też można nie napisałem że jest to lepsze, superowsze i wgl zajebiaszcze. 

Co ja tutaj robie...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...