diff --git a/src/main/java/net/ftb/gui/panes/OptionsPane.java b/src/main/java/net/ftb/gui/panes/OptionsPane.java index 44bc646f4..3af2be462 100644 --- a/src/main/java/net/ftb/gui/panes/OptionsPane.java +++ b/src/main/java/net/ftb/gui/panes/OptionsPane.java @@ -65,7 +65,7 @@ public class OptionsPane extends JPanel implements ILauncherPane { private JSlider ramMaximum; private JComboBox locale; private JTextField installFolderTextField; - private JCheckBox chckbxShowConsole, keepLauncherOpen, optJavaArgs, useSystemProxy; + private JCheckBox chckbxShowConsole, keepLauncherOpen, optJavaArgs, useSystemProxy, allowIpv6; private final Settings settings; private JPanel fitterPane; @@ -218,6 +218,12 @@ public void actionPerformed (ActionEvent e) { useSystemProxy.addFocusListener(settingsChangeListener); fitterPane.add(useSystemProxy); + allowIpv6 = new JCheckBox(I18N.getLocaleString("IPV6_SUPPORT")); + allowIpv6.setBounds(540, 235, 300, 25); + allowIpv6.setSelected(settings.getAllowIpv6()); + allowIpv6.addFocusListener(settingsChangeListener); + fitterPane.add(allowIpv6); + advancedOptionsBtn = new JButton(I18N.getLocaleString("ADVANCED_OPTIONS")); advancedOptionsBtn.setBounds(147, 275, 629, 29); advancedOptionsBtn.addActionListener(new ActionListener() { @@ -251,6 +257,7 @@ public void saveSettingsInto (Settings settings) { settings.setOptJavaArgs(optJavaArgs.isSelected()); settings.setKeepLauncherOpen(keepLauncherOpen.isSelected()); settings.setUseSystemProxy(useSystemProxy.isSelected()); + settings.setAllowIpv6(allowIpv6.isSelected()); settings.save(); } diff --git a/src/main/java/net/ftb/minecraft/MCLauncher.java b/src/main/java/net/ftb/minecraft/MCLauncher.java index 65fc5c48d..ff1aa5653 100644 --- a/src/main/java/net/ftb/minecraft/MCLauncher.java +++ b/src/main/java/net/ftb/minecraft/MCLauncher.java @@ -123,7 +123,11 @@ public static Process launchMinecraft (String javaPath, String gameFolder, File } // Use IPv4 when possible, only use IPv6 when connecting to IPv6 only addresses - //arguments.add("-Djava.net.preferIPv4Stack=true"); + + + if (!Settings.getSettings().getAllowIpv6()) { + arguments.add("-Djava.net.preferIPv4Stack=true"); + } if (Settings.getSettings().getUseSystemProxy()) { arguments.add("-Djava.net.useSystemProxies=true"); diff --git a/src/main/resources/i18n/deDE b/src/main/resources/i18n/deDE index ab33f1974..b5551b89f 100644 --- a/src/main/resources/i18n/deDE +++ b/src/main/resources/i18n/deDE @@ -39,7 +39,8 @@ RAM_MAX = RAM Maximum (MB) LANGUAGE = Sprache SHOW_CONSOLE = Konsole anzeigen? OPT_JAVA_ARGS = Optimierungs-Argumente für schnelle Computer benutzen? -USE_SYSTEM_PROXY = +USE_SYSTEM_PROXY = Benutze System Proxy? +IPV6_SUPPORT = Unterstütze IPv6? REOPEN_LAUNCHER = Launcher erneut öffnen, nachdem Minecraft beendet wurde ADVANCED_OPTIONS = Erweiterte Optionen INSTALL_FIRSTUSE = Da dies das erste Mal ist, dass du diesen Launcher verwendest, empfehlen wir, das Installationsverzeichnis zu bestimmen. diff --git a/src/main/resources/i18n/enUS b/src/main/resources/i18n/enUS index 81c34ebbb..5e1dbb046 100644 --- a/src/main/resources/i18n/enUS +++ b/src/main/resources/i18n/enUS @@ -40,6 +40,7 @@ LANGUAGE = Language SHOW_CONSOLE = Show Console? OPT_JAVA_ARGS= Use Optimization Arguments for fast computers? USE_SYSTEM_PROXY = Use Internet Proxy to download files? +IPV6_SUPPORT = Enable IPv6 Support? REOPEN_LAUNCHER = Reopen launcher after exiting Minecraft? ADVANCED_OPTIONS = Advanced Options INSTALL_FIRSTUSE = Since this is your first time using the launcher, we suggest setting the install directory.