|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -770,7 +770,7 @@
|
|||||||
Dim ResultLatest As String
|
Dim ResultLatest As String
|
||||||
Dim VersionsJArray As JArray
|
Dim VersionsJArray As JArray
|
||||||
Try
|
Try
|
||||||
ResultLatest = NetGetCodeByDownload("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/neoforge", UseBrowserUserAgent:=True)
|
ResultLatest = NetGetCodeByDownload("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/neoforge", UseBrowserUserAgent:=True, IsJson:=True)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
If GetExceptionSummary(ex).Contains("(404)") Then
|
If GetExceptionSummary(ex).Contains("(404)") Then
|
||||||
Throw New Exception("没有可用版本")
|
Throw New Exception("没有可用版本")
|
||||||
@@ -780,24 +780,19 @@
|
|||||||
End Try
|
End Try
|
||||||
If ResultLatest.Length < 50 Then Throw New Exception("获取到的版本列表长度不足(" & ResultLatest & ")")
|
If ResultLatest.Length < 50 Then Throw New Exception("获取到的版本列表长度不足(" & ResultLatest & ")")
|
||||||
VersionsJArray = GetJson(ResultLatest)("versions")
|
VersionsJArray = GetJson(ResultLatest)("versions")
|
||||||
Dim Versions As List(Of String) = New List(Of String)
|
Dim Versions As New List(Of String)
|
||||||
Versions.Add("1.20.1")
|
Versions.Add("1.20.1")
|
||||||
Try
|
Try
|
||||||
For Each Token As String In VersionsJArray
|
For Each Token As String In VersionsJArray
|
||||||
Dim Version As String = Token.ToString().Replace("neoforge-", "")
|
Dim Version As String = Token.Replace("neoforge-", "")
|
||||||
Dim Inherit As String = "1." & Version.ToString().Split(".")(0) & "." & Token.ToString().Split(".")(1)
|
Dim Inherit As String = $"1.{Version.ToString().Split(".")(0)}.{Token.ToString().Split(".")(1)}"
|
||||||
If Inherit.EndsWith(".0") Then
|
If Inherit.EndsWith(".0") Then Inherit = Inherit.Replace(".0", "")
|
||||||
Inherit = Inherit.Replace(".0", "")
|
Versions.Add(Inherit)
|
||||||
End If
|
|
||||||
If Versions.Contains(Inherit) Then
|
|
||||||
Continue For
|
|
||||||
Else
|
|
||||||
Versions.Add(Inherit)
|
|
||||||
End If
|
|
||||||
Next
|
Next
|
||||||
|
Versions.Distinct() '去重
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MyMsgBox(ex.ToString(), "错误")
|
Log(ex, LogLevel.Feedback)
|
||||||
Throw New Exception("版本列表解析失败(" & VersionsJArray.ToString & ")", ex)
|
'Throw New Exception("版本列表解析失败(" & VersionsJArray.ToString & ")", ex)
|
||||||
End Try
|
End Try
|
||||||
If Not Versions.Any() Then Throw New Exception("没有可用版本")
|
If Not Versions.Any() Then Throw New Exception("没有可用版本")
|
||||||
Loader.Output = New DlNeoForgeListResult With {.IsOfficial = True, .SourceName = "NeoForge 官方源", .Value = Versions}
|
Loader.Output = New DlNeoForgeListResult With {.IsOfficial = True, .SourceName = "NeoForge 官方源", .Value = Versions}
|
||||||
@@ -808,11 +803,11 @@
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
Public DlNeoForgeListBmclapiLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Bmclapi", AddressOf DlNeoForgeListBmclapiMain)
|
Public DlNeoForgeListBmclapiLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Bmclapi", AddressOf DlNeoForgeListBmclapiMain)
|
||||||
Private Sub DlNeoForgeListBmclapiMain(Loader As LoaderTask(Of Integer, DlNeoForgeListResult))
|
Private Sub DlNeoForgeListBmclapiMain(Loader As LoaderTask(Of Integer, DlNeoForgeListResult))
|
||||||
Dim Versions As List(Of String) = New List(Of String)
|
Dim Versions As New List(Of String)
|
||||||
Dim ClientVersions As JArray = DlClientListLoader.Output.Value("versions") 'BMCLAPI 不能返回所有 NeoForge 版本,获取 MC 版本列表进行遍历
|
Dim ClientVersions As JArray = DlClientListLoader.Output.Value("versions") 'BMCLAPI 不能返回所有 NeoForge 版本,获取 MC 版本列表进行遍历
|
||||||
Dim ClientReleases As List(Of String) = New List(Of String)
|
Dim ClientReleases As New List(Of String)
|
||||||
|
|
||||||
For Each Client In ClientVersions '排除快照版或远古版等特殊版本
|
For Each Client In ClientVersions '排除快照版或远古版等特殊版本
|
||||||
Dim ClientVersionString = Client("id").ToString()
|
Dim ClientVersionString = Client("id").ToString()
|
||||||
If Not (ClientVersionString.ContainsF("a") OrElse ClientVersionString.ContainsF("b") OrElse ClientVersionString.ContainsF("c") OrElse ClientVersionString.ContainsF("w") OrElse ClientVersionString.ContainsF("pre") OrElse ClientVersionString.ContainsF("Pre") OrElse ClientVersionString.ContainsF("rc") OrElse ClientVersionString.ContainsF("b") OrElse ClientVersionString.ContainsF("rd") OrElse ClientVersionString.ContainsF("inf")) Then
|
If Not (ClientVersionString.ContainsF("a") OrElse ClientVersionString.ContainsF("b") OrElse ClientVersionString.ContainsF("c") OrElse ClientVersionString.ContainsF("w") OrElse ClientVersionString.ContainsF("pre") OrElse ClientVersionString.ContainsF("Pre") OrElse ClientVersionString.ContainsF("rc") OrElse ClientVersionString.ContainsF("b") OrElse ClientVersionString.ContainsF("rd") OrElse ClientVersionString.ContainsF("inf")) Then
|
||||||
ClientReleases.Add(ClientVersionString)
|
ClientReleases.Add(ClientVersionString)
|
||||||
@@ -820,11 +815,10 @@
|
|||||||
Next
|
Next
|
||||||
|
|
||||||
For Each Release In ClientReleases
|
For Each Release In ClientReleases
|
||||||
If Int(Release.Split(".")(1)) > 19 Then '如果游戏版本低于 1.20 就不进行请求
|
If Int(Release.Split(".")(1)) <= 19 Then Continue For '如果游戏版本低于 1.20 就不进行请求
|
||||||
Dim Json As String = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/neoforge/list/" & Release)
|
Dim Json As String = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/neoforge/list/" & Release)
|
||||||
If Not Json.Contains("[]") Then '如果这个版本不支持 NeoForge,BMCLAPI 会直接返回一个空的 Json 序列,这里直接用字符串处理了
|
If Not Json.Contains("[]") Then '如果这个版本不支持 NeoForge,BMCLAPI 会直接返回一个空的 Json 序列,这里直接用字符串处理了
|
||||||
Versions.Add(Release)
|
Versions.Add(Release)
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
@@ -838,7 +832,7 @@
|
|||||||
''' <summary>
|
''' <summary>
|
||||||
''' 完整的版本名,如 “neoforge-20.4.30-beta”。
|
''' 完整的版本名,如 “neoforge-20.4.30-beta”。
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Public Version As String
|
Public VersionName As String
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' 对应的 Minecraft 版本,如“1.12.2”。
|
''' 对应的 Minecraft 版本,如“1.12.2”。
|
||||||
''' </summary>
|
''' </summary>
|
||||||
@@ -866,7 +860,7 @@
|
|||||||
''' <summary>
|
''' <summary>
|
||||||
''' 标准的版本号,如 “20.4.30”。
|
''' 标准的版本号,如 “20.4.30”。
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Public StdVersion As String
|
Public VersionCode As String
|
||||||
Public Structure DlNeoForgeListResult
|
Public Structure DlNeoForgeListResult
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' 数据来源名称,如“Official”,“BMCLAPI”。
|
''' 数据来源名称,如“Official”,“BMCLAPI”。
|
||||||
@@ -886,7 +880,7 @@
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
Public ReadOnly Property Build As Integer
|
Public ReadOnly Property Build As Integer
|
||||||
Get
|
Get
|
||||||
Dim Version = Me.Version.Split(".")
|
Dim Version = Me.VersionName.Split(".")
|
||||||
If Version(0) < 15 Then
|
If Version(0) < 15 Then
|
||||||
Return Version(Version.Count - 1)
|
Return Version(Version.Count - 1)
|
||||||
Else
|
Else
|
||||||
@@ -899,7 +893,7 @@
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
Public ReadOnly Property FileVersion As String
|
Public ReadOnly Property FileVersion As String
|
||||||
Get
|
Get
|
||||||
Return Version & If(Branch Is Nothing, "", "-" & Branch)
|
Return VersionName & If(Branch Is Nothing, "", "-" & Branch)
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
''' <summary>
|
''' <summary>
|
||||||
@@ -907,10 +901,10 @@
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
Public ReadOnly Property FileName As String
|
Public ReadOnly Property FileName As String
|
||||||
Get
|
Get
|
||||||
If StdVersion.StartsWith("47.") Then 'NeoForge 1.20.1 的版本命名有些特殊...
|
If VersionCode.StartsWith("47.") Then 'NeoForge 1.20.1 的版本命名有些特殊...
|
||||||
Return "forge-" & "1.20.1" & "-" & StdVersion & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
|
Return "forge-" & "1.20.1" & "-" & VersionCode & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
|
||||||
Else
|
Else
|
||||||
Return "neoforge-" & StdVersion & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
|
Return "neoforge-" & VersionCode & If(IsBeta, "-beta", "") & "-" & "installer" & "." & "jar"
|
||||||
End If
|
End If
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
@@ -996,16 +990,16 @@
|
|||||||
Dim Entry = New DlNeoForgeVersionEntry
|
Dim Entry = New DlNeoForgeVersionEntry
|
||||||
If Loader.Input IsNot Nothing Then
|
If Loader.Input IsNot Nothing Then
|
||||||
If IsLegacyNeo Then
|
If IsLegacyNeo Then
|
||||||
Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
Entry = New DlNeoForgeVersionEntry With {.VersionName = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .VersionCode = StdVersion}
|
||||||
Versions.Add(Entry)
|
Versions.Add(Entry)
|
||||||
Else
|
Else
|
||||||
If Inherit.Contains(Loader.Input.ToString().Replace("1.", "")) Then
|
If Inherit.Contains(Loader.Input.ToString().Replace("1.", "")) Then
|
||||||
Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
Entry = New DlNeoForgeVersionEntry With {.VersionName = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .VersionCode = StdVersion}
|
||||||
Versions.Add(Entry)
|
Versions.Add(Entry)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
Entry = New DlNeoForgeVersionEntry With {.VersionName = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .VersionCode = StdVersion}
|
||||||
Versions.Add(Entry)
|
Versions.Add(Entry)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -1038,7 +1032,7 @@
|
|||||||
IsBeta = False
|
IsBeta = False
|
||||||
End If
|
End If
|
||||||
Dim Inherit As String = Token("mcversion")
|
Dim Inherit As String = Token("mcversion")
|
||||||
Dim Entry = New DlNeoForgeVersionEntry With {.Version = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .StdVersion = StdVersion}
|
Dim Entry = New DlNeoForgeVersionEntry With {.VersionName = rawVersion, .Inherit = Inherit, .IsBeta = IsBeta, .VersionCode = StdVersion}
|
||||||
Versions.Add(Entry)
|
Versions.Add(Entry)
|
||||||
Next
|
Next
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
Imports System.IO.Compression
|
Imports System.IO.Compression
|
||||||
Imports MS.Internal
|
|
||||||
|
|
||||||
Public Module ModMinecraft
|
Public Module ModMinecraft
|
||||||
|
|
||||||
@@ -762,7 +761,7 @@ ExitDataLoad:
|
|||||||
Case McVersionState.Forge
|
Case McVersionState.Forge
|
||||||
Logo = PathImage & "Blocks/Anvil.png"
|
Logo = PathImage & "Blocks/Anvil.png"
|
||||||
Case McVersionState.NeoForge
|
Case McVersionState.NeoForge
|
||||||
Logo = PathImage & "Icons/NeoForged.png"
|
Logo = PathImage & "Icons/NeoForge.png"
|
||||||
Case McVersionState.Fabric
|
Case McVersionState.Fabric
|
||||||
Logo = PathImage & "Blocks/Fabric.png"
|
Logo = PathImage & "Blocks/Fabric.png"
|
||||||
Case McVersionState.OptiFine
|
Case McVersionState.OptiFine
|
||||||
|
|||||||
@@ -1700,10 +1700,10 @@ Retry:
|
|||||||
|
|
||||||
Public Sub McDownloadNeoForge(DownloadInfo As DlNeoForgeVersionEntry)
|
Public Sub McDownloadNeoForge(DownloadInfo As DlNeoForgeVersionEntry)
|
||||||
'初始化参数
|
'初始化参数
|
||||||
Dim Id As String = DownloadInfo.Inherit & "-neoforge-" & DownloadInfo.Version
|
Dim Id As String = DownloadInfo.Inherit & "-neoforge-" & DownloadInfo.VersionName
|
||||||
Dim Target As String = PathTemp & "Cache\Code\NeoForgeInstall-" & DownloadInfo.Version & "_" & GetUuid() & "." & DownloadInfo.FileSuffix
|
Dim Target As String = PathTemp & "Cache\Code\NeoForgeInstall-" & DownloadInfo.VersionName & "_" & GetUuid() & "." & DownloadInfo.FileSuffix
|
||||||
Dim VersionFolder As String = PathMcFolder & "versions\" & Id & "\"
|
Dim VersionFolder As String = PathMcFolder & "versions\" & Id & "\"
|
||||||
Dim DisplayName As String = "NeoForge " & DownloadInfo.Inherit & " - " & DownloadInfo.Version
|
Dim DisplayName As String = "NeoForge " & DownloadInfo.Inherit & " - " & DownloadInfo.VersionName
|
||||||
Try
|
Try
|
||||||
|
|
||||||
'重复任务检查
|
'重复任务检查
|
||||||
@@ -1727,7 +1727,7 @@ Retry:
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'启动
|
'启动
|
||||||
Dim Loader As New LoaderCombo(Of String)(DisplayName & " 下载", McDownloadNeoForgeLoader(DownloadInfo.Version, DownloadInfo.Inherit, DownloadInfo)) With {.OnStateChanged = AddressOf McInstallState}
|
Dim Loader As New LoaderCombo(Of String)(DisplayName & " 下载", McDownloadNeoForgeLoader(DownloadInfo.VersionName, DownloadInfo.Inherit, DownloadInfo)) With {.OnStateChanged = AddressOf McInstallState}
|
||||||
Loader.Start(VersionFolder)
|
Loader.Start(VersionFolder)
|
||||||
LoaderTaskbarAdd(Loader)
|
LoaderTaskbarAdd(Loader)
|
||||||
FrmMain.BtnExtraDownload.ShowRefresh()
|
FrmMain.BtnExtraDownload.ShowRefresh()
|
||||||
@@ -1746,7 +1746,7 @@ Retry:
|
|||||||
Public Sub McDownloadNeoForgeSave(DownloadInfo As DlNeoForgeVersionEntry)
|
Public Sub McDownloadNeoForgeSave(DownloadInfo As DlNeoForgeVersionEntry)
|
||||||
Try
|
Try
|
||||||
Dim Target As String = SelectAs("选择保存位置", DownloadInfo.FileName, "NeoForge 文件 (*." & DownloadInfo.FileSuffix & ")|*." & DownloadInfo.FileSuffix)
|
Dim Target As String = SelectAs("选择保存位置", DownloadInfo.FileName, "NeoForge 文件 (*." & DownloadInfo.FileSuffix & ")|*." & DownloadInfo.FileSuffix)
|
||||||
Dim DisplayName As String = "NeoForge " & DownloadInfo.Inherit & " - " & DownloadInfo.Version
|
Dim DisplayName As String = "NeoForge " & DownloadInfo.Inherit & " - " & DownloadInfo.VersionName
|
||||||
If Not Target.Contains("\") Then Exit Sub
|
If Not Target.Contains("\") Then Exit Sub
|
||||||
|
|
||||||
'重复任务检查
|
'重复任务检查
|
||||||
@@ -1765,15 +1765,15 @@ Retry:
|
|||||||
Loaders.Add(New LoaderTask(Of DlNeoForgeVersionEntry, List(Of NetFile))("获取下载地址",
|
Loaders.Add(New LoaderTask(Of DlNeoForgeVersionEntry, List(Of NetFile))("获取下载地址",
|
||||||
Sub(Task As LoaderTask(Of DlNeoForgeVersionEntry, List(Of NetFile)))
|
Sub(Task As LoaderTask(Of DlNeoForgeVersionEntry, List(Of NetFile)))
|
||||||
Dim Files As New List(Of NetFile)
|
Dim Files As New List(Of NetFile)
|
||||||
If DownloadInfo.StdVersion.StartsWith("47.") Then '1.20.1 NeoForge 下载地址不同
|
If DownloadInfo.VersionCode.StartsWith("47.") Then '1.20.1 NeoForge 下载地址不同
|
||||||
Files.Add(New NetFile({
|
Files.Add(New NetFile({
|
||||||
"https://bmclapi2.bangbang93.com/maven/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
|
"https://bmclapi2.bangbang93.com/maven/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
|
||||||
"https://maven.neoforged.net/releases/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
|
"https://maven.neoforged.net/releases/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
|
||||||
}, Target, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash)))
|
}, Target, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash)))
|
||||||
Else
|
Else
|
||||||
Files.Add(New NetFile({
|
Files.Add(New NetFile({
|
||||||
"https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
|
"https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
|
||||||
"https://maven.neoforged.net/releases/net/neoforged/neoforge/" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
|
"https://maven.neoforged.net/releases/net/neoforged/neoforge/" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
|
||||||
}, Target, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash)))
|
}, Target, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash)))
|
||||||
End If
|
End If
|
||||||
Task.Output = Files
|
Task.Output = Files
|
||||||
@@ -1963,22 +1963,22 @@ Retry:
|
|||||||
McFolder = If(McFolder, PathMcFolder)
|
McFolder = If(McFolder, PathMcFolder)
|
||||||
If DownloadRawInfo Is Nothing Then '兜底,有的时候 DownloadInfo 可能是空的
|
If DownloadRawInfo Is Nothing Then '兜底,有的时候 DownloadInfo 可能是空的
|
||||||
If Version.Contains("-beta") Then
|
If Version.Contains("-beta") Then
|
||||||
DownloadInfo.Version = Version
|
DownloadInfo.VersionName = Version
|
||||||
Version = Version.Replace("neoforge-", "").Replace("-beta", "").Replace("1.20.1-", "")
|
Version = Version.Replace("neoforge-", "").Replace("-beta", "").Replace("1.20.1-", "")
|
||||||
DownloadInfo.StdVersion = Version
|
DownloadInfo.VersionCode = Version
|
||||||
DownloadInfo.IsBeta = True
|
DownloadInfo.IsBeta = True
|
||||||
Else
|
Else
|
||||||
DownloadInfo.Version = Version
|
DownloadInfo.VersionName = Version
|
||||||
Version = Version.Replace("neoforge-", "").Replace("1.20.1-", "")
|
Version = Version.Replace("neoforge-", "").Replace("1.20.1-", "")
|
||||||
DownloadInfo.StdVersion = Version
|
DownloadInfo.VersionCode = Version
|
||||||
DownloadInfo.IsBeta = False
|
DownloadInfo.IsBeta = False
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
DownloadInfo = DownloadRawInfo
|
DownloadInfo = DownloadRawInfo
|
||||||
Version = DownloadInfo.StdVersion
|
Version = DownloadInfo.VersionCode
|
||||||
End If
|
End If
|
||||||
Dim IsCustomFolder As Boolean = McFolder <> PathMcFolder
|
Dim IsCustomFolder As Boolean = McFolder <> PathMcFolder
|
||||||
Dim Id As String = DownloadInfo.Version
|
Dim Id As String = DownloadInfo.VersionName
|
||||||
Dim InstallerAddress As String = PathTemp & "Cache\Code\NeoForgeInstall-" & Version & "_" & RandomInteger(0, 100000)
|
Dim InstallerAddress As String = PathTemp & "Cache\Code\NeoForgeInstall-" & Version & "_" & RandomInteger(0, 100000)
|
||||||
Dim VersionFolder As String = McFolder & "versions\" & Id & "\"
|
Dim VersionFolder As String = McFolder & "versions\" & Id & "\"
|
||||||
Dim DisplayName As String = "NeoForge " & Inherit & " - " & Version
|
Dim DisplayName As String = "NeoForge " & Inherit & " - " & Version
|
||||||
@@ -1995,7 +1995,7 @@ Retry:
|
|||||||
Task.Progress = 0.8
|
Task.Progress = 0.8
|
||||||
'查找对应版本
|
'查找对应版本
|
||||||
For Each NeoForgeVersion In NeoForgeLoader.Output
|
For Each NeoForgeVersion In NeoForgeLoader.Output
|
||||||
If NeoForgeVersion.Version = Version Then
|
If NeoForgeVersion.VersionName = Version Then
|
||||||
DownloadInfo = NeoForgeVersion
|
DownloadInfo = NeoForgeVersion
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
@@ -2012,16 +2012,16 @@ Retry:
|
|||||||
ClientDownloadLoader = McDownloadClient(NetPreDownloadBehaviour.ExitWhileExistsOrDownloading, Inherit)
|
ClientDownloadLoader = McDownloadClient(NetPreDownloadBehaviour.ExitWhileExistsOrDownloading, Inherit)
|
||||||
End If
|
End If
|
||||||
Dim Files
|
Dim Files
|
||||||
If DownloadInfo.StdVersion.StartsWith("47.") Then '1.20.1 NeoForge 下载地址不同
|
If DownloadInfo.VersionCode.StartsWith("47.") Then '1.20.1 NeoForge 下载地址不同
|
||||||
Dim FilesLegacy As New List(Of NetFile) From {New NetFile({
|
Dim FilesLegacy As New List(Of NetFile) From {New NetFile({
|
||||||
"https://bmclapi2.bangbang93.com/maven/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
|
"https://bmclapi2.bangbang93.com/maven/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
|
||||||
"https://maven.neoforged.net/releases/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
|
"https://maven.neoforged.net/releases/net/neoforged/forge/" & "1.20.1-" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
|
||||||
}, InstallerAddress, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash))}
|
}, InstallerAddress, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash))}
|
||||||
Files = FilesLegacy
|
Files = FilesLegacy
|
||||||
Else
|
Else
|
||||||
Dim FilesLatest As New List(Of NetFile) From {New NetFile({
|
Dim FilesLatest As New List(Of NetFile) From {New NetFile({
|
||||||
"https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
|
"https://bmclapi2.bangbang93.com/maven/net/neoforged/neoforge/" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName,
|
||||||
"https://maven.neoforged.net/releases/net/neoforged/neoforge/" & DownloadInfo.StdVersion & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
|
"https://maven.neoforged.net/releases/net/neoforged/neoforge/" & DownloadInfo.VersionCode & If(DownloadInfo.IsBeta, "-beta", "") & "/" & DownloadInfo.FileName
|
||||||
}, InstallerAddress, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash))}
|
}, InstallerAddress, New FileChecker(MinSize:=64 * 1024, Hash:=DownloadInfo.Hash))}
|
||||||
Files = FilesLatest
|
Files = FilesLatest
|
||||||
End If
|
End If
|
||||||
@@ -2197,7 +2197,7 @@ Retry:
|
|||||||
If Entry.IsBeta Then
|
If Entry.IsBeta Then
|
||||||
FreshBetaVersion = Entry
|
FreshBetaVersion = Entry
|
||||||
Else
|
Else
|
||||||
If Entry.StdVersion.Contains("47.1.82") Then Continue For
|
If Entry.VersionCode.Contains("47.1.82") Then Continue For
|
||||||
FreshStableVersion = Entry
|
FreshStableVersion = Entry
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -2221,12 +2221,12 @@ Retry:
|
|||||||
Public Function NeoForgeDownloadListItem(Entry As DlNeoForgeVersionEntry, OnClick As MyListItem.ClickEventHandler, IsSaveOnly As Boolean) As MyListItem
|
Public Function NeoForgeDownloadListItem(Entry As DlNeoForgeVersionEntry, OnClick As MyListItem.ClickEventHandler, IsSaveOnly As Boolean) As MyListItem
|
||||||
'建立控件
|
'建立控件
|
||||||
Dim NewItem As New MyListItem With {
|
Dim NewItem As New MyListItem With {
|
||||||
.Title = If(Entry.IsBeta, Entry.StdVersion & "-beta", Entry.StdVersion), .SnapsToDevicePixels = True, .Height = 42, .Type = MyListItem.CheckType.Clickable, .Tag = Entry,
|
.Title = If(Entry.IsBeta, Entry.VersionCode & "-beta", Entry.VersionCode), .SnapsToDevicePixels = True, .Height = 42, .Type = MyListItem.CheckType.Clickable, .Tag = Entry,
|
||||||
.Info = If(Entry.IsBeta, "测试版", "稳定版") &
|
.Info = If(Entry.IsBeta, "测试版", "稳定版") &
|
||||||
If(Entry.ReleaseTime = "",
|
If(Entry.ReleaseTime = "",
|
||||||
If(ModeDebug, If(Entry.Category IsNot Nothing, "种类:" & Entry.Category, "") & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), ""),
|
If(ModeDebug, If(Entry.Category IsNot Nothing, "种类:" & Entry.Category, "") & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), ""),
|
||||||
"发布于 " & Entry.ReleaseTime & If(ModeDebug, ",种类:" & Entry.Category & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), "")),
|
"发布于 " & Entry.ReleaseTime & If(ModeDebug, ",种类:" & Entry.Category & If(Entry.Branch Is Nothing, "", ",开发分支:" & Entry.Branch), "")),
|
||||||
.Logo = PathImage & "Icons/NeoForged.png"
|
.Logo = PathImage & "Icons/NeoForge.png"
|
||||||
}
|
}
|
||||||
AddHandler NewItem.Click, OnClick
|
AddHandler NewItem.Click, OnClick
|
||||||
'建立菜单
|
'建立菜单
|
||||||
@@ -2268,7 +2268,7 @@ Retry:
|
|||||||
Else
|
Else
|
||||||
Version = sender.Parent.Parent.Tag
|
Version = sender.Parent.Parent.Tag
|
||||||
End If
|
End If
|
||||||
OpenWebsite("https://maven.neoforged.net/releases/net/neoforged/neoforge/" & Version.StdVersion & "/" & Version.Version & "-changelog.txt")
|
OpenWebsite("https://maven.neoforged.net/releases/net/neoforged/neoforge/" & Version.VersionCode & "/" & Version.VersionName & "-changelog.txt")
|
||||||
End Sub
|
End Sub
|
||||||
Public Sub NeoForgeSave_Click(sender As Object, e As RoutedEventArgs)
|
Public Sub NeoForgeSave_Click(sender As Object, e As RoutedEventArgs)
|
||||||
Dim Version As DlNeoForgeVersionEntry
|
Dim Version As DlNeoForgeVersionEntry
|
||||||
@@ -2597,7 +2597,7 @@ Retry:
|
|||||||
If Request.ForgeEntry IsNot Nothing Then Request.ForgeVersion = If(Request.ForgeVersion, Request.ForgeEntry.Version)
|
If Request.ForgeEntry IsNot Nothing Then Request.ForgeVersion = If(Request.ForgeVersion, Request.ForgeEntry.Version)
|
||||||
If Request.ForgeVersion IsNot Nothing Then ForgeFolder = TempMcFolder & "versions\" & Request.MinecraftName & "-forge-" & Request.ForgeVersion
|
If Request.ForgeVersion IsNot Nothing Then ForgeFolder = TempMcFolder & "versions\" & Request.MinecraftName & "-forge-" & Request.ForgeVersion
|
||||||
Dim NeoForgeFolder As String = Nothing
|
Dim NeoForgeFolder As String = Nothing
|
||||||
If Request.NeoForgeEntry IsNot Nothing Then Request.NeoForgeVersion = If(Request.NeoForgeVersion, Request.NeoForgeEntry.Version)
|
If Request.NeoForgeEntry IsNot Nothing Then Request.NeoForgeVersion = If(Request.NeoForgeVersion, Request.NeoForgeEntry.VersionName)
|
||||||
If Request.NeoForgeVersion IsNot Nothing Then NeoForgeFolder = TempMcFolder & "versions\" & If(Request.NeoForgeVersion.StartsWithF("1.20.1") OrElse Request.NeoForgeVersion.StartsWithF("47."), "1.20.1-forge-", "") & Request.NeoForgeVersion.Replace("1.20.1-forge-", "").Replace("1.20.1-", "")
|
If Request.NeoForgeVersion IsNot Nothing Then NeoForgeFolder = TempMcFolder & "versions\" & If(Request.NeoForgeVersion.StartsWithF("1.20.1") OrElse Request.NeoForgeVersion.StartsWithF("47."), "1.20.1-forge-", "") & Request.NeoForgeVersion.Replace("1.20.1-forge-", "").Replace("1.20.1-", "")
|
||||||
Dim FabricFolder As String = Nothing
|
Dim FabricFolder As String = Nothing
|
||||||
If Request.FabricVersion IsNot Nothing Then FabricFolder = TempMcFolder & "versions\fabric-loader-" & Request.FabricVersion & "-" & Request.MinecraftName
|
If Request.FabricVersion IsNot Nothing Then FabricFolder = TempMcFolder & "versions\fabric-loader-" & Request.FabricVersion & "-" & Request.MinecraftName
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
<ColumnDefinition Width="1*" />
|
<ColumnDefinition Width="1*" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Image x:Name="ImgNeoForge" Margin="0,0,7,0" SnapsToDevicePixels="True" Height="18" RenderOptions.BitmapScalingMode="Linear" Source="pack://application:,,,/images/Icons/NeoForged.png" />
|
<Image x:Name="ImgNeoForge" Margin="0,0,7,0" SnapsToDevicePixels="True" Height="18" RenderOptions.BitmapScalingMode="Linear" Source="pack://application:,,,/images/Icons/NeoForge.png" />
|
||||||
<TextBlock x:Name="LabNeoForge" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Grid.Column="1" />
|
<TextBlock x:Name="LabNeoForge" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Grid.Column="1" />
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid x:Name="BtnNeoForgeClear" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,5,32,0" Background="{StaticResource ColorBrushSemiTransparent}">
|
<Grid x:Name="BtnNeoForgeClear" Height="30" Width="30" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,5,32,0" Background="{StaticResource ColorBrushSemiTransparent}">
|
||||||
|
|||||||
@@ -384,7 +384,7 @@
|
|||||||
Else
|
Else
|
||||||
BtnNeoForgeClear.Visibility = Visibility.Visible
|
BtnNeoForgeClear.Visibility = Visibility.Visible
|
||||||
ImgNeoForge.Visibility = Visibility.Visible
|
ImgNeoForge.Visibility = Visibility.Visible
|
||||||
LabNeoForge.Text = SelectedNeoForge.StdVersion & If(SelectedNeoForge.IsBeta, "-beta", "")
|
LabNeoForge.Text = SelectedNeoForge.VersionCode & If(SelectedNeoForge.IsBeta, "-beta", "")
|
||||||
LabNeoForge.Foreground = ColorGray1
|
LabNeoForge.Foreground = ColorGray1
|
||||||
End If
|
End If
|
||||||
'Fabric
|
'Fabric
|
||||||
@@ -499,7 +499,7 @@
|
|||||||
Name += "-Forge_" & SelectedForge.Version
|
Name += "-Forge_" & SelectedForge.Version
|
||||||
End If
|
End If
|
||||||
If SelectedNeoForge IsNot Nothing Then
|
If SelectedNeoForge IsNot Nothing Then
|
||||||
Name += "-NeoForge_" & SelectedNeoForge.StdVersion & If(SelectedNeoForge.IsBeta, "-beta", "")
|
Name += "-NeoForge_" & SelectedNeoForge.VersionCode & If(SelectedNeoForge.IsBeta, "-beta", "")
|
||||||
End If
|
End If
|
||||||
If SelectedLiteLoader IsNot Nothing Then
|
If SelectedLiteLoader IsNot Nothing Then
|
||||||
Name += "-LiteLoader"
|
Name += "-LiteLoader"
|
||||||
@@ -521,7 +521,7 @@
|
|||||||
Info += ", Forge " & SelectedForge.Version
|
Info += ", Forge " & SelectedForge.Version
|
||||||
End If
|
End If
|
||||||
If SelectedNeoForge IsNot Nothing Then
|
If SelectedNeoForge IsNot Nothing Then
|
||||||
Info += ", NeoForge " & SelectedNeoForge.StdVersion & If(SelectedNeoForge.IsBeta, "-beta", "")
|
Info += ", NeoForge " & SelectedNeoForge.VersionCode & If(SelectedNeoForge.IsBeta, "-beta", "")
|
||||||
End If
|
End If
|
||||||
If SelectedLiteLoader IsNot Nothing Then
|
If SelectedLiteLoader IsNot Nothing Then
|
||||||
Info += ", LiteLoader"
|
Info += ", LiteLoader"
|
||||||
@@ -541,7 +541,7 @@
|
|||||||
ElseIf SelectedForge IsNot Nothing Then
|
ElseIf SelectedForge IsNot Nothing Then
|
||||||
Return "pack://application:,,,/images/Blocks/Anvil.png"
|
Return "pack://application:,,,/images/Blocks/Anvil.png"
|
||||||
ElseIf SelectedNeoForge IsNot Nothing Then
|
ElseIf SelectedNeoForge IsNot Nothing Then
|
||||||
Return "pack://application:,,,/images/Icons/NeoForged.png"
|
Return "pack://application:,,,/images/Icons/NeoForge.png"
|
||||||
ElseIf SelectedLiteLoader IsNot Nothing Then
|
ElseIf SelectedLiteLoader IsNot Nothing Then
|
||||||
Return "pack://application:,,,/images/Blocks/Egg.png"
|
Return "pack://application:,,,/images/Blocks/Egg.png"
|
||||||
ElseIf SelectedOptiFine IsNot Nothing Then
|
ElseIf SelectedOptiFine IsNot Nothing Then
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
<local:MyComboBoxItem Content="红石灯(关)" Tag="pack://application:,,,/images/Blocks/RedstoneLampOff.png" />
|
<local:MyComboBoxItem Content="红石灯(关)" Tag="pack://application:,,,/images/Blocks/RedstoneLampOff.png" />
|
||||||
<local:MyComboBoxItem Content="鸡蛋" Tag="pack://application:,,,/images/Blocks/Egg.png" />
|
<local:MyComboBoxItem Content="鸡蛋" Tag="pack://application:,,,/images/Blocks/Egg.png" />
|
||||||
<local:MyComboBoxItem Content="布料(Fabric)" Tag="pack://application:,,,/images/Blocks/Fabric.png" />
|
<local:MyComboBoxItem Content="布料(Fabric)" Tag="pack://application:,,,/images/Blocks/Fabric.png" />
|
||||||
<local:MyComboBoxItem Content="狐狸(NeoForge)" Tag="pack://application:,,,/images/Icons/NeoForged.png" />
|
<local:MyComboBoxItem Content="狐狸(NeoForge)" Tag="pack://application:,,,/images/Icons/NeoForge.png" />
|
||||||
</local:MyComboBox>
|
</local:MyComboBox>
|
||||||
<TextBlock VerticalAlignment="Center" Grid.Row="2" HorizontalAlignment="Left" Text="分类" Margin="0,0,25,0" />
|
<TextBlock VerticalAlignment="Center" Grid.Row="2" HorizontalAlignment="Left" Text="分类" Margin="0,0,25,0" />
|
||||||
<local:MyComboBox Grid.Column="1" Grid.Row="2" x:Name="ComboDisplayType">
|
<local:MyComboBox Grid.Column="1" Grid.Row="2" x:Name="ComboDisplayType">
|
||||||
|
|||||||
@@ -202,7 +202,7 @@
|
|||||||
<!-- 鸡蛋 -->
|
<!-- 鸡蛋 -->
|
||||||
<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Blocks/Fabric.png"/>
|
<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Blocks/Fabric.png"/>
|
||||||
<!-- 布料(Fabric 图标) -->
|
<!-- 布料(Fabric 图标) -->
|
||||||
<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Icons/NeoForged.png"/>
|
<Image Width="30" Margin="5,0,0,0" Source="pack://application:,,,/images/Icons/NeoForge.png"/>
|
||||||
<!-- 狐狸(NeoForge 图标) -->
|
<!-- 狐狸(NeoForge 图标) -->
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<TextBlock TextWrapping="Wrap" Margin="0,0,0,4"
|
<TextBlock TextWrapping="Wrap" Margin="0,0,0,4"
|
||||||
|
|||||||
Reference in New Issue
Block a user