Skocz do zawartości
  • 0

UserManager POMOCY.


xKubeQ

Pytanie

Siemka.
Potrzebuje pomocy z UserManager, myślę, że ktoś mi pomoże bo nie jestem przekonany czy dobrze bym zrobił.
Oto kod: https://code.skript.pl/La8c39pV
Trzeba w nim zrobić poprawić to getUser by pobierało po kluczu a nie iterowało po całej mapie.

Z tego co wiem to jak jest możliwość Key zamienić na uuid Jak nie to przy oddawaniu nick.toLowerCase W get users.get(nick.toLowerCase ()) I w remove też nic tolowercase

Pomoże ktoś? :D

 

Edytowane przez xAxee
Odnośnik do komentarza
https://skript.pl/temat/31728-usermanager-pomocy/
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

kiedy domcraft tu ReNe XD

 

tworzysz sobie mapke jako klucz uuid Map<UUID, User> userMap // zamiast uuid mozesz dac  stringa jako name ale zalecam uzywac uuid

i potem z tego klucza pobierasz obiekt za pomoca userMap.get(klucz) < chyba o to Ci chodzilo

 

Odnośnik do komentarza
https://skript.pl/temat/31728-usermanager-pomocy/#findComment-205605
Udostępnij na innych stronach

  • 0
private static final ConcurrentHashMap<UUID, User> users = new ConcurrentHashMap();
  public static User getUser(Player p)
  {
    for (User u : users.values()) {
      if (u.getUniqueId().equalsIgnoreCase(p.getUniqueId())) {
        return u;
      }
    }
    return null;
  }
  public static void createrUser(Player p)
  {
    User u = new User(p);
    users.put(p.getUniqueId(), u);
    RankingManager.addRanking(u);
    KillManager.addKill(u);
    DeathManager.addDeath(u);
    AssistManager.addAssist(u);
    CoinsManager.addCoins(u);
    BreakManager.addBreak(u);
  }

i tak dalej... po co tworzysz 2 metody 'createrUser' (wtf czemu nie create? Bo jak już creater to userCreater, ale tak się nie nazywa metod raczej :P)  

Musisz sobie do usera dopisać UUID i je zapisywać do bazy danych. Jak umiesz podstawy programowania obiektowego w javie to sobie oczywiście poradzisz.

Jeżeli jednak nie potrafisz tego zrobić to lepiej ucz się javy a nie przeprabiasz jakieś EndrjuCory ;)

Powodzenia.

Odnośnik do komentarza
https://skript.pl/temat/31728-usermanager-pomocy/#findComment-205697
Udostępnij na innych stronach

  • 0
11 godzin temu, STEINER napisał:

private static final ConcurrentHashMap<UUID, User> users = new ConcurrentHashMap();

  public static User getUser(Player p)
  {
    for (User u : users.values()) {
      if (u.getUniqueId().equalsIgnoreCase(p.getUniqueId())) {
        return u;
      }
    }
    return null;
  }

  public static void createrUser(Player p)
  {
    User u = new User(p);
    users.put(p.getUniqueId(), u);
    RankingManager.addRanking(u);
    KillManager.addKill(u);
    DeathManager.addDeath(u);
    AssistManager.addAssist(u);
    CoinsManager.addCoins(u);
    BreakManager.addBreak(u);
  }

i tak dalej... po co tworzysz 2 metody 'createrUser' (wtf czemu nie create? Bo jak już creater to userCreater, ale tak się nie nazywa metod raczej :P)  

Musisz sobie do usera dopisać UUID i je zapisywać do bazy danych. Jak umiesz podstawy programowania obiektowego w javie to sobie oczywiście poradzisz.

Jeżeli jednak nie potrafisz tego zrobić to lepiej ucz się javy a nie przeprabiasz jakieś EndrjuCory ;)

Powodzenia.

Cytat

  public static User getUser(Player p)
  {
    for (User u : users.values()) {
      if (u.getUniqueId().equalsIgnoreCase(p.getUniqueId())) {
        return u;
      }
    }
    return null;
  }

nie zmieniles najwazniejszego, czyli branie usera po kluczu (uuid), tylko znowu loopujesz całą mape, a tego wlasnie autor tematu nie chce, do tego od dawna jest pełno fajnych funkcji od javy 8, np. streamy, kod nawet lepiej by z nimi wygladal.

public static User getUser(UUID uuid) {
  return users.get(uuid);
}

do tego zamiast jako typ mozesz trzymac concurrentmap lub map, a nie concurrenthashmap, 

Edytowane przez yooniks
Odnośnik do komentarza
https://skript.pl/temat/31728-usermanager-pomocy/#findComment-205720
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ę...