DummyPlayerBank.java 1.3 KB

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