public void resetGame(boolean message, boolean keepKits) {
        debug("Resetting game " + getGameId());
        reset = true;
        lastKeepKits = keepKits;
        time = 0;
        resetScores();
        lastKits.clear();
        for (Entry<String, PlayerData> en : pd.entrySet()) {
            lastKits.put(en.getKey(), en.getValue().getKit());
        }
        @SuppressWarnings("unchecked")
        ArrayList<String> list = (ArrayList<String>) this.getPlayers().clone();
        if (message && con)
            sendGameMessage(ChatColor.AQUA.toString() + ChatColor.MAGIC + "|" + ChatColor.AQUA + "Resetting game for a new round" + ChatColor.MAGIC + "|");
        for (String i : list) {
            removePlayer(Bukkit.getPlayer(i));
        }
        if (con) {
            debug("Shuffling teams..");
            Collections.shuffle(list);
            for (String i : list) {
                addPlayer(Bukkit.getPlayer(i));
            }
        }
        reset = false;
        lastKeepKits = false;
        lastKits.clear();
        debug("Reset complete");
    }