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] Problem z pluginiem


Gość T1Lay

Rekomendowane odpowiedzi

Opublikowano

Cze, mam pytanie dlaczego wywala mi błąd z .put? Patrzyłem na google i znalazłem coś w podobie do mojego kodu i też mieli z tym problem. 

armor.put(p, p.getInventory().getArmorContents());

HashMapa:

 public HashMap<String, ItemStack[]> armor = new HashMap<String, ItemStack[]>();

Daje like za pomoc.

Opublikowano

Cze, mam pytanie dlaczego wywala mi błąd z .put? Patrzyłem na google i znalazłem coś w podobie do mojego kodu i też mieli z tym problem. 

armor.put(p, p.getInventory().getArmorContents());

HashMapa:

 public HashMap<String, ItemStack[]> armor = new HashMap<String, ItemStack[]>();

Daje like za pomoc.

p to pewnie Player, więc jak już to put(p.getName(), ...)

PS: jak uzywasz Javy 7+ to nie musisz robić

 public HashMap<String, ItemStack[]> armor = new HashMap<String, ItemStack[]>(); 

Tylko możesz dać:

 public HashMap<String, ItemStack[]> armor = new HashMap<>();

tz. "diamond operator", nie należy tego mylić z "raw types" kiedy dasz "new HashMap()"

Eclipse dalej jest tak głupi że nie podpowiada tak prostych a wygodnych rzeczy?

 

PS: powinieneś też podawać wstępną wielkość mapy, np 

new HashMap<>(200); 

I mapa jest gotowa na 200 elementów, inaczej ma 10 lub 16 i musi co chwilę zmieniać rozmiar.

Oczywiścię liczbę dopasuj do wielkości servera i tego jak dużo tych elementów w mapie może być.

 

­

1438614356923701010629.png

 

Opublikowano

p to pewnie Player, więc jak już to put(p.getName(), ...)

PS: jak uzywasz Javy 7+ to nie musisz robić

 public HashMap<String, ItemStack[]> armor = new HashMap<String, ItemStack[]>(); 

Tylko możesz dać:

 public HashMap<String, ItemStack[]> armor = new HashMap<>();

tz. "diamond operator", nie należy tego mylić z "raw types" kiedy dasz "new HashMap()"

Eclipse dalej jest tak głupi że nie podpowiada tak prostych a wygodnych rzeczy?

 

PS: powinieneś też podawać wstępną wielkość mapy, np 

new HashMap<>(200); 

I mapa jest gotowa na 200 elementów, inaczej ma 10 lub 16 i musi co chwilę zmieniać rozmiar.

Oczywiścię liczbę dopasuj do wielkości servera i tego jak dużo tych elementów w mapie może być.

 

­

Działa, dzięki. 

Ja tam przyzwyczaiłem się do Eclipse i narazie mi starcza ;p

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...