/** * Registers the specified {@link Player}. * * @param player The Player. */ public void register(Player player) { String username = player.getUsername(); playerRepository.add(player); players.put(NameUtil.encodeBase37(username), player); logger.finest("Registered player: " + player + " [count=" + playerRepository.size() + "]"); }
/** * Unregisters the specified player. * * @param player The player. */ public void unregister(final Player player) { Preconditions.checkNotNull(player, "Player may not be null."); players.remove(NameUtil.encodeBase37(player.getUsername())); Region region = regions.fromPosition(player.getPosition()); region.removeEntity(player); playerRepository.remove(player); logger.finest("Unregistered player: " + player + " [count=" + playerRepository.size() + "]"); }
/** * Registers all of the {@link Npc}s in the {@link #queuedNpcs queue}. */ private void registerNpcs() { while (!queuedNpcs.isEmpty()) { Npc npc = queuedNpcs.poll(); boolean success = npcRepository.add(npc); if (success) { Region region = regions.fromPosition(npc.getPosition()); region.addEntity(npc); if (npc.hasBoundaries()) { npcMovement.addNpc(npc); } } else { logger.warning("Failed to register npc (capacity reached): [count=" + npcRepository.size() + "]"); } } }
/** * Tests {@link MobRepository#remove(Mob)}. */ @Test public void remove() { MobRepository<Player> players = new MobRepository<>(CAPACITY); Player player = mock(Player.class); when(player.getIndex()).thenReturn(1); players.add(player); assertEquals(1, players.size()); assertEquals(player, players.get(player.getIndex())); players.remove(player); assertEquals(0, players.size()); }
/** * Tests {@link MobRepository#add(Mob)}. */ @Test public void add() { MobRepository<Player> players = new MobRepository<>(CAPACITY); Player player = mock(Player.class); when(player.getIndex()).thenReturn(1); players.add(player); assertEquals(1, players.size()); assertEquals(player, players.get(player.getIndex())); }