DummyPlayerBank.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package me.km.playerbank;
  2. import java.util.HashMap;
  3. import java.util.UUID;
  4. public class DummyPlayerBank implements IPlayerBank
  5. {
  6. private final HashMap<UUID, String> uuidToName = new HashMap<>();
  7. private final HashMap<UUID, Integer> uuidToId = new HashMap<>();
  8. private final HashMap<Integer, UUID> idToUuid = new HashMap<>();
  9. private int id = 0;
  10. @Override
  11. public boolean add(UUID uuid, String name)
  12. {
  13. if(uuidToName.put(uuid, name) == null)
  14. {
  15. int c = id++;
  16. uuidToId.put(uuid, c);
  17. idToUuid.put(c, uuid);
  18. }
  19. return true;
  20. }
  21. @Override
  22. public void changeName(UUID uuid, String name)
  23. {
  24. uuidToName.put(uuid, name);
  25. }
  26. @Override
  27. public int getId(UUID uuid)
  28. {
  29. return uuidToId.getOrDefault(uuid, -1);
  30. }
  31. @Override
  32. public UUID getUUIDfromID(int id)
  33. {
  34. return idToUuid.getOrDefault(id, null);
  35. }
  36. @Override
  37. public String getNamefromID(int id)
  38. {
  39. UUID uuid = idToUuid.get(id);
  40. if(uuid == null)
  41. {
  42. return null;
  43. }
  44. return uuidToName.getOrDefault(uuid, "");
  45. }
  46. @Override
  47. public UUID getUUID(String name)
  48. {
  49. return uuidToName.entrySet().stream().filter(e -> name.equals(e.getValue())).map(e -> e.getKey()).findFirst().orElse(null);
  50. }
  51. }