|
|
@@ -1,4 +1,4 @@
|
|
|
-Imports System.IO.Compression
|
|
|
+Imports System.IO.Compression
|
|
|
Imports System.Linq.Expressions
|
|
|
|
|
|
Public Module ModModpack
|
|
|
@@ -612,8 +612,21 @@ Retry:
|
|
|
Try
|
|
|
Dim MMCSetupFile As String = InstallTemp & ArchiveBaseFolder & "instance.cfg"
|
|
|
If File.Exists(MMCSetupFile) Then
|
|
|
- '将其中的等号替换为冒号,以符合 ini 文件格式
|
|
|
- WriteFile(MMCSetupFile, ReadFile(MMCSetupFile).Replace("=", ":"))
|
|
|
+ '部分等号替换为冒号,以符合 ini 文件格式
|
|
|
+ '为JvmArgs添加排除项,防止参数中的等号被错误的替换
|
|
|
+ Dim MMCSetupFileLines() As String = File.ReadAllLines(MMCSetupFile)
|
|
|
+ For i As Integer = 0 To MMCSetupFileLines.Length - 1
|
|
|
+ '按行读取,检查开头是否为"JvmArgs="
|
|
|
+ If MMCSetupFileLines(i).StartsWith("JvmArgs=") Then
|
|
|
+ '有则只替换这个等号,忽略参数部分
|
|
|
+ MMCSetupFileLines(i) = "JvmArgs:" & MMCSetupFileLines(i).Substring("JvmArgs=".Length)
|
|
|
+ Else
|
|
|
+ '无则全部替换
|
|
|
+ MMCSetupFileLines(i) = MMCSetupFileLines(i).Replace("=", ":")
|
|
|
+ End If
|
|
|
+ Next
|
|
|
+ '修改后写回文件
|
|
|
+ File.WriteAllLines(MMCSetupFile, MMCSetupFileLines)
|
|
|
If ReadIni(MMCSetupFile, "OverrideCommands", False) Then
|
|
|
Dim PreLaunchCommand As String = ReadIni(MMCSetupFile, "PreLaunchCommand")
|
|
|
If PreLaunchCommand <> "" Then
|
|
|
@@ -642,6 +655,17 @@ Retry:
|
|
|
CopyFile($"{InstallTemp}{ArchiveBaseFolder}{Logo}.png", $"{PathMcFolder}versions\{VersionName}\PCL\Logo.png")
|
|
|
Log($"[ModPack] 迁移 MultiMC 版本独立设置:版本图标({Logo}.png)")
|
|
|
End If
|
|
|
+ 'JvmArgs参数
|
|
|
+ Dim JvmArgs As String = ReadIni(MMCSetupFile, "JvmArgs", "")
|
|
|
+ If JvmArgs <> "" Then
|
|
|
+ WriteIni(SetupFile, "VersionAdvanceJvm", JvmArgs)
|
|
|
+ Log("[ModPack] 迁移 MultiMC 版本独立设置:JVM 参数:" & JvmArgs)
|
|
|
+ End If
|
|
|
+ '这段我看参数有就给加上了...
|
|
|
+ If ReadIni(MMCSetupFile, "OverrideJavaArgs", False) Then
|
|
|
+ WriteIni(SetupFile, "VersionAdvanceJavaArgs", True)
|
|
|
+ Log("[ModPack] 迁移 MultiMC 版本独立设置:覆盖 JavaArgs")
|
|
|
+ End If
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
Log(ex, $"读取 MMC 配置文件失败({InstallTemp}{ArchiveBaseFolder}instance.cfg)")
|