PlayerManager.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package me.km.playerbank;
  2. import me.hammerle.snuviscript.code.ISnuviLogger;
  3. import me.km.overrides.ModEntityPlayerMP;
  4. import net.minecraftforge.eventbus.api.EventPriority;
  5. import net.minecraftforge.eventbus.api.SubscribeEvent;
  6. import net.minecraftforge.event.entity.player.PlayerEvent;
  7. public class PlayerManager {
  8. private final ISnuviLogger logger;
  9. private final IPlayerBank bank;
  10. public PlayerManager(ISnuviLogger logger, IPlayerBank bank) {
  11. this.logger = logger;
  12. this.bank = bank;
  13. }
  14. @SubscribeEvent(priority = EventPriority.HIGH)
  15. public void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent e) {
  16. ModEntityPlayerMP p = (ModEntityPlayerMP) e.getPlayer();
  17. if(p == null) {
  18. return;
  19. }
  20. int id = bank.getId(p.getUUID());
  21. if(id == -1) {
  22. bank.add(p.getUUID(), p.getName().getContents());
  23. logger.print(String.format("'%s' was added", p.getName().getString()));
  24. id = bank.getId(p.getUUID());
  25. if(id == -1) {
  26. // this should never happen
  27. logger.print(String.format("'%s' has no id", p.getName().getString()));
  28. } else {
  29. p.setId(id);
  30. }
  31. } else {
  32. p.setId(id);
  33. bank.changeName(p.getUUID(), p.getName().getString());
  34. }
  35. }
  36. }