PlayerLogInOut.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package me.km.playerbank;
  2. import me.kcm.events.PlayerConnectionEvent;
  3. import me.km.KajetansMod;
  4. import me.km.api.Module;
  5. import me.km.api.ModuleListener;
  6. import me.km.api.Utils;
  7. import me.km.commands.CommandTeleportAccept;
  8. import me.km.dimensions.ModDimensions;
  9. import net.minecraft.entity.player.EntityPlayer;
  10. import net.minecraftforge.fml.common.eventhandler.EventPriority;
  11. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  12. import net.minecraftforge.fml.common.gameevent.PlayerEvent;
  13. public class PlayerLogInOut extends ModuleListener
  14. {
  15. public PlayerLogInOut(Module m)
  16. {
  17. super(m);
  18. }
  19. @SubscribeEvent(priority = EventPriority.HIGH)
  20. public void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent e)
  21. {
  22. EntityPlayer p = e.player;
  23. if(p == null)
  24. {
  25. return;
  26. }
  27. if(!Utils.hasPlayedBefore(p)) // first join
  28. {
  29. Utils.teleportEntity(p, Utils.getSpawn());
  30. }
  31. PlayerBank pb = KajetansMod.playerbank.getDataBank();
  32. if(!pb.contains(p))
  33. {
  34. pb.add(p.getGameProfile());
  35. this.getModule().sendToConsole(p.getName() + " wurde hinzugefügt.");
  36. }
  37. else
  38. {
  39. this.getModule().sendToConsole(p.getName() + " ist bereits vorhanden.");
  40. if(pb.getName(p.getUniqueID().toString()).equals(p.getName()))
  41. {
  42. this.getModule().sendToConsole(p.getName() + " hat noch den gleichen Namen.");
  43. }
  44. else
  45. {
  46. this.getModule().sendToConsole(p.getName() + " hat seinen Namen geändert.");
  47. pb.changeName(p);
  48. }
  49. }
  50. }
  51. @SubscribeEvent(priority = EventPriority.LOW)
  52. public void onPlayerLeaveCleanup(PlayerEvent.PlayerLoggedOutEvent e)
  53. {
  54. EntityPlayer p = e.player;
  55. KajetansMod.generalCommands.getCommand(CommandTeleportAccept.class).tpaccept.remove(p.getUniqueID());
  56. KajetansMod.scoreboard.removeScoreboard(p.getUniqueID());
  57. }
  58. @SubscribeEvent
  59. public void onPlayerConnection(PlayerConnectionEvent e)
  60. {
  61. ModDimensions.sendNotificationsForDimensions(e.getEntityPlayer());
  62. }
  63. }