public static void ViewChar(LittleEndianAccessor slea, MapleClient c) { Map<Byte, ArrayList<MapleCharacter>> worlds = new HashMap<Byte, ArrayList<MapleCharacter>>(); List<MapleCharacter> chars = c.loadCharacters(0); // TODO multi world c.getSession().write(LoginPacket.showAllCharacter(chars.size())); for (MapleCharacter chr : chars) { if (chr != null) { ArrayList<MapleCharacter> chrr; if (!worlds.containsKey(chr.getWorld())) { chrr = new ArrayList<MapleCharacter>(); worlds.put(chr.getWorld(), chrr); } else { chrr = worlds.get(chr.getWorld()); } chrr.add(chr); } } for (Entry<Byte, ArrayList<MapleCharacter>> w : worlds.entrySet()) { c.getSession() .write(LoginPacket.showAllCharacterInfo(w.getKey(), w.getValue(), c.getSecondPassword())); } }