private static void loadProperties() {
        Properties prop = new Properties();
        InputStream input = null;

        try {
            input = new FileInputStream("config.properties");
            prop.load(input);

            Connection.real = prop.getProperty("Real", GUI.makeRandomNick());
            Connection.nicks[0] = prop.getProperty("Nick", GUI.makeRandomNick());
            Connection.currentNick = Connection.nicks[0];
            Connection.nicks[1] = prop.getProperty("Second", GUI.makeRandomNick());
            Connection.nicks[2] = prop.getProperty("Third", GUI.makeRandomNick());

            GUI.userListFont = prop.getProperty("userListFont", "Courier New");
            GUI.userListFontSize = Integer.valueOf(prop.getProperty("userListFontSize", "12"));
            GUI.userListFontStyle = prop.getProperty("userListFontStyle", "Plain");
            GUI.chatFont = prop.getProperty("chatFont", "Courier New");
            GUI.chatFontSize = Integer.valueOf(prop.getProperty("chatFontSize", "12"));
            GUI.chatFontStyle = prop.getProperty("chatFontStyle", "Plain");

            GUI.CTCP0 = Color.decode(prop.getProperty("CTCP0", "#fafaf8"));
            GUI.CTCP1 = Color.decode(prop.getProperty("CTCP1", "#000000"));
            GUI.CTCP2 = Color.decode(prop.getProperty("CTCP2", "#000080"));
            GUI.CTCP3 = Color.decode(prop.getProperty("CTCP3", "#008000"));
            GUI.CTCP4 = Color.decode(prop.getProperty("CTCP4", "#ff0000"));
            GUI.CTCP5 = Color.decode(prop.getProperty("CTCP5", "#a52a2a"));
            GUI.CTCP6 = Color.decode(prop.getProperty("CTCP6", "#800080"));
            GUI.CTCP7 = Color.decode(prop.getProperty("CTCP7", "#ff8000"));
            GUI.CTCP8 = Color.decode(prop.getProperty("CTCP8", "#80800"));
            GUI.CTCP9 = Color.decode(prop.getProperty("CTCP9", "#00ff00"));
            GUI.CTCP10 = Color.decode(prop.getProperty("CTCP10", "#008080"));
            GUI.CTCP11 = Color.decode(prop.getProperty("CTCP11", "#00ffff"));
            GUI.CTCP12 = Color.decode(prop.getProperty("CTCP12", "#0000ff"));
            GUI.CTCP13 = Color.decode(prop.getProperty("CTCP13", "#ffc0cb"));
            GUI.CTCP14 = Color.decode(prop.getProperty("CTCP14", "#a0a0a0"));
            GUI.CTCP15 = Color.decode(prop.getProperty("CTCP15", "#c0c0c0"));

            GUI.chatColor0 = Color.decode(prop.getProperty("chatColor0", "#e90e7f"));
            GUI.chatColor1 = Color.decode(prop.getProperty("chatColor1", "#b30e0e"));
            GUI.chatColor2 = Color.decode(prop.getProperty("chatColor2", "#8e55e9"));
            GUI.chatColor3 = Color.decode(prop.getProperty("chatColor3", "#18b33c"));
            GUI.chatColor4 = Color.decode(prop.getProperty("chatColor4", "#58adb3"));
            GUI.chatColor5 = Color.decode(prop.getProperty("chatColor5", "#9e54b3"));
            GUI.chatColor6 = Color.decode(prop.getProperty("chatColor6", "#b39875"));
            GUI.chatColor7 = Color.decode(prop.getProperty("chatColor7", "#3465a4"));
            GUI.chatColor8 = Color.decode(prop.getProperty("chatColor8", "#ce5c00"));
            GUI.chatColor9 = Color.decode(prop.getProperty("chatColor9", "#555753"));

            GUI.awayMessage = prop.getProperty("awayMessage", "Pooping");
            GUI.quitMessage = prop.getProperty("quitMessage", "Eating");
            GUI.leaveMessage = prop.getProperty("leaveMessage", "Leaving");

            String t = prop.getProperty("tabPlacement", "3");
            if (t.equals(String.valueOf(DnDTabbedPane.BOTTOM))) GUI.tabPlacement = DnDTabbedPane.BOTTOM;
            else GUI.tabPlacement = DnDTabbedPane.TOP;

            if (GUI.tabbedPane != null){
                tabbedPane.setTabPlacement(GUI.tabPlacement);
            }

            GUI.chatNameColors = Boolean.valueOf(prop.getProperty("chatNameColors", "true"));
            GUI.hideJoinPartQuitNotifications = Boolean.valueOf(prop.getProperty("hideJoinPartQuitNotifications", "false"));
            GUI.showTimestamp = Boolean.valueOf(prop.getProperty("showTimestamp", "true"));
            GUI.disableTabNotificationsGlobally = Boolean.valueOf(prop.getProperty("disableTabNotificationsGlobally", "false"));
            GUI.focusNewTab = Boolean.valueOf(prop.getProperty("focusNewTab", "false"));
            GUI.sortTabsAlphabetically = Boolean.valueOf(prop.getProperty("sortTabsAlphabetically", "false"));

            makeHashMaps();

            deserializeSavedConnections();
        } catch (IOException ex) {
        } finally {
            if (input != null) {
                try {
                    input.close();
                } catch (IOException ignored) {
                }
            }
        }
    }