public static void loadQuestCounts() {
        if (questCount.size() > 0) {
            return;
        }
        for (MapleDataDirectoryEntry mapz : data.getRoot().getSubdirectories()) {
            if (mapz.getName().equals("QuestCountGroup")) {
                for (MapleDataFileEntry entry : mapz.getFiles()) {
                    final int id = Integer.parseInt(entry.getName().substring(0, entry.getName().length() - 4));
                    MapleData dat = data.getData("QuestCountGroup/" + entry.getName());
                    if (dat != null && dat.getChildByPath("info") != null) {
                        List<Integer> z = new ArrayList<>();
                        for (MapleData da : dat.getChildByPath("info")) {
                            z.add(MapleDataTool.getInt(da, 0));
                        }
                        questCount.put(id, z);
                    } else {
                        System.out.println("null questcountgroup");
                    }
                }
            }
        }
        /*for (MapleData c : npcStringData) {
         int nid = Integer.parseInt(c.getName());
         String n = StringUtil.getLeftPaddedStr(nid + ".img", '0', 11);
         try {
         if (npcData.getData(n) != null) {//only thing we really have to do is check if it exists. if we wanted to, we could get the script as well :3
         String name = MapleDataTool.getString("name", c, "MISSINGNO");
         if (name.contains("Maple TV") || name.contains("Baby Moon Bunny")) {
         continue;
         }
         npcNames.put(nid, name);
         }
         } catch (NullPointerException e) {
         } catch (RuntimeException e) { //swallow, don't add if 
         }
         }*/
        Connection con = DatabaseConnection.getConnection();
        try {
            try (PreparedStatement ps = con.prepareStatement("SELECT * FROM wz_npcnamedata ORDER BY `npc`"); ResultSet rs = ps.executeQuery()) {
                while (rs.next()) {
                    npcNames.put(rs.getInt("npc"), rs.getString("name"));
                }
            }
        } catch (SQLException ex) {
            System.out.println("Failed to load npc name data. " + ex);
        }
    }