Merge pull request #4 from youzi-2333/pigeon-neoforge

修改一些龙猫的审查
This commit is contained in:
Pigeon0v0
2024-06-27 18:51:21 +08:00
committed by GitHub
8 changed files with 63 additions and 70 deletions

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">
+1 -1
View File
@@ -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"