2.12.6
This commit is contained in:
@@ -1528,12 +1528,16 @@ NextPage:
|
||||
'结果可能混杂着 Mod、数据包和服务端插件
|
||||
Dim RawLoaders As List(Of String) = Data("loaders").Select(Function(v) v.ToString).ToList
|
||||
ModLoaders = New List(Of CompModLoaderType)
|
||||
If RawLoaders.Intersect({"bukkit", "folia", "paper", "purpur", "spigot"}).Any() Then Type = CompType.Plugin 'Veinminer Enchantment 同时支持服务端与 Fabric
|
||||
If RawLoaders.Contains("datapack") Then Type = CompType.DataPack
|
||||
If RawLoaders.Contains("forge") Then ModLoaders.Add(CompModLoaderType.Forge) : Type = CompType.Mod
|
||||
If RawLoaders.Contains("neoforge") Then ModLoaders.Add(CompModLoaderType.NeoForge) : Type = CompType.Mod
|
||||
If RawLoaders.Contains("fabric") Then ModLoaders.Add(CompModLoaderType.Fabric) : Type = CompType.Mod
|
||||
If RawLoaders.Contains("quilt") Then ModLoaders.Add(CompModLoaderType.Quilt) : Type = CompType.Mod
|
||||
If Type.HasFlag(CompType.Mod) OrElse Type.HasFlag(CompType.DataPack) Then
|
||||
If RawLoaders.Intersect({"bukkit", "folia", "paper", "purpur", "spigot"}).Any() Then Type = CompType.Plugin 'Veinminer Enchantment 同时支持服务端与 Fabric
|
||||
If RawLoaders.Contains("datapack") Then Type = CompType.DataPack
|
||||
If RawLoaders.Contains("forge") Then ModLoaders.Add(CompModLoaderType.Forge) : Type = CompType.Mod
|
||||
If RawLoaders.Contains("neoforge") Then ModLoaders.Add(CompModLoaderType.NeoForge) : Type = CompType.Mod
|
||||
If RawLoaders.Contains("fabric") Then ModLoaders.Add(CompModLoaderType.Fabric) : Type = CompType.Mod
|
||||
If RawLoaders.Contains("quilt") Then ModLoaders.Add(CompModLoaderType.Quilt) : Type = CompType.Mod
|
||||
Else
|
||||
'使用传入的类别,不作修改(#8377)
|
||||
End If
|
||||
'Dependencies
|
||||
If Data.ContainsKey("dependencies") Then
|
||||
RawDependencies = Data("dependencies").
|
||||
|
||||
@@ -1413,7 +1413,9 @@ NextInstance:
|
||||
End If
|
||||
|
||||
'JLW
|
||||
Dim UseJLW As Boolean = Not Settings.Get("LaunchAdvanceDisableJLW") AndAlso Not Settings.Get("VersionAdvanceDisableJLW", McInstanceSelected)
|
||||
Dim UseJLW As Boolean =
|
||||
Not Settings.Get("LaunchAdvanceDisableJLW") AndAlso Not Settings.Get("VersionAdvanceDisableJLW", McInstanceSelected) AndAlso
|
||||
McLaunchJavaSelected.MajorVersion <= 18
|
||||
If UseJLW Then
|
||||
If McLaunchJavaSelected.MajorVersion >= 9 Then
|
||||
Args.Add("--add-exports") : Args.Add("cpw.mods.bootstraplauncher/cpw.mods.bootstraplauncher=ALL-UNNAMED")
|
||||
@@ -1421,6 +1423,14 @@ NextInstance:
|
||||
Args.Add("-Doolloo.jlw.tmpdir=${pure_directory}") '这里需要不以 \ 结尾
|
||||
End If
|
||||
|
||||
'LUA
|
||||
Dim UseLUA As Boolean =
|
||||
Not Settings.Get("LaunchAdvanceDisableLUA") AndAlso Not Settings.Get("VersionAdvanceDisableLUA", McInstanceSelected) AndAlso
|
||||
McLaunchJavaSelected.MajorVersion >= 25
|
||||
If UseLUA Then
|
||||
Args.Add($"-javaagent:""{ExtractPatch("LUA")}""")
|
||||
End If
|
||||
|
||||
#Region "内存管理"
|
||||
|
||||
McLaunchLog("当前剩余内存:" & Math.Round(My.Computer.Info.AvailablePhysicalMemory / 1024 / 1024 / 1024 * 10) / 10 & "G")
|
||||
@@ -1489,7 +1499,7 @@ NextInstance:
|
||||
|
||||
'为 JLW 添加 -jar,它必须放在最后
|
||||
If UseJLW Then
|
||||
Args.Add("-jar") : Args.Add(ExtractJavaWrapper())
|
||||
Args.Add("-jar") : Args.Add(ExtractPatch("JavaWrapper"))
|
||||
End If
|
||||
|
||||
'再次去重并输出
|
||||
|
||||
@@ -9,18 +9,19 @@ Public Module ModMinecraft
|
||||
''' </summary>
|
||||
Public Property McFolderSelected As String
|
||||
Get
|
||||
Dim McFolderSelectedLast As String = Settings.Get("LaunchFolderSelect")
|
||||
McFolderSelectedLast = McFolderSelectedLast.Replace("$", Path)
|
||||
If _McFolderSelected Is Nothing Then _McFolderSelected = McFolderSelectedLast '仅在首次读取时触发
|
||||
If _McFolderSelected Is Nothing Then SetMcFolder(Settings.Get("LaunchFolderSelect")) '不能使用 McFolderSelected 触发 Set,这会被视为为 Get 设置返回值
|
||||
Return _McFolderSelected
|
||||
End Get
|
||||
Set(Value As String)
|
||||
If _McFolderSelected = Value Then Return
|
||||
_McFolderSelected = Value.Replace("$", Path)
|
||||
Settings.Set("LaunchFolderSelect", Value.Replace(Path, "$"))
|
||||
Log("[Minecraft] 当前选择的 Minecraft 文件夹:" & _McFolderSelected)
|
||||
SetMcFolder(Value)
|
||||
End Set
|
||||
End Property
|
||||
Private Sub SetMcFolder(Value As String) '等同 McFolderSelected.Set
|
||||
If _McFolderSelected = Value Then Return
|
||||
_McFolderSelected = Value.Replace("$", Path)
|
||||
Settings.Set("LaunchFolderSelect", Value.Replace(Path, "$"))
|
||||
Log("[Minecraft] 当前选择的 Minecraft 文件夹:" & _McFolderSelected)
|
||||
End Sub
|
||||
Private _McFolderSelected As String
|
||||
''' <summary>
|
||||
''' 当前的 Minecraft 文件夹列表。
|
||||
@@ -43,8 +44,8 @@ Public Module ModMinecraft
|
||||
|
||||
Public Overrides Function Equals(obj As Object) As Boolean
|
||||
If Not (TypeOf obj Is McFolder) Then Return False
|
||||
Dim folder = DirectCast(obj, McFolder)
|
||||
Return Name = folder.Name AndAlso Location = folder.Location AndAlso Type = folder.Type
|
||||
Dim Folder = DirectCast(obj, McFolder)
|
||||
Return Name = Folder.Name AndAlso Location = Folder.Location AndAlso Type = Folder.Type
|
||||
End Function
|
||||
Public Overrides Function ToString() As String
|
||||
Return Location
|
||||
|
||||
Reference in New Issue
Block a user