| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package me.km.playerbank;
- import java.util.HashMap;
- import java.util.UUID;
- import me.kcm.events.PlayerConnectionEvent;
- import me.km.module.Module;
- import me.km.databank.DataBank;
- import me.km.scoreboard.ScoreboardUtils;
- import me.km.world.ModDimensions;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.util.text.TextFormatting;
- import net.minecraftforge.fml.common.eventhandler.EventPriority;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import net.minecraftforge.fml.common.gameevent.PlayerEvent;
- public class PlayerManager extends Module
- {
- private final PlayerBank bank;
- private final HashMap<UUID, Integer> playerIds = new HashMap<>();
-
- public PlayerManager(String prefix, TextFormatting color, DataBank c)
- {
- super(prefix, color);
- bank = new PlayerBank();
- registerEvent(this);
- }
- public PlayerBank getDataBank()
- {
- return bank;
- }
-
- public int getPlayerId(UUID uuid)
- {
- Integer i = playerIds.get(uuid);
- if(i != null)
- {
- return i;
- }
- return bank.getId(uuid);
- }
-
- @SubscribeEvent(priority = EventPriority.HIGH)
- public void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent e)
- {
- EntityPlayer p = e.player;
- if(p == null)
- {
- return;
- }
-
- if(bank.add(p.getUniqueID(), p.getName()))
- {
- sendToConsole(p.getName() + " was added.");
- int id = bank.getId(p.getUniqueID());
- if(id == -1)
- {
- // this should never happen
- sendToConsole(p.getName() + " has no id.");
- }
- else
- {
- playerIds.put(p.getUniqueID(), id);
- }
- }
- else
- {
- bank.changeName(p.getUniqueID(), p.getName());
- }
- }
-
- @SubscribeEvent(priority = EventPriority.LOW)
- public void onPlayerLeaveCleanup(PlayerEvent.PlayerLoggedOutEvent e)
- {
- EntityPlayer p = e.player;
- ScoreboardUtils.remove(p.getUniqueID());
- }
-
- @SubscribeEvent
- public void onPlayerConnection(PlayerConnectionEvent e)
- {
- ModDimensions.sendNotificationsForDimensions(e.getEntityPlayer());
- }
- }
|