diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb index f1bedc2..2390cf0 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb @@ -1422,9 +1422,10 @@ Retry: '添加 Java Wrapper 作为主 Jar If McLaunchJavaSelected.VersionCode >= 9 Then DataList.Add("--add-exports cpw.mods.bootstraplauncher/cpw.mods.bootstraplauncher=ALL-UNNAMED") - DataList.Add("-Doolloo.jlw.tmpdir=""" & PathPure.TrimEnd("\") & """") - DataList.Add("-jar """ & ExtractJavaWrapper() & """") - + If Setup.Get("VersionAdvanceUseLaunchWrapperV2", Version) AndAlso Setup.Get("LaunchAdvanceUseLaunchWrapper") Then + DataList.Add("-Doolloo.jlw.tmpdir=""" & PathPure.TrimEnd("\") & """") + DataList.Add("-jar """ & ExtractJavaWrapper() & """") + End If '添加 MainClass If Version.JsonObject("mainClass") Is Nothing Then Throw New Exception("版本 json 中没有 mainClass 项!") @@ -1489,9 +1490,10 @@ NextVersion: '添加 Java Wrapper 作为主 Jar If McLaunchJavaSelected.VersionCode >= 9 Then DataList.Add("--add-exports cpw.mods.bootstraplauncher/cpw.mods.bootstraplauncher=ALL-UNNAMED") - DataList.Add("-Doolloo.jlw.tmpdir=""" & PathPure.TrimEnd("\") & """") - DataList.Add("-jar """ & ExtractJavaWrapper() & """") - + If Setup.Get("VersionAdvanceUseLaunchWrapperV2", Version) AndAlso Setup.Get("LaunchAdvanceUseLaunchWrapper") Then + DataList.Add("-Doolloo.jlw.tmpdir=""" & PathPure.TrimEnd("\") & """") + DataList.Add("-jar """ & ExtractJavaWrapper() & """") + End If '将 "-XXX" 与后面 "XXX" 合并到一起 '如果不合并,会导致 Forge 1.17 启动无效,它有两个 --add-exports,进一步导致其中一个在后面被去重 Dim DeDuplicateDataList As New List(Of String) diff --git a/Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb b/Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb index b23290e..fa7f48d 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb +++ b/Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb @@ -102,6 +102,7 @@ {"LaunchAdvanceRun", New SetupEntry("")}, {"LaunchAdvanceRunWait", New SetupEntry(True)}, {"LaunchAdvanceAssets", New SetupEntry(False)}, + {"LaunchAdvanceUseLaunchWrapper", New SetupEntry(True)}, {"LaunchAdvanceJava", New SetupEntry(False)}, {"LaunchRamType", New SetupEntry(0)}, {"LaunchRamCustom", New SetupEntry(15)}, @@ -171,6 +172,7 @@ {"VersionAdvanceGame", New SetupEntry("", Source:=SetupSource.Version)}, {"VersionAdvanceAssets", New SetupEntry(0, Source:=SetupSource.Version)}, {"VersionAdvanceAssetsV2", New SetupEntry(False, Source:=SetupSource.Version)}, + {"VersionAdvanceUseLaunchWrapperV2", New SetupEntry(True, Source:=SetupSource.Version)}, {"VersionAdvanceJava", New SetupEntry(False, Source:=SetupSource.Version)}, {"VersionAdvanceRun", New SetupEntry("", Source:=SetupSource.Version)}, {"VersionAdvanceRunWait", New SetupEntry(True, Source:=SetupSource.Version)}, diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml index 8b692a4..d77f9a6 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml @@ -252,6 +252,8 @@ ToolTip="警告:强烈推荐在版本设置中关闭特定版本的警告,而不是在这里关闭所有版本的警告! 如果在设置中手动选择了与当前版本不兼容的 Java,则自动跳过兼容性警告弹窗,强制使用手动选择的 Java。" /> + diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb index c36c123..e751e2d 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb @@ -52,6 +52,7 @@ CheckAdvanceRunWait.Checked = Setup.Get("LaunchAdvanceRunWait") CheckAdvanceAssets.Checked = Setup.Get("LaunchAdvanceAssets") CheckAdvanceJava.Checked = Setup.Get("LaunchAdvanceJava") + CheckAdvanceUseLaunchWrapper.Checked = Setup.Get("LaunchAdvanceUseLaunchWrapper") Catch ex As NullReferenceException Log(ex, "启动设置项存在异常,已被自动重置", LogLevel.Msgbox) @@ -78,6 +79,7 @@ Setup.Reset("LaunchSkinType") Setup.Reset("LaunchSkinID") Setup.Reset("LaunchAdvanceJvm") + Setup.Reset("LaunchAdvanceUseLaunchWrapper") Setup.Reset("LaunchAdvanceGame") Setup.Reset("LaunchAdvanceJava") Setup.Reset("LaunchAdvanceAssets") @@ -110,7 +112,7 @@ Private Shared Sub ComboChange(sender As MyComboBox, e As Object) Handles ComboArgumentIndie.SelectionChanged, ComboArgumentVisibie.SelectionChanged, ComboArgumentWindowType.SelectionChanged, ComboArgumentPriority.SelectionChanged If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.SelectedIndex) End Sub - Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckAdvanceAssets.Change, CheckAdvanceJava.Change, CheckAdvanceRunWait.Change, CheckArgumentRam.Change + Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckAdvanceAssets.Change, CheckAdvanceJava.Change, CheckAdvanceRunWait.Change, CheckArgumentRam.Change, CheckAdvanceUseLaunchWrapper.Change If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Checked) End Sub diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml index 378e63e..8fdde32 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml @@ -221,6 +221,8 @@ ToolTip="如果在设置中手动选择了与当前版本不兼容的 Java,则自动跳过兼容性警告弹窗,强制使用手动选择的 Java。" /> + diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb index f7a23c0..4521150 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml.vb @@ -74,6 +74,7 @@ Setup.Set("VersionAdvanceAssetsV2", True, Version:=PageVersionLeft.Version) End If CheckAdvanceAssetsV2.Checked = Setup.Get("VersionAdvanceAssetsV2", Version:=PageVersionLeft.Version) + CheckAdvanceUseLaunchWrapperV2.Checked = Setup.Get("VersionAdvanceUseLaunchWrapperV2", Version:=PageVersionLeft.Version) CheckAdvanceJava.Checked = Setup.Get("VersionAdvanceJava", Version:=PageVersionLeft.Version) Catch ex As Exception @@ -104,7 +105,7 @@ Setup.Reset("VersionAdvanceJava", Version:=PageVersionLeft.Version) Setup.Reset("VersionAdvanceRun", Version:=PageVersionLeft.Version) Setup.Reset("VersionAdvanceRunWait", Version:=PageVersionLeft.Version) - + Setup.Reset("VersionAdvanceUseLaunchWrapperV2", Version:=PageVersionLeft.Version) Setup.Reset("VersionArgumentJavaSelect", Version:=PageVersionLeft.Version) JavaSearchLoader.Start(IsForceRestart:=True) @@ -135,7 +136,7 @@ Private Shared Sub ComboChange(sender As MyComboBox, e As Object) Handles ComboArgumentIndie.SelectionChanged, ComboRamOptimize.SelectionChanged If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.SelectedIndex, Version:=PageVersionLeft.Version) End Sub - Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckAdvanceRunWait.Change, CheckAdvanceAssetsV2.Change, CheckAdvanceJava.Change + Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckAdvanceRunWait.Change, CheckAdvanceAssetsV2.Change, CheckAdvanceJava.Change, CheckAdvanceUseLaunchWrapperV2.Change If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Checked, Version:=PageVersionLeft.Version) End Sub