PlayerManager.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. {
  9. private final ISnuviLogger logger;
  10. private final IPlayerBank bank;
  11. public PlayerManager(ISnuviLogger logger, IPlayerBank bank)
  12. {
  13. this.logger = logger;
  14. this.bank = bank;
  15. }
  16. @SubscribeEvent(priority = EventPriority.HIGH)
  17. public void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent e)
  18. {
  19. ModEntityPlayerMP p = (ModEntityPlayerMP) e.getPlayer();
  20. if(p == null)
  21. {
  22. return;
  23. }
  24. int id = bank.getId(p.getUniqueID());
  25. if(id == -1)
  26. {
  27. bank.add(p.getUniqueID(), p.getName().getUnformattedComponentText());
  28. logger.print(String.format("'%s' was added", p.getName().getString()));
  29. id = bank.getId(p.getUniqueID());
  30. if(id == -1)
  31. {
  32. // this should never happen
  33. logger.print(String.format("'%s' has no id", p.getName().getString()));
  34. }
  35. else
  36. {
  37. p.setId(id);
  38. }
  39. }
  40. else
  41. {
  42. p.setId(id);
  43. bank.changeName(p.getUniqueID(), p.getName().getString());
  44. }
  45. }
  46. }