Skip to content

Commit c593f64

Browse files
committed
retrowrapper-support
1 parent 05d51a1 commit c593f64

8 files changed

Lines changed: 48 additions & 0 deletions

File tree

Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,6 +1321,14 @@ Retry:
13211321
End Function
13221322
Private ExtractJavaWrapperLock As New Object
13231323

1324+
''' <summary>
1325+
''' 判断是否使用 RetroWrapper。
1326+
''' </summary>
1327+
Private Function McLaunchNeedsRetroWrapper() As Boolean
1328+
Return McVersionCurrent.Version.McCodeMain <= 5 AndAlso McVersionCurrent.Version.McCodeMain > 0 AndAlso '<=1.5
1329+
Not Setup.Get("LaunchAdvanceDisableRW") AndAlso Not Setup.Get("VersionAdvanceDisableRW", McVersionCurrent)
1330+
End Function
1331+
13241332
'主方法,合并 Jvm、Game、Replace 三部分的参数数据
13251333
Private Sub McLaunchArgumentMain(Loader As LoaderTask(Of String, List(Of McLibToken)))
13261334
McLaunchLog("开始获取 Minecraft 启动参数")
@@ -1504,6 +1512,13 @@ NextVersion:
15041512
DataList.Add("-jar """ & ExtractJavaWrapper() & """")
15051513
End If
15061514

1515+
'添加 RetroWrapper 相关参数
1516+
If McLaunchNeedsRetroWrapper() Then
1517+
'https://github.com/NeRdTheNed/RetroWrapper/wiki/RetroWrapper-flags
1518+
DataList.Add("-Dretrowrapper.doUpdateCheck=false")
1519+
DataList.Add("-Dretrowrapper.enableFMLPatch=true")
1520+
End If
1521+
15071522
'将 "-XXX" 与后面 "XXX" 合并到一起
15081523
'如果不合并,会导致 Forge 1.17 启动无效,它有两个 --add-exports,进一步导致其中一个在后面被去重
15091524
Dim DeDuplicateDataList As New List(Of String)
@@ -1696,6 +1711,18 @@ NextVersion:
16961711
Loader.Output = LibList
16971712
Dim CpStrings As New List(Of String)
16981713
Dim OptiFineCp As String = Nothing
1714+
1715+
'RetroWrapper 释放
1716+
If McLaunchNeedsRetroWrapper() Then
1717+
Dim WrapperPath As String = PathMcFolder & "libraries\retrowrapper\RetroWrapper.jar"
1718+
Try
1719+
WriteFile(WrapperPath, GetResources("RetroWrapper"))
1720+
CpStrings.Add(WrapperPath)
1721+
Catch ex As Exception
1722+
Log(ex, "RetroWrapper 释放失败")
1723+
End Try
1724+
End If
1725+
16991726
For Each Library As McLibToken In LibList
17001727
If Library.IsNatives Then Continue For
17011728
If Library.Name IsNot Nothing AndAlso Library.Name = "optifine:OptiFine" Then

Plain Craft Launcher 2/My Project/Resources.Designer.vb

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Plain Craft Launcher 2/My Project/Resources.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,9 @@
136136
<data name="JavaWrapper" type="System.Resources.ResXFileRef, System.Windows.Forms">
137137
<value>..\Resources\java-wrapper.jar;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
138138
</data>
139+
<data name="RetroWrapper" type="System.Resources.ResXFileRef, System.Windows.Forms">
140+
<value>..\Resources\RetroWrapper-1.7.8.jar;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
141+
</data>
139142
<data name="Json" type="System.Resources.ResXFileRef, System.Windows.Forms">
140143
<value>..\Resources\Newtonsoft.Json.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
141144
</data>

Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@
105105
{"LaunchAdvanceRun", New SetupEntry("")},
106106
{"LaunchAdvanceRunWait", New SetupEntry(True)},
107107
{"LaunchAdvanceDisableJLW", New SetupEntry(False)},
108+
{"LaunchAdvanceDisableRW", New SetupEntry(False)},
108109
{"LaunchAdvanceGraphicCard", New SetupEntry(True, Source:=SetupSource.Registry)},
109110
{"LaunchRamType", New SetupEntry(0)},
110111
{"LaunchRamCustom", New SetupEntry(15)},
@@ -179,6 +180,7 @@
179180
{"VersionAdvanceRun", New SetupEntry("", Source:=SetupSource.Version)},
180181
{"VersionAdvanceRunWait", New SetupEntry(True, Source:=SetupSource.Version)},
181182
{"VersionAdvanceDisableJLW", New SetupEntry(False, Source:=SetupSource.Version)},
183+
{"VersionAdvanceDisableRW", New SetupEntry(False, Source:=SetupSource.Version)},
182184
{"VersionRamType", New SetupEntry(2, Source:=SetupSource.Version)},
183185
{"VersionRamCustom", New SetupEntry(15, Source:=SetupSource.Version)},
184186
{"VersionRamOptimize", New SetupEntry(0, Source:=SetupSource.Version)},

Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,8 @@
254254
<StackPanel Margin="0,12,0,4" Grid.Row="7" Grid.ColumnSpan="2" HorizontalAlignment="Left">
255255
<local:MyCheckBox Height="28" Text="禁用 Java Launch Wrapper" x:Name="CheckAdvanceDisableJLW" Tag="LaunchAdvanceDisableJLW"
256256
ToolTipService.Placement="Right" ToolTip="PCL 会使用 Java Launch Wrapper 来修复老版本 Java 在中文路径下无法启动的问题。&#xa;如果这被反作弊拦截,或遇到其他问题,也可以将其关闭。" />
257+
<local:MyCheckBox Height="28" Text="禁用 RetroWrapper" x:Name="CheckAdvanceDisableRW" Tag="LaunchAdvanceDisableRW"
258+
ToolTipService.Placement="Right" ToolTip="PCL 会在启动 1.5.x 即以下版本时使用 NeRdTheNed/RetroWrapper 来修复老版本的体验和兼容的问题。" />
257259
<local:MyCheckBox Height="28" Text="要求 Java 使用高性能显卡" x:Name="CheckAdvanceGraphicCard" Tag="LaunchAdvanceGraphicCard"
258260
ToolTipService.Placement="Right" ToolTip="自动在 Windows 设置 → 系统 → 屏幕 → 显示卡 中将 Java 改为使用高性能显卡。&#xa;如果电脑同时有集显和独显,这能确保 MC 使用独显进行渲染,以大幅提高性能。" />
259261
</StackPanel>

Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
TextAdvanceRun.Text = Setup.Get("LaunchAdvanceRun")
5757
CheckAdvanceRunWait.Checked = Setup.Get("LaunchAdvanceRunWait")
5858
CheckAdvanceDisableJLW.Checked = Setup.Get("LaunchAdvanceDisableJLW")
59+
CheckAdvanceDisableRW.Checked = Setup.Get("LaunchAdvanceDisableRW")
5960
CheckAdvanceGraphicCard.Checked = Setup.Get("LaunchAdvanceGraphicCard")
6061

6162
Catch ex As NullReferenceException

Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,9 @@
226226
<local:MyCheckBox Height="28" Text="禁用 Java Launch Wrapper" x:Name="CheckAdvanceDisableJLW" Tag="VersionAdvanceDisableJLW"
227227
ToolTipService.Placement="Right"
228228
ToolTip="PCL 会使用 Java Launch Wrapper 来修复老版本 Java 在中文路径下无法启动的问题。&#xa;如果这被反作弊拦截,或遇到其他问题,也可以将其关闭。" />
229+
<local:MyCheckBox Height="28" Text="禁用 RetroWrapper" x:Name="CheckAdvanceDisableRW" Tag="VersionAdvanceDisableRW"
230+
ToolTipService.Placement="Right"
231+
ToolTip="PCL 会在启动 1.5.x 即以下版本时使用 NeRdTheNed/RetroWrapper 来修复老版本的体验和兼容的问题。" />
229232
</StackPanel>
230233
</Grid>
231234
</local:MyCard>
177 KB
Binary file not shown.

0 commit comments

Comments
 (0)