From add4153067880890a64133a9f78a8e23a8fd83dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E8=85=BE=E7=8C=AB=E8=B7=83?= <1043137532@qq.com> Date: Tue, 22 Jul 2025 21:09:24 +0800 Subject: [PATCH] 2.10.4 --- Plain Craft Launcher 2/App.config | 6 +- Plain Craft Launcher 2/Application.xaml.vb | 64 +- Plain Craft Launcher 2/FormMain.xaml.vb | 70 +- .../Modules/Base/ModBase.vb | 42 +- .../Modules/Base/ModLoader.vb | 2 +- Plain Craft Launcher 2/Modules/Base/ModNet.vb | 1370 ++++++----------- .../Modules/Minecraft/ModComp.vb | 52 +- .../Modules/Minecraft/ModCrash.vb | 4 +- .../Modules/Minecraft/ModDownload.vb | 81 +- .../Modules/Minecraft/ModJava.vb | 18 +- .../Modules/Minecraft/ModLaunch.vb | 131 +- .../Modules/Minecraft/ModMinecraft.vb | 194 +-- .../Modules/Minecraft/ModMod.vb | 27 +- .../Modules/Minecraft/ModModpack.vb | 2 +- Plain Craft Launcher 2/Modules/ModSecret.vb | 5 +- .../Modules/Reference/CookieWebClient.vb | 59 - .../DragHelper.vb} | 45 +- .../My Project/AssemblyInfo.vb | 4 +- .../My Project/Resources.Designer.vb | 70 +- .../My Project/Resources.resx | 26 +- .../Pages/PageDownload/Comp/PageComp.xaml | 2 +- .../Pages/PageDownload/Comp/PageComp.xaml.vb | 1 - .../Comp/PageDownloadCompDetail.xaml.vb | 25 +- .../Pages/PageDownload/ModDownloadLib.vb | 57 +- .../PageDownload/PageDownloadInstall.xaml | 3 +- .../PageDownload/PageDownloadInstall.xaml.vb | 19 +- .../Pages/PageLaunch/MyMsgLogin.xaml.vb | 20 +- .../Pages/PageLaunch/MySkin.xaml.vb | 11 +- .../Pages/PageLaunch/PageLaunchRight.xaml.vb | 8 +- .../Pages/PageLaunch/PageLoginLegacy.xaml | 2 +- .../Pages/PageLaunch/PageLoginLegacy.xaml.vb | 1 + .../Pages/PageLaunch/PageLoginMsSkin.xaml | 6 +- .../Pages/PageLaunch/PageLoginMsSkin.xaml.vb | 2 +- .../Pages/PageOther/PageOtherAbout.xaml | 959 ++++++------ .../Pages/PageSelectRight.xaml.vb | 2 +- .../Pages/PageSetup/PageSetupLaunch.xaml | 6 +- .../Pages/PageSetup/PageSetupSystem.xaml | 2 +- .../Pages/PageSetup/PageSetupUI.xaml.vb | 20 +- .../PageVersion/PageVersionExport.xaml.vb | 8 +- .../Pages/PageVersion/PageVersionMod.xaml.vb | 16 +- .../PageVersion/PageVersionOverall.xaml.vb | 58 +- .../Pages/PageVersion/PageVersionSetup.xaml | 4 +- .../Plain Craft Launcher 2.vbproj | 51 +- .../Resources/CacheCow.Client.FileStore.dll | Bin 0 -> 9728 bytes .../Resources/CacheCow.Client.dll | Bin 0 -> 37376 bytes .../Resources/CacheCow.Common.dll | Bin 0 -> 13824 bytes Plain Craft Launcher 2/Resources/Custom.xaml | 4 + Plain Craft Launcher 2/Resources/Help.zip | Bin 85408 -> 85730 bytes Plain Craft Launcher 2/Resources/ModData.txt | 1262 +++++++++++++-- .../Resources/Newtonsoft.Json.dll | Bin 662528 -> 711952 bytes .../Resources/System.Net.Http.Formatting.dll | Bin 0 -> 179680 bytes .../Resources/java-wrapper.jar | Bin 15761 -> 16345 bytes 52 files changed, 2727 insertions(+), 2094 deletions(-) delete mode 100644 Plain Craft Launcher 2/Modules/Reference/CookieWebClient.vb rename Plain Craft Launcher 2/Modules/{Base/ModDragHelper.vb => ThirdParty/DragHelper.vb} (68%) create mode 100644 Plain Craft Launcher 2/Resources/CacheCow.Client.FileStore.dll create mode 100644 Plain Craft Launcher 2/Resources/CacheCow.Client.dll create mode 100644 Plain Craft Launcher 2/Resources/CacheCow.Common.dll create mode 100644 Plain Craft Launcher 2/Resources/System.Net.Http.Formatting.dll diff --git a/Plain Craft Launcher 2/App.config b/Plain Craft Launcher 2/App.config index d464350..0e1a473 100644 --- a/Plain Craft Launcher 2/App.config +++ b/Plain Craft Launcher 2/App.config @@ -30,6 +30,10 @@ + + + + - \ No newline at end of file + diff --git a/Plain Craft Launcher 2/Application.xaml.vb b/Plain Craft Launcher 2/Application.xaml.vb index 5997359..5ef002b 100644 --- a/Plain Craft Launcher 2/Application.xaml.vb +++ b/Plain Craft Launcher 2/Application.xaml.vb @@ -181,53 +181,29 @@ WaitRetry: End Sub '动态 DLL 调用 - Private Shared AssemblyNAudio As Assembly - Private Shared AssemblyJson As Assembly - Private Shared AssemblyDialog As Assembly - Private Shared AssemblyImazenWebp As Assembly - Private Shared ReadOnly AssemblyNAudioLock As New Object - Private Shared ReadOnly AssemblyJsonLock As New Object - Private Shared ReadOnly AssemblyDialogLock As New Object - Private Shared ReadOnly AssemblyImazenWebpLock As New Object Private Declare Function SetDllDirectory Lib "kernel32" Alias "SetDllDirectoryA" (lpPathName As String) As Boolean - Public Shared Function AssemblyResolve(sender As Object, args As ResolveEventArgs) As Assembly - If args.Name.StartsWithF("NAudio") Then - SyncLock AssemblyNAudioLock - If AssemblyNAudio Is Nothing Then - Log("[Start] 加载 DLL:NAudio") - AssemblyNAudio = Assembly.Load(GetResources("NAudio")) - End If - Return AssemblyNAudio - End SyncLock - ElseIf args.Name.StartsWithF("Newtonsoft.Json") Then - SyncLock AssemblyJsonLock - If AssemblyJson Is Nothing Then - Log("[Start] 加载 DLL:Json") - AssemblyJson = Assembly.Load(GetResources("Json")) - End If - Return AssemblyJson - End SyncLock - ElseIf args.Name.StartsWithF("Ookii.Dialogs.Wpf") Then - SyncLock AssemblyDialogLock - If AssemblyDialog Is Nothing Then - Log("[Start] 加载 DLL:Dialogs") - AssemblyDialog = Assembly.Load(GetResources("Dialogs")) - End If - Return AssemblyDialog - End SyncLock - ElseIf args.Name.StartsWithF("Imazen.WebP") Then - SyncLock AssemblyImazenWebpLock - If AssemblyImazenWebp Is Nothing Then - Log("[Start] 加载 DLL:Imazen.WebP") - AssemblyImazenWebp = Assembly.Load(GetResources("Imazen_WebP")) - SetDllDirectory(PathPure.TrimEnd("\")) + Public Shared Function AssemblyResolve(sender As Object, Args As ResolveEventArgs) As Assembly + '缓存 + Static Prefixes As String() = {"NAudio", "Newtonsoft.Json", "Ookii.Dialogs.Wpf", "Imazen.WebP", "CacheCow.Common", "CacheCow.Client.FileStore", "CacheCow.Client", "System.Net.Http.Formatting"} + Static Locks As New Dictionary(Of String, Object)(StringComparer.Ordinal) + Static LoadedAssembly As New Dictionary(Of String, Assembly)(StringComparer.Ordinal) + '查找对应的 DLL + Dim Prefix As String = Prefixes.FirstOrDefault(Function(p) Args.Name.StartsWithF(p)) + If Prefix Is Nothing Then Return Nothing + '加载 DLL + If Not Locks.ContainsKey(Prefix) Then Locks(Prefix) = New Object() + SyncLock Locks(Prefix) + If Not LoadedAssembly.ContainsKey(Prefix) Then + Log($"[Start] 加载 DLL:{Prefix}") + LoadedAssembly(Prefix) = Assembly.Load(GetResources(Prefix)) + 'WebP 特判 + If Prefix = "Imazen.WebP" Then + SetDllDirectory(PathPure.TrimEnd("\"c)) WriteFile(PathPure & "libwebp.dll", GetResources("libwebp64")) End If - Return AssemblyImazenWebp - End SyncLock - Else - Return Nothing - End If + End If + Return LoadedAssembly(Prefix) + End SyncLock End Function '切换窗口 diff --git a/Plain Craft Launcher 2/FormMain.xaml.vb b/Plain Craft Launcher 2/FormMain.xaml.vb index 14a2c12..554bb8a 100644 --- a/Plain Craft Launcher 2/FormMain.xaml.vb +++ b/Plain Craft Launcher 2/FormMain.xaml.vb @@ -83,6 +83,13 @@ Public Class FormMain '3:BUG+ IMP* FEAT- '2:BUG* IMP- '1:BUG- + If LastVersion < 363 Then 'Snapshot 2.10.4 + FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "优化:下载资源时,会单独记忆每种资源上次下载到的文件夹,以防混淆")) + FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化:网络底层框架与下载稳定性")) + FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:无法启动一部分 LabyMod 和 GTNH 客户端")) + FeatureCount += 22 + BugCount += 26 + End If If LastVersion < 362 Then 'Snapshot 2.10.3 FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "修复:无法安装部分使用老版本 PCL 导出的整合包")) End If @@ -204,8 +211,6 @@ Public Class FormMain End Sub, "UpdateLog Output") End Sub - Private ReadOnly Helper As New DragFileHelper() - '窗口加载 Private IsWindowLoadFinished As Boolean = False Public Sub New() @@ -228,7 +233,7 @@ Public Class FormMain If Not Setup.IsUnset("LaunchArgumentIndie") Then Log("[Start] 从老 PCL 迁移版本隔离") Setup.Set("LaunchArgumentIndieV2", Setup.Get("LaunchArgumentIndie")) - ElseIf Not Setup.IsUnset("WindowHeight") Then + ElseIf Not Setup.IsUnset("LaunchVersionSelect") Then Log("[Start] 从老 PCL 升级,但此前未调整版本隔离,使用老的版本隔离默认值") Setup.Set("LaunchArgumentIndieV2", Setup.GetDefault("LaunchArgumentIndie")) Else @@ -244,36 +249,24 @@ Public Class FormMain [AddHandler](DragDrop.DragOverEvent, New DragEventHandler(AddressOf HandleDrag), handledEventsToo:=True) '加载 UI InitializeComponent() - - - Opacity = 0 - '旧代码 - ''开启管理员权限下的文件拖拽,但下列代码也没用(#2531) - 'If IsAdmin() Then - ' Log("[Start] PCL 正以管理员权限运行") + '开启管理员权限下的文件拖拽 + If IsAdmin() Then + Static Helper As New DragHelper + AddHandler SourceInitialized, + Sub() + Dim WpfHelper As New WindowInteropHelper(Me) + Helper.HwndIntPtrSource = HwndSource.FromHwnd(WpfHelper.Handle) + Helper.AddHook() + End Sub + AddHandler Closing, Sub() Helper.RemoveDragHook() + AddHandler Helper.DragDrop, Sub() FileDrag(Helper.DropFilePaths) + End If + 'If IsAdmin() Then '下列代码没用(#2531) ' ChangeWindowMessageFilter(&H233, 1) ' ChangeWindowMessageFilter(&H4A, 1) ' ChangeWindowMessageFilter(&H49, 1) 'End If - - '开启管理员权限下的文件拖拽 - If IsAdmin() Then - AddHandler Me.SourceInitialized, - Sub(sender, e) - Dim wpfHelper As New WindowInteropHelper(Me) - Helper.HwndIntPtrSource = HwndSource.FromHwnd(wpfHelper.Handle) - Helper.AddHook() - End Sub - AddHandler Me.Closing, - Sub(sender, e) - Helper.RemoveDragHook() - End Sub - AddHandler Helper.DragDrop, - Sub(sender, e) - Me.FileDrag(Helper.DropFilePaths) - End Sub - End If '切换到首页 If Not IsNothing(FrmLaunchLeft.Parent) Then FrmLaunchLeft.SetValue(ContentPresenter.ContentProperty, Nothing) If Not IsNothing(FrmLaunchRight.Parent) Then FrmLaunchRight.SetValue(ContentPresenter.ContentProperty, Nothing) @@ -390,7 +383,7 @@ Public Class FormMain Catch ex As Exception Log(ex, "清理自动更新文件失败") End Try - End Sub, "Start Loader", ThreadPriority.Lowest) + End Sub, "初始化", ThreadPriority.Lowest) Log("[Start] 第三阶段加载用时:" & GetTimeTick() - ApplicationStartTick & " ms") End Sub @@ -616,11 +609,12 @@ Public Class FormMain '按键事件 Private Sub FormMain_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown If e.IsRepeat Then Return - '调用弹窗:回车选择第一个,Esc 选择最后一个 - If PanMsg.Children.Count > 0 Then + '修复按下 Alt 后误认为弹出系统菜单导致的冻结 + If e.SystemKey = Key.LeftAlt OrElse e.SystemKey = Key.RightAlt Then e.Handled = True + '在有弹窗时:回车选择第一个,Esc 选择最后一个 + If PanMsg.Children.Any Then If e.Key = Key.Enter Then CType(PanMsg.Children(0), Object).Btn1_Click() - Return ElseIf e.Key = Key.Escape Then Dim Msg As Object = PanMsg.Children(0) If TypeOf Msg IsNot MyMsgInput AndAlso TypeOf Msg IsNot MyMsgSelect AndAlso Msg.Btn3.Visibility = Visibility.Visible Then @@ -630,9 +624,14 @@ Public Class FormMain Else Msg.Btn1_Click() End If - Return End If + Return End If + + '========================== + ' 在没有弹窗时:继续检查…… + '========================== + '按 ESC 返回上一级 If e.Key = Key.Escape Then TriggerPageBack() '更改隐藏版本可见性 @@ -666,8 +665,6 @@ Public Class FormMain FrmLaunchLeft.LaunchButtonClick() End If End If - '修复按下 Alt 后误认为弹出系统菜单导致的冻结 - If e.SystemKey = Key.LeftAlt OrElse e.SystemKey = Key.RightAlt Then e.Handled = True End Sub Private Sub FormMain_MouseDown(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseDown '鼠标侧键返回上一级 @@ -732,6 +729,7 @@ Public Class FormMain End Sub Private Sub FrmMain_Drop(sender As Object, e As DragEventArgs) Handles Me.Drop Try + ShowWindowToTop() If e.Data.GetDataPresent(DataFormats.Text) Then '获取文本 Try @@ -1505,4 +1503,4 @@ Public Class FormMain lastMouseArg = e End Sub -End Class \ No newline at end of file +End Class diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index 407855a..86eb2a3 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -13,13 +13,13 @@ Public Module ModBase #Region "声明" '下列版本信息由更新器自动修改 - Public Const VersionBaseName As String = "2.10.3" '不含分支前缀的显示用版本名 - Public Const VersionStandardCode As String = "2.10.3." & VersionBranchCode '标准格式的四段式版本号 + Public Const VersionBaseName As String = "2.10.4" '不含分支前缀的显示用版本名 + Public Const VersionStandardCode As String = "2.10.4." & VersionBranchCode '标准格式的四段式版本号 Public Const CommitHash As String = "" 'Commit Hash,由 GitHub Workflow 自动替换 #If BETA Then Public Const VersionCode As Integer = 361 'Release #Else - Public Const VersionCode As Integer = 362 'Snapshot + Public Const VersionCode As Integer = 363 'Snapshot #End If '自动生成的版本信息 Public Const VersionDisplayName As String = VersionBranchName & " " & VersionBaseName @@ -1551,7 +1551,7 @@ RetryDir: ''' ''' 获取 JSON 对象。 ''' - Public Function GetJson(Data As String) + Public Function GetJson(Data As String) As JToken Try Return JsonConvert.DeserializeObject(Data, New JsonSerializerSettings With {.DateTimeZoneHandling = DateTimeZoneHandling.Local}) Catch ex As Exception @@ -2131,6 +2131,19 @@ RetryDir: End Function End Class + ''' + ''' 将二维数组转换为字典。 + ''' + Public Function ToDictionary(Of T)(arr As T(,)) As Dictionary(Of T, T) + Dim result As New Dictionary(Of T, T) + If arr.Length = 0 Then Return result + If arr.GetLength(1) <> 2 Then Throw New ArgumentException("数组必须为两列,第一列为 Key,第二列为 Value。") + For i As Integer = 0 To arr.GetLength(0) - 1 + result(arr(i, 0)) = arr(i, 1) + Next + Return result + End Function + ''' ''' 可用于临时存放文件的,不含任何特殊字符的文件夹路径,以“\”结尾。 ''' @@ -2179,10 +2192,10 @@ RetryDir: End Function ''' - ''' 判断当前系统语言是否为 zh-CN。 + ''' 判断当前系统语言是否为中文。 ''' Public Function IsSystemLanguageChinese() As Boolean - Return CultureInfo.CurrentCulture.Name = "zh-CN" OrElse CultureInfo.CurrentUICulture.Name = "zh-CN" + Return CultureInfo.CurrentCulture.Name.StartsWithF("zh-") OrElse CultureInfo.CurrentUICulture.Name.StartsWithF("zh-") End Function Private Uuid As Integer = 1 @@ -2225,6 +2238,9 @@ NextElement: Next i Return ResultArray End Function + Public Function Any(Arr As UIElementCollection) As Boolean + Return Arr?.Count > 0 + End Function ''' ''' 获取格式类似于“11:08:52.037”的当前时间的字符串。 @@ -2462,7 +2478,7 @@ NextElement: ''' Public Sub RunInThread(Action As Action) If RunInUi() Then - RunInNewThread(Action, "Runtime Invoke " & GetUuid() & "#") + RunInNewThread(Action, "Invoke " & GetUuid()) Else Action() End If @@ -2760,11 +2776,11 @@ Retry: Using Reader As New XamlXmlReader(Stream) While Reader.Read() For Each BlackListType In {GetType(WebBrowser), GetType(Frame), GetType(MediaElement), GetType(ObjectDataProvider), GetType(XamlReader), GetType(Window), GetType(XmlDataProvider)} - If Reader.Type IsNot Nothing AndAlso BlackListType.IsAssignableFrom(Reader.Type.UnderlyingType) Then Throw New UnauthorizedAccessException($"不允许使用 {BlackListType.Name} 类型。") - If Reader.Value IsNot Nothing AndAlso Reader.Value = BlackListType.Name Then Throw New UnauthorizedAccessException($"不允许使用 {BlackListType.Name} 值。") + If Reader.Type IsNot Nothing AndAlso BlackListType.IsAssignableFrom(Reader.Type.UnderlyingType) Then Throw New UnauthorizedAccessException($"基于安全考虑,不允许使用 {BlackListType.Name} 类型。") + If Reader.Value IsNot Nothing AndAlso Reader.Value = BlackListType.Name Then Throw New UnauthorizedAccessException($"基于安全考虑,不允许使用 {BlackListType.Name} 值。") Next For Each BlackListMember In {"Code", "FactoryMethod", "Static"} - If Reader.Member IsNot Nothing AndAlso Reader.Member.Name = BlackListMember Then Throw New UnauthorizedAccessException($"不允许使用 {BlackListMember} 成员。") + If Reader.Member IsNot Nothing AndAlso Reader.Member.Name = BlackListMember Then Throw New UnauthorizedAccessException($"基于安全考虑,不允许使用 {BlackListMember} 成员。") Next End While End Using @@ -2922,7 +2938,7 @@ Retry: '处理错误会导致再次调用 Log() 导致无限循环 '输出日志 - Dim AppendText As String = "[" & GetTimeNow() & "] " & Text & vbCrLf '减轻同步锁占用 + Dim AppendText As String = $"[{GetTimeNow()}] <{If(Thread.CurrentThread.Name = "", "主线程", Thread.CurrentThread.Name)}> {Text}{vbCrLf}" '减轻同步锁占用 If ModeDebug Then SyncLock LogListLock LogList.Append(AppendText) @@ -2986,7 +3002,7 @@ Retry: Dim ExFull As String = Desc & ":" & GetExceptionDetail(Ex) '输出日志 - Dim AppendText As String = "[" & GetTimeNow() & "] " & Desc & ":" & GetExceptionDetail(Ex, True) & vbCrLf '减轻同步锁占用 + Dim AppendText As String = $"[{GetTimeNow()}] <{If(Thread.CurrentThread.Name = "", "主线程", Thread.CurrentThread.Name)}> {Desc}:{GetExceptionDetail(Ex, True)}{vbCrLf}" '减轻同步锁占用 If ModeDebug Then SyncLock LogListLock LogList.Append(AppendText) @@ -3048,7 +3064,7 @@ Retry: If ForceOpenLog OrElse (ShowMsgbox AndAlso MyMsgBox("若你在汇报一个 Bug,请点击 打开文件夹 按钮,并上传 Log(1~5).txt 中包含错误信息的文件。" & vbCrLf & "游戏崩溃一般与启动器无关,请不要因为游戏崩溃而提交反馈。", "反馈提交提醒", "打开文件夹", "不需要") = 1) Then OpenExplorer(Path & "PCL\Log1.txt") End If - OpenWebsite("https://github.com/Hex-Dragon/PCL2/issues/") + OpenWebsite("https://github.com/Meloong-Git/PCL/issues/") End Sub Public Function CanFeedback(ShowHint As Boolean) As Boolean If False.Equals(PageSetupSystem.IsLauncherNewest) Then diff --git a/Plain Craft Launcher 2/Modules/Base/ModLoader.vb b/Plain Craft Launcher 2/Modules/Base/ModLoader.vb index c0bb4c8..4719587 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModLoader.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModLoader.vb @@ -339,7 +339,7 @@ [Error] = ex State = LoadState.Failed End Try - End Sub) With {.Name = Name, .Priority = ThreadPriority} + End Sub) With {.Name = "L/" & Name, .Priority = ThreadPriority} LastRunningThread.Start() '不能使用 RunInNewThread,否则在函数返回前线程就会运行完,导致误判 IsAborted End Sub Public Overrides Sub Abort() diff --git a/Plain Craft Launcher 2/Modules/Base/ModNet.vb b/Plain Craft Launcher 2/Modules/Base/ModNet.vb index f7d1b3c..37c8c2e 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModNet.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModNet.vb @@ -1,301 +1,41 @@ -Imports System.Drawing -Imports System.Net.Http -Imports System.Net.Http.Headers +Imports System.Net.Http.Headers Imports System.Threading.Tasks -Imports Newtonsoft.Json +Imports CacheCow.Client Public Module ModNet - Public Const NetDownloadEnd As String = ".PCLDownloading" - Public ReadOnly HttpProxy As New HttpWebProxyFactory() - Private ClientFactory As New HttpClientFactory() - Private Request As New HttpRequest() - Public Class HttpRequest - Public Sub New() - End Sub - Public Function GetRequestMessage(RequestUrl As String, - Optional Method As String = "GET", - Optional Headers As Dictionary(Of String, String) = Nothing, - Optional Data As Byte() = Nothing, - Optional UseBrowserUA As Boolean = False, - Optional RequireHeaderSign As Boolean = False, - Optional RequireCdnSign As Boolean = False) As HttpRequestMessage - Dim RequestMethod As HttpMethod = GetHttpMethod(Method) - If RequireCdnSign Then RequestUrl = SecretCdnSign(RequestUrl) - - Dim RequestMessage As New HttpRequestMessage(RequestMethod, RequestUrl) - '基本参数验证 - If Data IsNot Nothing AndAlso Not {HttpMethod.Get, HttpMethod.Head}.Contains(RequestMethod) Then - RequestMessage.Content = New ByteArrayContent(Data) - RequestMessage.Content.Headers.ContentLength = Data.Length - End If - - If Headers IsNot Nothing Then - For Each Header In Headers - If Header.Key.ContainsF("Content") AndAlso RequestMessage.Content IsNot Nothing Then - 'FixContentHeader 往下挪一行就 NullReference 了 -FixContentHeader: - If Data Is Nothing OrElse RequestMessage.Content Is Nothing Then Continue For - If RequestMessage.Content.Headers.Contains(Header.Key) Then Continue For - If Not RequestMessage.Content.Headers.Contains(Header.Key) Then - If Header.Key.ToLower() = "Content-Type" Then RequestMessage.Content.Headers.ContentType = New MediaTypeHeaderValue(Header.Value) - RequestMessage.Content.Headers.TryAddWithoutValidation(Header.Key, Header.Value) - End If - Else - '不知道为什么 Content-Type 标头会通过字符串验证然后加入不应该被加入的 HttpRequestMessage Headers - '这会导致 HttpRequestMessage 内部的标头验证失败,并抛出一个 Exception 导致网络请求失败 - If Header.Key.ContainsF("Content") Then GoTo FixContentHeader - If RequestMessage.Headers.Contains(Header.Key) Then Continue For - RequestMessage.Headers.Add(Header.Key, Header.Value) - End If - Next - End If - - If RequireHeaderSign Then - SecretHeadersSign(RequestUrl, requestMessage, UseBrowserUA) - End If - - Return RequestMessage - - End Function - - ' 发送请求 - Public Function SendRequest(Req As HttpRequestMessage, - Optional RequireDecode As Boolean = True, - Optional Encode As Encoding = Nothing, - Optional Timeout As Integer = 25000, - Optional RequireReturnRespObj As Boolean = False) - Using CTS As New CancellationTokenSource(Timeout) - Dim Client = ClientFactory.GetHttpClient() - Dim Resp As HttpResponseMessage = Client.SendAsync(Req, HttpCompletionOption.ResponseHeadersRead, CTS.Token).GetAwaiter().GetResult() - - If RequireReturnRespObj Then Return Resp - - Resp.EnsureSuccessStatusCode() - CTS.CancelAfter(Timeout) - Dim ResultStream = Resp.Content.ReadAsStreamAsync().GetAwaiter().GetResult() - Using DataStream As New MemoryStream() - ResultStream.CopyTo(DataStream) - Dim Bytes = DataStream.ToArray() - Resp.Dispose() - Req.Dispose() - - If RequireDecode Then - If Encode Is Nothing Then Encode = Encoding.UTF8 - Return Encode.GetString(Bytes) - Else - Return Bytes - End If - End Using - End Using - - - End Function - - ' 获取HttpMethod - Private Function GetHttpMethod(Method As String) As HttpMethod - Select Case Method?.Trim().ToUpperInvariant() - Case "HEAD" - Return HttpMethod.Head - Case "POST" - Return HttpMethod.Post - Case "PUT" - Return HttpMethod.Put - Case "DELETE" - Return HttpMethod.Delete - Case Else - Return HttpMethod.Get - End Select - End Function - - - End Class - - Public Class HttpWebProxyFactory - Implements IWebProxy - Public DisableHttpProxy As Boolean = True - Public ProxyAddress As String - Private CurrentProxy As WebProxy - Public RequiredReloadProxy As Boolean - Public RefreshSyncLock As New Object - Public SystemProxy As New WebProxy() - Public Sub New() - End Sub - - Public Property Credentials As ICredentials Implements IWebProxy.Credentials - Get - Return AuthCredentials - End Get - Set(value As ICredentials) - AuthCredentials = value - End Set - End Property - Private AuthCredentials As ICredentials - - Public Function GetProxy(destination As Uri) As Uri Implements IWebProxy.GetProxy - Return GetProxy(destination.AbsoluteUri).Address - End Function - Public Function GetProxy(destination As String) As WebProxy - If CurrentProxy IsNot Nothing AndAlso Not RequiredReloadProxy Then Return CurrentProxy - If RequiredReloadProxy OrElse CurrentProxy Is Nothing Then - If ProxyAddress IsNot Nothing OrElse - Not String.IsNullOrWhiteSpace(ProxyAddress) Then - SyncLock RefreshSyncLock - CurrentProxy = New WebProxy(ProxyAddress, True) - If AuthCredentials IsNot Nothing Then CurrentProxy.Credentials = AuthCredentials - Return CurrentProxy - End SyncLock - Else - SyncLock RefreshSyncLock - CurrentProxy = New WebProxy() - If AuthCredentials IsNot Nothing Then CurrentProxy.Credentials = AuthCredentials - Return CurrentProxy - End SyncLock - End If - End If - Return Nothing - End Function - Public Function IsBypassed(host As Uri) As Boolean Implements IWebProxy.IsBypassed - If DisableHttpProxy Then Return True - If CurrentProxy Is Nothing Then - SyncLock RefreshSyncLock - CurrentProxy = GetProxy(host.AbsoluteUri) - End SyncLock - End If - If CurrentProxy.IsBypassed(host) Then Return True - Return False - End Function - End Class - - Public Class HttpClientFactory - Private PreviousClient As HttpClient - Private CurrentClient As HttpClient - Private HttpClientLock As New Object - Public ClientHandler As New HttpClientHandler() With { - .UseProxy = True, - .Proxy = HttpProxy, - .AutomaticDecompression = DecompressionMethods.Deflate Or DecompressionMethods.GZip Or DecompressionMethods.None - } - Public Sub New() - HttpClientReload() - End Sub - Public Function GetHttpClient(Optional Handler As HttpClientHandler = Nothing) As HttpClient - SyncLock HttpClientLock - If Handler IsNot Nothing Then - ClientHandler = Handler - CurrentClient.Dispose() - CurrentClient = New HttpClient(Handler) - Return CurrentClient - End If - If CurrentClient IsNot Nothing Then Return CurrentClient - CurrentClient = New HttpClient(ClientHandler) With {.Timeout = Timeout.InfiniteTimeSpan} - Return CurrentClient - End SyncLock - End Function - Public Sub HttpClientReload() - RunInNewThread( - Sub() - While True - Thread.Sleep(TimeSpan.FromHours(6)) - If PreviousClient IsNot Nothing Then PreviousClient.Dispose() - PreviousClient = CurrentClient - CurrentClient = GetHttpClient() - End While - End Sub - ) - End Sub - - End Class +#Region "网络请求" ''' - ''' 测试 Ping。失败则返回 -1。 + ''' 发送一次网络请求并获取返回内容。 ''' - ''' - Public Function Ping(Ip As String, Optional Timeout As Integer = 10000, Optional MakeLog As Boolean = True) As Integer - Dim PingResult As NetworkInformation.PingReply + Public Function NetRequestByClient(Url As String, Optional Method As HttpMethod = Nothing, + Optional Content As Object = Nothing, Optional ContentType As String = Nothing, Optional Accept As String = "*/*", + Optional Timeout As Integer = 25000, Optional Headers As String(,) = Nothing, + Optional Encoding As Encoding = Nothing, Optional UseBrowserUserAgent As Boolean = False) As String + If Method Is Nothing Then Method = HttpMethod.Get + Log("[Net] 发起网络请求(" & Method.Method & "," & Url & "),最大超时 " & Timeout) Try - PingResult = (New NetworkInformation.Ping).Send(Ip) + Dim HeaderDictionary = If(Headers, {}).ToDictionary + If ContentType IsNot Nothing Then HeaderDictionary("Content-Type") = ContentType + If Accept IsNot Nothing Then HeaderDictionary("Accept") = Accept + Return If(Encoding, Encoding.UTF8).GetString(SendRequest(Url, Method, Content, HeaderDictionary, Timeout:=Timeout, Encoding:=Encoding, UseBrowserUserAgent:=UseBrowserUserAgent)) + Catch ex As ThreadInterruptedException + Throw Catch ex As Exception - If MakeLog Then Log("[Net] Ping " & Ip & " 失败:" & ex.Message) - Return -1 + Log(ex, "网络请求失败", LogLevel.Developer) + Throw End Try - If PingResult.Status = NetworkInformation.IPStatus.Success Then - If MakeLog Then Log("[Net] Ping " & Ip & " 结束:" & PingResult.RoundtripTime & "ms") - Return PingResult.RoundtripTime - Else - If MakeLog Then Log("[Net] Ping " & Ip & " 失败") - Return -1 - End If End Function - ''' - ''' 以 WebClient 获取网页源代码。会进行至多 45 秒 3 次的尝试,允许最长 30s 的超时。 + ''' 发送网络请求并获取返回内容。 + ''' 会进行至多 45 秒 3 次的尝试,允许最长 30s 的超时。 ''' - ''' 网页的 Url。 - ''' 网页的编码,通常为 UTF-8。 - Public Function NetGetCodeByClient(Url As String, Encoding As Encoding, Optional Accept As String = "application/json, text/javascript, */*; q=0.01", Optional UseBrowserUserAgent As Boolean = False) As String - Dim RetryCount As Integer = 0 - Dim RetryException As Exception = Nothing - Dim StartTime As Long = GetTimeTick() - Try -Retry: - Select Case RetryCount - Case 0 '正常尝试 - Return NetGetCodeByClient(Url, Encoding, 10000, Accept, UseBrowserUserAgent) - Case 1 '慢速重试 - Thread.Sleep(500) - Return NetGetCodeByClient(Url, Encoding, 30000, Accept, UseBrowserUserAgent) - Case Else '快速重试 - If GetTimeTick() - StartTime > 5500 Then - '若前两次加载耗费 5 秒以上,才进行重试 - Thread.Sleep(500) - Return NetGetCodeByClient(Url, Encoding, 4000, Accept, UseBrowserUserAgent) - Else - Throw RetryException - End If - End Select - Catch ex As Exception - Select Case RetryCount - Case 0 - RetryException = ex - RetryCount += 1 - GoTo Retry - Case 1 - RetryCount += 1 - GoTo Retry - Case Else - Throw - End Select - End Try - End Function - Public Function NetGetCodeByClient(Url As String, Encoding As Encoding, Timeout As Integer, Accept As String, Optional UseBrowserUserAgent As Boolean = False) As String - Log("[Net] 获取客户端网络结果:" & Url & ",最大超时 " & Timeout) - Try - Dim Headers As New Dictionary(Of String, String) From { - {"Accept", Accept} - } - Using Req As HttpRequestMessage = Request.GetRequestMessage(Url, Headers:=Headers, RequireHeaderSign:=True, RequireCdnSign:=True, UseBrowserUA:=UseBrowserUserAgent) - Req.Headers.AcceptLanguage.Add(New StringWithQualityHeaderValue("en-US,en;q=0.5")) - Req.Headers.TryAddWithoutValidation("X-Request-With","XMLHttpRequest") - Dim Resp As String = Request.SendRequest(Req, Encode:=Encoding, Timeout:=Timeout) - - Return Resp - End Using - Catch ex As TaskCanceledException - Throw New TaskCanceledException("连接服务器超时(" & Url & ")", ex) - Catch ex As Exception - Throw New WebException("获取结果失败," & ex.Message & "(" & Url & ")", ex) - End Try - End Function - - ''' - ''' 以 WebRequest 获取网页源代码或 Json。会进行至多 45 秒 3 次的尝试,允许最长 30s 的超时。 - ''' - ''' 网页的 Url。 - ''' 网页的编码,通常为 UTF-8。 ''' 如果第一次尝试失败,换用的备用 URL。 - Public Function NetGetCodeByRequestRetry(Url As String, Optional Encode As Encoding = Nothing, Optional Accept As String = "", - Optional IsJson As Boolean = False, Optional BackupUrl As String = Nothing, Optional UseBrowserUserAgent As Boolean = False) + Public Function NetRequestByClientRetry(Url As String, Optional Method As HttpMethod = Nothing, Optional BackupUrl As String = Nothing, + Optional Content As Object = Nothing, Optional ContentType As String = Nothing, Optional Accept As String = "*/*", + Optional Headers As String(,) = Nothing, + Optional Encoding As Encoding = Nothing, Optional UseBrowserUserAgent As Boolean = False) As String Dim RetryCount As Integer = 0 Dim RetryException As Exception = Nothing Dim StartTime As Long = GetTimeTick() @@ -303,15 +43,15 @@ Retry: Retry: Select Case RetryCount Case 0 '正常尝试 - Return NetGetCodeByRequestOnce(Url, Encode, 10000, IsJson, Accept, UseBrowserUserAgent) + Return NetRequestByClient(Url, Method, Content, ContentType, Accept, 10000, Headers, Encoding, UseBrowserUserAgent) Case 1 '慢速重试 Thread.Sleep(500) - Return NetGetCodeByRequestOnce(If(BackupUrl, Url), Encode, 30000, IsJson, Accept, UseBrowserUserAgent) + Return NetRequestByClient(Url, Method, Content, ContentType, Accept, 30000, Headers, Encoding, UseBrowserUserAgent) Case Else '快速重试 If GetTimeTick() - StartTime > 5500 Then '若前两次加载耗费 5 秒以上,才进行重试 Thread.Sleep(500) - Return NetGetCodeByRequestOnce(If(BackupUrl, Url), Encode, 4000, IsJson, Accept, UseBrowserUserAgent) + Return NetRequestByClient(Url, Method, Content, ContentType, Accept, 4000, Headers, Encoding, UseBrowserUserAgent) Else Throw RetryException End If @@ -333,20 +73,22 @@ Retry: End Try End Function ''' - ''' 以 WebRequest 获取网页源代码或 Json。会逐渐生成 4 个尝试线程,并在 60s 后超时。 + ''' 生成数个线程,同时发送网络请求并获取返回内容。 + ''' 每个线程开始之前会略有延迟。 ''' - ''' 网页的 Url。 - ''' 网页的编码,通常为 UTF-8。 - Public Function NetGetCodeByRequestMultiple(Url As String, Optional Encode As Encoding = Nothing, Optional Accept As String = "", Optional IsJson As Boolean = False) + Public Function NetRequestByClientMultiple(Url As String, Optional Method As HttpMethod = Nothing, Optional ThreadCount As Integer = 3, + Optional Content As Object = Nothing, Optional ContentType As String = Nothing, Optional Accept As String = "*/*", + Optional Headers As String(,) = Nothing, Optional Timeout As Integer = 25000, + Optional Encoding As Encoding = Nothing, Optional UseBrowserUserAgent As Boolean = False) As String Dim Threads As New List(Of Thread) Dim RequestResult = Nothing Dim RequestEx As Exception = Nothing Dim FailCount As Integer = 0 - For i = 1 To 4 + For i = 1 To ThreadCount Dim th As New Thread( Sub() Try - RequestResult = NetGetCodeByRequestOnce(Url, Encode, 30000, IsJson, Accept) + RequestResult = NetRequestByClient(Url, Method, Content, ContentType, Accept, Timeout, Headers, Encoding, UseBrowserUserAgent) Catch ex As Exception FailCount += 1 RequestEx = ex @@ -367,7 +109,7 @@ RequestFinished: Catch End Try Return RequestResult - ElseIf FailCount = 4 Then + ElseIf FailCount = ThreadCount Then Try For Each th In Threads If th.IsAlive Then th.Interrupt() @@ -378,112 +120,71 @@ RequestFinished: End If Thread.Sleep(20) Loop - Throw New Exception("未知错误") - End Function - Public Function NetGetCodeByRequestOnce(Url As String, Optional Encode As Encoding = Nothing, Optional Timeout As Integer = 30000, Optional IsJson As Boolean = False, Optional Accept As String = "", Optional UseBrowserUserAgent As Boolean = False) - If RunInUi() AndAlso Not Url.Contains("//127.") Then Throw New Exception("在 UI 线程执行了网络请求") - Log($"[Net] 获取网络结果:{Url},超时 {Timeout}ms{If(IsJson, ",要求 json", "")}") - Try - Dim Headers As New Dictionary(Of String, String) From { - {"Accept", If(Accept = "", "*/*", Accept)} - } - Using Req As HttpRequestMessage = Request.GetRequestMessage(Url, Headers:=Headers, UseBrowserUA:=UseBrowserUserAgent, RequireHeaderSign:=True, RequireCdnSign:=True) - Dim Resp As String = Request.SendRequest(Req, Encode:=Encode, Timeout:=Timeout) - Return If(IsJson, GetJson(Resp), Resp) - End Using - - Catch ex As ThreadInterruptedException - Throw - - Catch ex As TaskCanceledException - Throw New TimeoutException($"获取结果失败({ex.Message},{Url})", ex) - Catch ex As HttpRequestException - Throw New WebException($"获取结果失败({ex.Message},{Url})", ex) - End Try + Return Nothing End Function ''' - ''' 以多线程下载网页文件的方式获取网页源代码。 + ''' 以多线程下载网页文件的方式获取内容。 + ''' 不支持缓存协商;若需缓存协商,需要换用 NetRequestByClient。 ''' - ''' 网页的 Url。 - Public Function NetGetCodeByLoader(Url As String, Optional Timeout As Integer = 45000, Optional IsJson As Boolean = False, Optional UseBrowserUserAgent As Boolean = False) As String - Dim Temp As String = RequestTaskTempFolder() & "download.txt" - Dim NewTask As New LoaderDownload("源码获取 " & GetUuid() & "#", New List(Of NetFile) From {New NetFile({Url}, Temp, New FileChecker With {.IsJson = IsJson}, UseBrowserUserAgent)}) - Try - NewTask.WaitForExitTime(Timeout, TimeoutMessage:="连接服务器超时(" & Url & ")") - NetGetCodeByLoader = ReadFile(Temp) - File.Delete(Temp) - Finally - NewTask.Abort() - End Try + Public Function NetRequestByLoader(Url As String, Optional Timeout As Integer = 45000, Optional IsJson As Boolean = False, Optional UseBrowserUserAgent As Boolean = False) As String + Return NetRequestByLoader({Url}, Timeout, IsJson, UseBrowserUserAgent) End Function ''' - ''' 以多线程下载网页文件的方式获取网页源代码。 + ''' 以多线程下载网页文件的方式获取内容。 + ''' 不支持缓存协商;若需缓存协商,需要换用 NetRequestByClient。 ''' - ''' 网页的 Url 列表。 - Public Function NetGetCodeByLoader(Urls As IEnumerable(Of String), Optional Timeout As Integer = 45000, Optional IsJson As Boolean = False, Optional UseBrowserUserAgent As Boolean = False) As String + Public Function NetRequestByLoader(Urls As IEnumerable(Of String), Optional Timeout As Integer = 45000, Optional IsJson As Boolean = False, Optional UseBrowserUserAgent As Boolean = False) As String Dim Temp As String = RequestTaskTempFolder() & "download.txt" Dim NewTask As New LoaderDownload("源码获取 " & GetUuid() & "#", New List(Of NetFile) From {New NetFile(Urls, Temp, New FileChecker With {.IsJson = IsJson}, UseBrowserUserAgent)}) Try NewTask.WaitForExitTime(Timeout, TimeoutMessage:="连接服务器超时(第一下载源:" & Urls.First & ")") - NetGetCodeByLoader = ReadFile(Temp) + NetRequestByLoader = ReadFile(Temp) File.Delete(Temp) Finally NewTask.Abort() End Try End Function +#End Region + +#Region "文件下载" + ''' - ''' 使用 WebClient 从网络中下载文件。这不能下载 CDN 中的文件。 + ''' 通过网络请求直接下载小文件,若文件已存在将被覆盖。 + ''' 不建议用于下载大文件。 ''' - ''' 网络 Url。 - ''' 下载的本地地址。 - Public Sub NetDownloadByClient(Url As String, LocalFile As String, Optional UseBrowserUserAgent As Boolean = False) - Log("[Net] 直接下载文件:" & Url) - '初始化 + Public Sub NetDownloadByClient(Url As String, LocalPath As String) + Log($"[Net] 通过网络请求直接下载小文件:{Url} → {LocalPath}") + '初始化文件路径 Try - '建立目录 - Directory.CreateDirectory(GetPathFromFullPath(LocalFile)) - '尝试删除原文件 - File.Delete(LocalFile) + Directory.CreateDirectory(GetPathFromFullPath(LocalPath)) + File.Delete(LocalPath) Catch ex As Exception - Throw New WebException($"预处理下载文件路径失败({LocalFile})", ex) + Throw New Exception($"预处理下载文件路径失败({LocalPath})", ex) End Try '下载 - Using Client As New WebClient - Try - 'SecretHeadersSign(Url, Client, UseBrowserUserAgent) - Client.DownloadFile(Url, LocalFile) - Catch ex As Exception - File.Delete(LocalFile) - Throw New WebException($"直接下载文件失败({Url})", ex) - End Try - End Using - End Sub - - ''' - ''' 简单的多线程下载文件。可以下载 CDN 中的文件。 - ''' - ''' 文件的 Url。 - ''' 下载的本地地址。 - Public Sub NetDownloadByLoader(Url As String, LocalFile As String, Optional LoaderToSyncProgress As LoaderBase = Nothing, Optional Check As FileChecker = Nothing, Optional UseBrowserUserAgent As Boolean = False) - Dim NewTask As New LoaderDownload("文件下载 " & GetUuid() & "#", New List(Of NetFile) From {New NetFile({Url}, LocalFile, Check, UseBrowserUserAgent)}) Try - NewTask.WaitForExit(LoaderToSyncProgress:=LoaderToSyncProgress) + File.WriteAllBytes(LocalPath, SendRequest(Url, HttpMethod.Get)) Catch ex As Exception - Throw New WebException($"多线程直接下载文件失败({Url})", ex) - Finally - NewTask.Abort() + File.Delete(LocalPath) + Throw New WebException($"通过网络请求直接下载小文件失败({LocalPath})", ex) End Try End Sub ''' - ''' 简单的多线程下载文件。可以下载 CDN 中的文件。 + ''' 通过多线程下载引擎下载文件。 + ''' + Public Sub NetDownloadByLoader(Url As String, LocalPath As String, Optional LoaderToSyncProgress As LoaderBase = Nothing, Optional Check As FileChecker = Nothing, Optional UseBrowserUserAgent As Boolean = False) + NetDownloadByLoader({Url}, LocalPath, LoaderToSyncProgress, Check, UseBrowserUserAgent) + End Sub + ''' + ''' 通过多线程下载引擎下载文件。 ''' ''' 文件的 Url 列表。 - ''' 下载的本地地址。 - Public Sub NetDownloadByLoader(Urls As IEnumerable(Of String), LocalFile As String, Optional LoaderToSyncProgress As LoaderBase = Nothing, Optional Check As FileChecker = Nothing, Optional UseBrowserUserAgent As Boolean = False) - Dim NewTask As New LoaderDownload("文件下载 " & GetUuid() & "#", New List(Of NetFile) From {New NetFile(Urls, LocalFile, Check, UseBrowserUserAgent)}) + ''' 下载的本地地址。 + Public Sub NetDownloadByLoader(Urls As IEnumerable(Of String), LocalPath As String, Optional LoaderToSyncProgress As LoaderBase = Nothing, Optional Check As FileChecker = Nothing, Optional UseBrowserUserAgent As Boolean = False) + Dim NewTask As New LoaderDownload($"文件下载 {GetUuid()}#", New List(Of NetFile) From {New NetFile(Urls, LocalPath, Check, UseBrowserUserAgent)}) Try NewTask.WaitForExit(LoaderToSyncProgress:=LoaderToSyncProgress) Catch ex As Exception @@ -493,140 +194,86 @@ RequestFinished: End Try End Sub - ''' - ''' 发送一个网络请求并获取返回内容,会重试三次并在最长 45s 后超时。 - ''' - ''' 请求的服务器地址。 - ''' 请求方式(POST 或 GET)。 - ''' 请求的内容。 - ''' 请求的套接字类型。 - ''' 当返回 40x 时不重试。 - Public Function NetRequestRetry(Url As String, Method As String, Data As Object, ContentType As String, Optional DontRetryOnRefused As Boolean = True, Optional Headers As Dictionary(Of String, String) = Nothing, Optional RequireReturnRespObj As Boolean = False) As String - Dim RetryCount As Integer = 0 - Dim RetryException As Exception = Nothing - Dim StartTime As Long = GetTimeTick() +#End Region + +#Region "基础请求引擎" + + '基础请求函数 + Private Function SendRequest(Url As String, Method As HttpMethod, + Optional Content As Object = Nothing, Optional Headers As Dictionary(Of String, String) = Nothing, + Optional UseBrowserUserAgent As Boolean = False, Optional Timeout As Integer = 25000, Optional Encoding As Encoding = Nothing) As Byte() + If RunInUi() AndAlso Not Url.Contains("//127.") Then Throw New Exception("在 UI 线程执行了网络请求") + Dim Request As HttpRequestMessage = Nothing, CancelToken As CancellationTokenSource = Nothing, Response As HttpResponseMessage = Nothing Try -Retry: - Select Case RetryCount - Case 0 '正常尝试 - Return NetRequestOnce(Url, Method, Data, ContentType, 15000, Headers, RequiredReturnRespObj:=RequireReturnRespObj) - Case 1 '慢速重试 - Thread.Sleep(500) - Return NetRequestOnce(Url, Method, Data, ContentType, 25000, Headers, RequiredReturnRespObj:=RequireReturnRespObj) - Case Else '快速重试 - If GetTimeTick() - StartTime > 5500 Then - '若前两次加载耗费 5 秒以上,才进行重试 - Thread.Sleep(500) - Return NetRequestOnce(Url, Method, Data, ContentType, 4000, Headers,RequiredReturnRespObj:=RequireReturnRespObj) + Static Client As HttpClient = ClientExtensions.CreateClient(New FileCacheStore.FileStore(PathTemp & "Cache/Http/"), New HttpClientHandler With { + .AutomaticDecompression = DecompressionMethods.Deflate Or DecompressionMethods.GZip Or DecompressionMethods.None, + .UseCookies = False '不设为 False 就不能从 Header 手动传入 Cookies + }) + Url = SecretCdnSign(Url) + Request = New HttpRequestMessage(Method, Url) + '写入 Content + If Content IsNot Nothing AndAlso Request.Method <> HttpMethod.Get AndAlso Request.Method <> HttpMethod.Head Then + Dim Bytes As Byte() = If(TypeOf Content Is Byte(), Content, If(Encoding, Encoding.UTF8).GetBytes(Content.ToString)) + Request.Content = New ByteArrayContent(Bytes) + Request.Content.Headers.ContentLength = Bytes.Length + End If + '写入 Headers + If Headers IsNot Nothing Then + For Each Header In Headers + If Header.Key.ToLower = "content-type" Then + Request.Content?.Headers.TryAddWithoutValidation(Header.Key, Header.Value) Else - Throw RetryException + Request.Headers.Add(Header.Key, Header.Value) End If - End Select + Next + End If + SecretHeadersSign(Url, Request, UseBrowserUserAgent) + '发送请求 + CancelToken = New CancellationTokenSource(Timeout) + Response = Client.SendAsync(Request, HttpCompletionOption.ResponseHeadersRead, CancelToken.Token).GetAwaiter().GetResult() + Dim ResponseStream = Response.Content.ReadAsStreamAsync().GetAwaiter().GetResult() + Dim ResponseBytes As Byte() + Using Stream As New MemoryStream + ResponseStream.CopyToAsync(Stream, 81920, CancelToken.Token).GetAwaiter().GetResult() + ResponseBytes = Stream.ToArray() + End Using + '输出 + If Response.IsSuccessStatusCode Then + Return ResponseBytes + Else + Throw New ResponsedWebException($"错误码 {Response.StatusCode} ({CInt(Response.StatusCode)}),{Method},{Url}", If(Encoding, Encoding.UTF8).GetString(ResponseBytes)) + End If Catch ex As ThreadInterruptedException Throw + Catch ex As ResponsedWebException + Throw + Catch ex As TaskCanceledException 'CancellationTokenSource 超时 + Throw New WebException($"连接服务器超时,请检查你的网络环境是否良好({Method}, {Url})", WebExceptionStatus.Timeout) Catch ex As Exception - If ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message.Contains("(40") AndAlso DontRetryOnRefused Then Throw - Select Case RetryCount - Case 0 - If ModeDebug Then Log(ex, "[Net] 网络请求第一次失败(" & Url & ")") - RetryException = ex - RetryCount += 1 - GoTo Retry - Case 1 - If ModeDebug Then Log(ex, "[Net] 网络请求第二次失败(" & Url & ")") - RetryCount += 1 - GoTo Retry - Case Else - Throw - End Select + Throw New Exception($"网络请求出现意外异常({Method}, {Url})", ex) + Finally + Request?.Dispose() + CancelToken?.Dispose() + Response?.Dispose() End Try End Function - ''' - ''' 同时发送多个网络请求并要求返回内容。 - ''' - Public Function NetRequestMultiple(Url As String, Method As String, Data As Object, ContentType As String, Optional RequestCount As Integer = 4, Optional Headers As Dictionary(Of String, String) = Nothing, Optional MakeLog As Boolean = True) - Dim Threads As New List(Of Thread) - Dim RequestResult = Nothing - Dim RequestEx As Exception = Nothing - Dim FailCount As Integer = 0 - For i = 1 To RequestCount - Dim th As New Thread( - Sub() - Try - RequestResult = NetRequestOnce(Url, Method, Data, ContentType, 30000, Headers, MakeLog) - Catch ex As Exception - FailCount += 1 - RequestEx = ex - End Try - End Sub) - th.Start() - Threads.Add(th) - Thread.Sleep(i * 250) - If RequestResult IsNot Nothing Then GoTo RequestFinished - Next - Do While True - If RequestResult IsNot Nothing Then -RequestFinished: - For Each th In Threads - If th.IsAlive Then th.Interrupt() - Next - Return RequestResult - ElseIf FailCount = RequestCount Then - For Each th In Threads - If th.IsAlive Then th.Interrupt() - Next - Throw RequestEx - End If - Thread.Sleep(20) - Loop - Throw New Exception("未知错误") - End Function - ''' - ''' 发送一次网络请求并获取返回内容。 - ''' - Public Function NetRequestOnce(Url As String, Method As String, Data As Object, ContentType As String, Optional Timeout As Integer = 25000, Optional Headers As Dictionary(Of String, String) = Nothing, Optional MakeLog As Boolean = True, Optional UseBrowserUserAgent As Boolean = False, Optional RequiredReturnRespObj As Boolean = False) As Object - If RunInUi() AndAlso Not Url.Contains("//127.") Then Throw New Exception("在 UI 线程执行了网络请求") - If MakeLog Then Log("[Net] 发起网络请求(" & Method & "," & Url & "),最大超时 " & Timeout) - Try - Dim ReqHeaders As New Dictionary(Of String, String) - If ContentType IsNot Nothing AndAlso Data IsNot Nothing Then - ' 可能指定了 Content-Type 但是 Headers 是 Nothing - If Headers IsNot Nothing Then - If Not Headers.ContainsKey("Content-Type") Then Headers.Add("Content-Type", ContentType) - Else - If Not ReqHeaders.ContainsKey("Content-Type") Then ReqHeaders.Add("Content-Type", ContentType) - End If - End If - Dim ReqData As Byte() = If(TypeOf Data Is String, Encoding.UTF8.GetBytes(Data), Data) - - Dim Req As HttpRequestMessage = Request.GetRequestMessage(Url, Method, If(Headers, ReqHeaders), If(Data IsNot Nothing, ReqData, Nothing), UseBrowserUserAgent, True, True) - Return Request.SendRequest(Req, If(RequiredReturnRespObj, False, True), Timeout:=Timeout, RequireReturnRespObj:=RequiredReturnRespObj) - Catch ex As ThreadInterruptedException - Throw - Catch ex As TaskCanceledException - Return New WebException($"连接服务器超时,请检查你的网络环境是否良好({ex.Message},{Url})", ex) - Catch ex As HttpRequestException - If MakeLog Then Log(ex, "NetRequestOnce 失败", LogLevel.Developer) - Throw New WebException(ex.Message, ex) - Catch ex As Exception - ex = New WebException("网络请求失败(" & Url & ")", ex) - If MakeLog Then Log(ex, "NetRequestOnce 失败", LogLevel.Developer) - Throw ex - End Try - End Function Public Class ResponsedWebException Inherits WebException ''' ''' 远程服务器给予的回复。 ''' Public Overloads Property Response As String - Public Sub New(Message As String, Response As String, InnerException As Exception) - MyBase.New(Message, InnerException) + Public Sub New(Message As String, Response As String) + MyBase.New(Message) Me.Response = Response End Sub End Class +#End Region + +#Region "多线程下载引擎" + ''' ''' 最大线程数。 ''' @@ -659,7 +306,10 @@ RequestFinished: Public Url As String Public FailCount As Integer Public Ex As Exception - Public Thread As NetThread + ''' + ''' 若该下载源正在进行强制单线程下载,标记这个唯一的线程。 + ''' + Public SingleThread As NetThread Public IsFailed As Boolean Public Overrides Function ToString() As String Return Url @@ -728,7 +378,7 @@ RequestFinished: ''' 下载线程。 ''' Public Class NetThread - Implements IEnumerable(Of NetThread) + Implements IEnumerable(Of NetThread), IEquatable(Of NetThread) ''' ''' 对应的下载任务。 @@ -787,7 +437,7 @@ RequestFinished: SyncLock Task.LockChain If NextThread Is Nothing Then If Task.IsUnknownSize Then - Return 5 * 1024 * 1024 * 1024L '5G + Return 1000 * 1000 * 1000 * 1000L '约 1T Else Return Task.FileSize - 1 End If @@ -861,6 +511,19 @@ RequestFinished: ''' Public Source As NetSource + '允许进行 UUID 比较 + Public Overloads Function Equals(other As NetThread) As Boolean Implements IEquatable(Of NetThread).Equals + Return other IsNot Nothing AndAlso Uuid = other.Uuid + End Function + Public Overrides Function Equals(obj As Object) As Boolean + Return Equals(TryCast(obj, NetThread)) + End Function + Public Shared Operator =(left As NetThread, right As NetThread) As Boolean + Return EqualityComparer(Of NetThread).Default.Equals(left, right) + End Operator + Public Shared Operator <>(left As NetThread, right As NetThread) As Boolean + Return Not left = right + End Operator End Class ''' ''' 下载单个文件。 @@ -886,12 +549,17 @@ RequestFinished: ''' Public SourcesOnce As New SafeList(Of NetSource) ''' + ''' 仅当合并失败或首次下载失败时,会将所有下载源重新标记为不允许断点续传的下载源,逐个重新尝试下载。 + ''' 这一策略可以兼容多个下载源中的一部分返回错误的文件的情况,以及部分在多线程下载时会抽风的源。 + ''' + Private Retried As Boolean = False + ''' ''' 获取从某个源开始,第一个可用的源。 ''' Private Function GetSource(Optional Id As Integer = 0) As NetSource If Id >= Sources.Count OrElse Id < 0 Then Id = 0 SyncLock LockSource - If Not IsSourceFailed(False) Then + If HasAvailableSource(False) Then '存在多线程可用源 Dim CurrentSource As NetSource = Sources(Id) While CurrentSource.IsFailed @@ -902,7 +570,7 @@ RequestFinished: Return CurrentSource ElseIf SourcesOnce.Any Then '仅存在单线程可用源 - Return SourcesOnce(0) + Return SourcesOnce.First Else '没有可用源 Return Nothing @@ -912,14 +580,12 @@ RequestFinished: ''' ''' 是否已经没有可用源了。 ''' - Public Function IsSourceFailed(Optional AllowOnceSource As Boolean = True) As Boolean - If AllowOnceSource AndAlso SourcesOnce.Any Then Return False + Public Function HasAvailableSource(Optional AllowOnceSource As Boolean = True) As Boolean SyncLock LockSource - For Each Source As NetSource In Sources - If Not Source.IsFailed Then Return False - Next + If AllowOnceSource AndAlso SourcesOnce.Any Then Return True + If Sources.Any(Function(s) Not s.IsFailed) Then Return True End SyncLock - Return True + Return False End Function ''' @@ -961,12 +627,11 @@ RequestFinished: Get Return IsUnknownSize OrElse FileSize < FilePieceLimit End Get - End Property ''' - ''' 为不需要分割的小文件进行临时存储。 + ''' 为不需要分割的小文件在内存中提供临时存储。 ''' - Private SmailFileCache As Queue(Of Byte) + Private Cache As MemoryStream ''' ''' 文件的已下载大小。 @@ -1101,7 +766,7 @@ RequestFinished: Try '条件检测 - If NetTaskThreadCount >= NetTaskThreadLimit OrElse IsSourceFailed() OrElse + If NetTaskThreadCount >= NetTaskThreadLimit OrElse Not HasAvailableSource() OrElse (IsNoSplit AndAlso Threads IsNot Nothing AndAlso Threads.State <> NetState.Error) Then Return Nothing If State >= NetState.Merge OrElse State = NetState.WaitForCheck Then Return Nothing SyncLock LockState @@ -1113,20 +778,12 @@ RequestFinished: SyncLock LockChain '获取线程起点与下载源 '不分割 - If IsNoSplit Then GoTo Capture - '单线程 - If IsSourceFailed(False) Then - '确认没有其他线程正使用此点 - If SourcesOnce(0).Thread IsNot Nothing AndAlso SourcesOnce(0).Thread.State <> NetState.Error Then Return Nothing - '占用此点 -Capture: - SmailFileCache = Nothing - Threads = Nothing - NetManager.DownloadDone -= DownloadDone - SyncLock LockDone - DownloadDone = 0 - End SyncLock - SpeedLastDone = 0 + If IsNoSplit Then GoTo StartSingleThreadDownload + '只剩下单线程可用点 + If Not HasAvailableSource(False) Then + If SourcesOnce.First.SingleThread IsNot Nothing AndAlso SourcesOnce.First.SingleThread.State <> NetState.Error Then Return Nothing +StartSingleThreadDownload: + Reset() State = NetState.Get End If '首个开始点 @@ -1164,7 +821,7 @@ StartThread: '构建线程 Dim ThreadUuid As Integer = GetUuid() If Not Tasks.Any() Then Return Nothing '由于中断,已没有可用任务 - Th = New Thread(AddressOf Thread) With {.Name = $"NetTask {Tasks(0).Uuid}/{Uuid} Download {ThreadUuid}#", .Priority = ThreadPriority.BelowNormal} + Th = New Thread(AddressOf Thread) With {.Name = $"下载 {Tasks(0).Uuid}/{Uuid}/{ThreadUuid}#", .Priority = ThreadPriority.BelowNormal} ThreadInfo = New NetThread With {.Uuid = ThreadUuid, .DownloadStart = StartPosition, .Thread = Th, .Source = StartSource, .Task = Me, .State = NetState.WaitForDownload} '链表处理 If ThreadInfo.IsFirstThread OrElse Threads Is Nothing Then @@ -1184,7 +841,7 @@ StartThread: NetTaskThreadCount += 1 End SyncLock SyncLock LockSource - If IsSourceFailed(False) Then SourcesOnce(0).Thread = ThreadInfo + If Not HasAvailableSource(False) Then SourcesOnce.First.SingleThread = ThreadInfo End SyncLock Th.Start(ThreadInfo) Return ThreadInfo @@ -1197,319 +854,297 @@ StartThread: ''' ''' 每个下载线程执行的代码。 ''' - Private Sub Thread(Info As NetThread) - If ModeDebug OrElse Info.DownloadStart = 0 Then Log("[Download] " & LocalName & " " & Info.Uuid & "#:开始,起始点 " & Info.DownloadStart & "," & Info.Source.Url) - Dim HttpRequest As HttpRequestMessage + Private Sub Thread(Th As NetThread) + If ModeDebug OrElse Th.DownloadStart = 0 Then Log($"[Download] {LocalName}:开始,起始点 {Th.DownloadStart},{Th.Source.Url}") Dim ResultStream As Stream = Nothing - Dim HttpResponse As HttpResponseMessage '部分下载源真的特别慢,并且只需要一个请求,例如 Ping 为 20s,如果增长太慢,就会造成类似 2.5s 5s 7.5s 10s 12.5s... 的极大延迟 '延迟过长会导致某些特别慢的链接迟迟不被掐死 - Dim Timeout As Integer = Math.Min(Math.Max(ConnectAverage, 6000) * (1 + Info.Source.FailCount), 30000) - Info.State = NetState.Connect + Dim Timeout As Integer = Math.Min(Math.Max(ConnectAverage, 6000) * (1 + Th.Source.FailCount), 30000) + Th.State = NetState.Connect Try Dim HttpDataCount As Integer = 0 - If SourcesOnce.Contains(Info.Source) AndAlso Not Info.Equals(Info.Source.Thread) Then GoTo SourceBreak - HttpRequest = Request.GetRequestMessage(Info.Source.Url, - RequireHeaderSign:=True) - '可能出现结束减去起始等于或者小于 0 的情况,导致下载抛出 ArgumentOutOfRangeException - If Not Info.IsFirstThread Then HttpRequest.Headers.Range = New RangeHeaderValue(Info.DownloadStart, Nothing) - HttpResponse = Request.SendRequest(HttpRequest, False, Timeout:=Timeout, RequireReturnRespObj:=True) + If SourcesOnce.Contains(Th.Source) AndAlso Th <> Th.Source.SingleThread Then GoTo SourceBreak + Dim HttpRequest As New HttpRequestMessage(HttpMethod.Get, Th.Source.Url) + SecretHeadersSign(Th.Source.Url, HttpRequest, UseBrowserUserAgent) + If Not Th.IsFirstThread Then HttpRequest.Headers.Range = New RangeHeaderValue(Th.DownloadStart, Nothing) Dim ContentLength As Long = 0 - Using HttpResponse - If State = NetState.Error Then GoTo SourceBreak '快速中断 - If ModeDebug AndAlso HttpResponse.RequestMessage.RequestUri.ToString <> Info.Source.Url Then - Log($"[Download] {LocalName} {Info.Uuid}#:重定向至 {HttpResponse.RequestMessage.RequestUri.ToString}") - End If - ''从响应头获取文件名 - 'If Info.IsFirstThread Then - ' Dim FileName As String = GetFileNameFromResponse(HttpResponse) - ' If ModeDebug Then Log($"[Download] {LocalName} {Info.Uuid}#:远程文件名:{If(FileName, "未提供")}") - ' If FileName IsNot Nothing AndAlso LocalName = "待定" Then - ' LocalName = FileName - ' Log($"[Download] {LocalName} {Info.Uuid}#:从响应头获取到文件名") - ' End If - 'End If - '文件大小校验 - ContentLength = HttpResponse.Content.Headers.ContentLength.GetValueOrDefault(-1) - - If ContentLength = -1 Then - If FileSize > 1 Then - If Info.DownloadStart = 0 Then - Log($"[Download] {LocalName} {Info.Uuid}#:文件大小未知,但已从其他下载源获取,不作处理") - Else - Log($"[Download] {LocalName} {Info.Uuid}#:ContentLength 返回了 -1,无法确定是否支持分段下载,视作不支持") - GoTo NotSupportRange - End If - Else - FileSize = -1 : IsUnknownSize = True - Log($"[Download] {LocalName} {Info.Uuid}#:文件大小未知") - End If - ElseIf ContentLength < 0 Then - Throw New Exception("获取片大小失败,结果为 " & ContentLength & "。") - ElseIf Info.IsFirstThread Then - If Check IsNot Nothing Then - If ContentLength < Check.MinSize AndAlso Check.MinSize > 0 Then - Throw New Exception($"文件大小不足,获取结果为 {ContentLength},要求至少为 {Check.MinSize}。") - End If - If ContentLength <> Check.ActualSize AndAlso Check.ActualSize > 0 Then - Throw New Exception($"文件大小不一致,获取结果为 {ContentLength},要求必须为 {Check.ActualSize}。") - End If - End If - FileSize = ContentLength : IsUnknownSize = False - Log($"[Download] {LocalName} {Info.Uuid}#:文件大小 {ContentLength}({GetString(ContentLength)})") - '若文件大小大于 50 M,进行剩余磁盘空间校验 - If ContentLength > 50 * 1024 * 1024 Then - For Each Drive As DriveInfo In DriveInfo.GetDrives - Dim DriveName As String = Drive.Name.First.ToString - Dim RequiredSpace = If(PathTemp.StartsWithF(DriveName), ContentLength * 1.1, 0) + - If(LocalPath.StartsWithF(DriveName), ContentLength + 5 * 1024 * 1024, 0) - If Drive.TotalFreeSpace < RequiredSpace Then - Throw New Exception(DriveName & " 盘空间不足,无法进行下载。" & vbCrLf & "需要至少 " & GetString(RequiredSpace) & " 空间,但当前仅剩余 " & GetString(Drive.TotalFreeSpace) & "。" & - If(PathTemp.StartsWithF(DriveName), vbCrLf & vbCrLf & "下载时需要与文件同等大小的空间存放缓存,你可以在设置中调整缓存文件夹的位置。", "")) - End If - Next - End If - ElseIf FileSize < 0 Then - Throw New Exception("非首线程运行时,尚未获取文件大小") - ElseIf Info.DownloadStart > 0 AndAlso ContentLength = FileSize Then -NotSupportRange: - SyncLock LockSource - If SourcesOnce.Contains(Info.Source) Then - GoTo SourceBreak - Else - SourcesOnce.Add(Info.Source) - End If - End SyncLock - - Throw New WebException($"该下载源不支持分段下载:Range 起始于 {Info.DownloadStart},预期 ContentLength 为 {FileSize - Info.DownloadStart},返回 ContentLength 为 {ContentLength},总文件大小 {FileSize}") - ElseIf Not FileSize - Info.DownloadStart = ContentLength Then - Throw New WebException($"获取到的分段大小不一致:Range 起始于 {Info.DownloadStart},预期 ContentLength 为 {FileSize - Info.DownloadStart},返回 ContentLength 为 {ContentLength},总文件大小 {FileSize}") - End If - Log($"[Download] {LocalName} {Info.Uuid}#:通过大小检查,文件大小 {FileSize},起始点 {Info.DownloadStart},ContentLength {ContentLength}") - Info.State = NetState.Get - SyncLock LockState - If State < NetState.Get Then State = NetState.Get - End SyncLock - '创建缓存文件 - If IsNoSplit Then - Info.Temp = Nothing - SmailFileCache = New Queue(Of Byte) - Else - Info.Temp = $"{PathTemp}Download\{Uuid}_{Info.Uuid}_{RandomInteger(0, 999999)}.tmp" - ResultStream = New FileStream(Info.Temp, FileMode.Create, FileAccess.Write, FileShare.Read) - End If - '开始下载 - Using HttpStream = HttpResponse.Content.ReadAsStreamAsync().GetAwaiter().GetResult() - If Setup.Get("SystemDebugDelay") Then Threading.Thread.Sleep(RandomInteger(50, 3000)) - Dim HttpData As Byte() = New Byte(16384) {} - HttpDataCount = HttpStream.Read(HttpData, 0, 16384) - While (IsUnknownSize OrElse Info.DownloadUndone > 0) AndAlso '判断是否下载完成 - HttpDataCount > 0 AndAlso Not IsProgramEnded AndAlso State < NetState.Merge AndAlso (Not Info.Source.IsFailed OrElse Info.Equals(Info.Source.Thread)) - '限速 - While NetTaskSpeedLimitHigh > 0 AndAlso NetTaskSpeedLimitLeft <= 0 - Threading.Thread.Sleep(16) - End While - Dim RealDataCount As Integer = If(IsUnknownSize, HttpDataCount, Math.Min(HttpDataCount, Info.DownloadUndone)) - SyncLock NetTaskSpeedLimitLeftLock - If NetTaskSpeedLimitHigh > 0 Then NetTaskSpeedLimitLeft -= RealDataCount - End SyncLock - Dim DeltaTime = GetTimeTick() - Info.LastReceiveTime - If DeltaTime > 1000000 Then DeltaTime = 1 '时间刻反转导致出现极大值 - If RealDataCount > 0 Then - '有数据 - If Info.DownloadDone = 0 Then - '第一次接受到数据 - Info.State = NetState.Download - SyncLock LockState - If State < NetState.Download Then State = NetState.Download - End SyncLock - SyncLock LockCount - ConnectCount += 1 - ConnectTime += GetTimeTick() - Info.InitTime - End SyncLock - End If - SyncLock LockCount - Info.Source.FailCount = 0 - For Each Task In Tasks - Task.FailCount = 0 - Next - End SyncLock - NetManager.DownloadDone += RealDataCount - SyncLock LockDone - DownloadDone += RealDataCount - End SyncLock - Info.DownloadDone += RealDataCount - If IsNoSplit Then - If HttpData.Count = RealDataCount Then - 'SmailFileCache.AddRange(HttpData) - For Each B In HttpData - SmailFileCache.Enqueue(B) - Next - Else - 'SmailFileCache.AddRange(HttpData.ToList.GetRange(0, RealDataCount)) - For i = 0 To RealDataCount - 1 - SmailFileCache.Enqueue(HttpData(i)) - Next - End If + Using CancelToken As New CancellationTokenSource(Timeout) + Static Client As New HttpClient(New HttpClientHandler With { + .AutomaticDecompression = DecompressionMethods.Deflate Or DecompressionMethods.GZip Or DecompressionMethods.None + }) + Using Response As HttpResponseMessage = Client.SendAsync(HttpRequest, HttpCompletionOption.ResponseHeadersRead, CancelToken.Token).GetAwaiter().GetResult() + If Not Response.IsSuccessStatusCode Then Throw New Exception($"错误码 {Response.StatusCode} ({CInt(Response.StatusCode)}),{Th.Source.Url}") '状态码检查 + If State = NetState.Error Then GoTo SourceBreak '快速中断 + If ModeDebug AndAlso Response.RequestMessage.RequestUri.ToString <> Th.Source.Url Then Log($"[Download] {LocalName}:重定向至 {Response.RequestMessage.RequestUri}") + '文件大小校验 + ContentLength = Response.Content.Headers.ContentLength.GetValueOrDefault(-1) + If ContentLength = -1 Then + If FileSize > 1 Then + If Th.DownloadStart = 0 Then + Log($"[Download] {LocalName}:文件大小未知,但已从其他下载源获取,不作处理") Else - ResultStream.Write(HttpData, 0, RealDataCount) + Log($"[Download] {LocalName}:ContentLength 返回了 -1,无法确定是否支持分段下载,视作不支持") + GoTo NotSupportRange End If - '检查速度是否过慢 - If DeltaTime > 1500 AndAlso DeltaTime > RealDataCount Then '数据包间隔大于 1.5s,且速度小于 1.5K/s - Throw New TimeoutException("由于速度过慢断开链接,下载 " & RealDataCount & " B,消耗 " & DeltaTime & " ms。") - End If - Info.LastReceiveTime = GetTimeTick() - '已完成 - If Info.DownloadUndone = 0 AndAlso Not IsUnknownSize Then Exit While - ElseIf Info.LastReceiveTime > 0 AndAlso DeltaTime > Timeout Then - '无数据,且已超时 - Throw New TimeoutException("操作超时,无数据。") + Else + FileSize = -1 : IsUnknownSize = True + Log($"[Download] {LocalName}:文件大小未知") End If - HttpDataCount = HttpStream.Read(HttpData, 0, 16384) - End While + ElseIf ContentLength < 0 Then + Throw New Exception("获取片大小失败,结果为 " & ContentLength & "。") + ElseIf Th.IsFirstThread Then + If Check IsNot Nothing Then + If ContentLength < Check.MinSize AndAlso Check.MinSize > 0 Then + Throw New Exception($"文件大小不足,获取结果为 {ContentLength},要求至少为 {Check.MinSize}。") + End If + If ContentLength <> Check.ActualSize AndAlso Check.ActualSize > 0 Then + Throw New Exception($"文件大小不一致,获取结果为 {ContentLength},要求必须为 {Check.ActualSize}。") + End If + End If + FileSize = ContentLength : IsUnknownSize = False + Log($"[Download] {LocalName}:文件大小 {ContentLength}({GetString(ContentLength)})") + '若文件大小大于 50 M,进行剩余磁盘空间校验 + If ContentLength > 50 * 1024 * 1024 Then + For Each Drive As DriveInfo In DriveInfo.GetDrives + Dim DriveName As String = Drive.Name.First.ToString + Dim RequiredSpace = If(PathTemp.StartsWithF(DriveName), ContentLength * 1.1, 0) + + If(LocalPath.StartsWithF(DriveName), ContentLength + 5 * 1024 * 1024, 0) + If Drive.TotalFreeSpace < RequiredSpace Then + Throw New Exception(DriveName & " 盘空间不足,无法进行下载。" & vbCrLf & "需要至少 " & GetString(RequiredSpace) & " 空间,但当前仅剩余 " & GetString(Drive.TotalFreeSpace) & "。" & + If(PathTemp.StartsWithF(DriveName), vbCrLf & vbCrLf & "下载时需要与文件同等大小的空间存放缓存,你可以在设置中调整缓存文件夹的位置。", "")) + End If + Next + End If + ElseIf FileSize < 0 Then + Throw New Exception("非首线程运行时,尚未获取文件大小") + ElseIf Th.DownloadStart > 0 AndAlso ContentLength = FileSize Then +NotSupportRange: + SyncLock LockSource + If SourcesOnce.Contains(Th.Source) Then + GoTo SourceBreak + Else + SourcesOnce.Add(Th.Source) + End If + End SyncLock + Throw New WebException($"该下载源不支持分段下载:Range 起始于 {Th.DownloadStart},预期 ContentLength 为 {FileSize - Th.DownloadStart},返回 ContentLength 为 {ContentLength},总文件大小 {FileSize}") + ElseIf Not FileSize - Th.DownloadStart = ContentLength Then + Throw New WebException($"获取到的分段大小不一致:Range 起始于 {Th.DownloadStart},预期 ContentLength 为 {FileSize - Th.DownloadStart},返回 ContentLength 为 {ContentLength},总文件大小 {FileSize}") + End If + 'Log($"[Download] {LocalName} {Info.Uuid}#:通过大小检查,文件大小 {FileSize},起始点 {Info.DownloadStart},ContentLength {ContentLength}") + Th.State = NetState.Get + SyncLock LockState + If State < NetState.Get Then State = NetState.Get + End SyncLock + '创建缓存文件 + If IsNoSplit Then + Th.Temp = Nothing + Cache = New MemoryStream + ResultStream = Cache + Else + Th.Temp = $"{PathTemp}Download\{Uuid}_{Th.Uuid}_{RandomInteger(0, 999999)}.tmp" + ResultStream = New FileStream(Th.Temp, FileMode.Create, FileAccess.Write, FileShare.Read) + End If + '开始下载 + Using ResponseStream = Response.Content.ReadAsStreamAsync().GetAwaiter().GetResult() + If Setup.Get("SystemDebugDelay") Then Threading.Thread.Sleep(RandomInteger(50, 3000)) + Dim ResponseBytes As Byte() = New Byte(16384) {} + HttpDataCount = ResponseStream.ReadAsync(ResponseBytes, 0, 16384, CancelToken.Token).GetAwaiter().GetResult() + While (IsUnknownSize OrElse Th.DownloadUndone > 0) AndAlso '判断是否下载完成 + HttpDataCount > 0 AndAlso Not IsProgramEnded AndAlso State < NetState.Merge AndAlso (Not Th.Source.IsFailed OrElse Th.Source.SingleThread = Th) + '限速 + While NetTaskSpeedLimitHigh > 0 AndAlso NetTaskSpeedLimitLeft <= 0 + Threading.Thread.Sleep(16) + End While + Dim RealDataCount As Integer = If(IsUnknownSize, HttpDataCount, Math.Min(HttpDataCount, Th.DownloadUndone)) + SyncLock NetTaskSpeedLimitLeftLock + If NetTaskSpeedLimitHigh > 0 Then NetTaskSpeedLimitLeft -= RealDataCount + End SyncLock + Dim DeltaTime = GetTimeTick() - Th.LastReceiveTime + If DeltaTime > 1000000 Then DeltaTime = 1 '时间刻反转导致出现极大值 + If RealDataCount > 0 Then + '有数据 + If Th.DownloadDone = 0 Then + '第一次接受到数据 + Th.State = NetState.Download + SyncLock LockState + If State < NetState.Download Then State = NetState.Download + End SyncLock + SyncLock LockCount + ConnectCount += 1 + ConnectTime += GetTimeTick() - Th.InitTime + End SyncLock + End If + SyncLock LockCount + Th.Source.FailCount = 0 + For Each Task In Tasks + Task.FailCount = 0 + Next + End SyncLock + NetManager.DownloadDone += RealDataCount + SyncLock LockDone + DownloadDone += RealDataCount + End SyncLock + Th.DownloadDone += RealDataCount + ResultStream.Write(ResponseBytes, 0, RealDataCount) + '检查速度是否过慢 + If DeltaTime > 1500 AndAlso DeltaTime > RealDataCount Then '数据包间隔大于 1.5s,且速度小于 1.5K/s + Throw New TimeoutException("由于速度过慢断开链接,下载 " & RealDataCount & " B,消耗 " & DeltaTime & " ms。") + End If + Th.LastReceiveTime = GetTimeTick() + '已完成 + If Th.DownloadUndone = 0 AndAlso Not IsUnknownSize Then Exit While + ElseIf Th.LastReceiveTime > 0 AndAlso DeltaTime > Timeout Then + '无数据,且已超时 + Throw New TimeoutException("操作超时,无数据。") + End If + HttpDataCount = ResponseStream.Read(ResponseBytes, 0, 16384) + End While + End Using End Using End Using SourceBreak: - If State = NetState.Error OrElse Info.Source.IsFailed OrElse (Info.DownloadUndone > 0 AndAlso Not IsUnknownSize) Then + If State = NetState.Error OrElse (Th.Source.IsFailed AndAlso Th.Source.SingleThread <> Th) OrElse (Th.DownloadUndone > 0 AndAlso Not IsUnknownSize) Then '被外部中断 - Info.State = NetState.Error - Log($"[Download] {LocalName} {Info.Uuid}#:中断") - ElseIf HttpDataCount = 0 AndAlso Info.DownloadUndone > 0 AndAlso Not IsUnknownSize Then + Th.State = NetState.Error + Log($"[Download] {LocalName}:中断") + ElseIf HttpDataCount = 0 AndAlso Th.DownloadUndone > 0 AndAlso Not IsUnknownSize Then '服务器无返回数据 - Throw New Exception($"返回的 ContentLength 过多:ContentLength 为 {ContentLength},但获取到的总数据量仅为 {Info.DownloadDone}(全文件总数据量 {DownloadDone})") + Throw New Exception($"返回的 ContentLength 过多:ContentLength 为 {ContentLength},但获取到的总数据量仅为 {Th.DownloadDone}(全文件总数据量 {DownloadDone})") Else '本线程完成 - Info.State = NetState.Finish - If ModeDebug Then Log($"[Download] {LocalName} {Info.Uuid}#:完成,已下载 {Info.DownloadDone}") + Th.State = NetState.Finish + If ModeDebug Then Log($"[Download] {LocalName}:完成,已下载 {Th.DownloadDone}({Th.DownloadStart}~{Th.DownloadEnd})") End If Catch ex As Exception - '状态变更 - SyncLock LockCount - Info.Source.FailCount += 1 - For Each Task In Tasks - Task.FailCount += 1 - Next - End SyncLock - Dim IsTimeoutString As String = GetExceptionSummary(ex).ToLower.Replace(" ", "") - Dim IsTimeout As Boolean = IsTimeoutString.Contains("由于连接方在一段时间后没有正确答复或连接的主机没有反应") OrElse - IsTimeoutString.Contains("超时") OrElse IsTimeoutString.Contains("timeout") OrElse IsTimeoutString.Contains("timedout") - Log("[Download] " & LocalName & " " & Info.Uuid & If(IsTimeout, "#:超时(" & (Timeout * 0.001) & "s)", "#:出错," & GetExceptionDetail(ex))) - Info.State = NetState.Error - ''使用该下载源的线程是否没有速度 - ''下载超时也会导致没有速度,容易误判下载失败,所以已弃用此方法 - 'Dim IsNoSpeed As Boolean = True - 'SyncLock LockChain - ' If Threads IsNot Nothing Then - ' For Each Thread As NetThread In Threads - ' If Thread.Source.Id = Info.Source.Id AndAlso Thread.Speed > 0 Then - ' IsNoSpeed = False - ' Exit For - ' End If - ' Next - ' End If - 'End SyncLock - Info.Source.Ex = ex - '根据情况判断,是否在多线程下禁用下载源(连续错误过多,或不支持断点续传) - If ex.Message.Contains("该下载源不支持") OrElse ex.Message.Contains("未能解析") OrElse ex.Message.Contains("(404)") OrElse - ex.Message.Contains("(502)") OrElse ex.Message.Contains("无返回数据") OrElse ex.Message.Contains("空间不足") OrElse ex.Message.Contains("获取到的分段大小不一致") OrElse - (ex.Message.Contains("(403)") AndAlso Not Info.Source.Url.ContainsF("bmclapi")) OrElse 'BMCLAPI 的部分源在高频率请求下会返回 403,所以不应因此禁用下载源 - (Info.Source.FailCount >= MathClamp(NetTaskThreadLimit, 5, 30) AndAlso DownloadDone < 1) OrElse - Info.Source.FailCount > NetTaskThreadLimit + 2 Then - Dim IsThisFail As Boolean = False - SyncLock LockSource - If Info.Source.Thread IsNot Nothing AndAlso Info.Source.Thread.Equals(Info) Then - '单线程下,本线程出错 - SourcesOnce.RemoveAt(0) - GoTo Wrong - ElseIf Not Info.Source.IsFailed Then - '多线程下,本线程出错 -Wrong: - Info.Source.IsFailed = True - IsThisFail = True - End If - End SyncLock - '本线程引发下载源被禁用 - If IsThisFail Then - Log($"[Download] {LocalName} {Info.Uuid}#:下载源被禁用({Info.Source.Id}):{Info.Source.Url}") - Log(ex, "下载源 " & Info.Source.Id & " 已被禁用", If(ex.Message.Contains("不支持分段下载") OrElse ex.Message.Contains("(404)") OrElse ex.Message.Contains("(416)"), LogLevel.Developer, LogLevel.Debug)) - If IsSourceFailed() Then - '没有可用源 - Log("[Download] 文件 " & LocalName & " 已无可用下载源") - Dim ExampleEx As Exception = Nothing - SyncLock LockSource - For Each Source As NetSource In Sources - Log("[Download] 已禁用的下载源:" & Source.Url) - If Source.Ex IsNot Nothing Then - ExampleEx = Source.Ex - Log(Source.Ex, "下载源禁用原因", LogLevel.Developer) - End If - Next - End SyncLock - Fail(ExampleEx) - ElseIf ex.Message.Contains("空间不足") Then - '没有空间 - Fail(ex) - End If - End If - End If - '首线程错误 - If FileSize = -2 Then - SyncLock LockChain - Threads = Nothing - End SyncLock - End If + Log($"[Download] {LocalName}:出错,{If(TypeOf ex Is TaskCanceledException, $"已超时({Timeout}ms)", GetExceptionDetail(ex))}") + SourceFail(Th, ex, False) Finally - If ResultStream IsNot Nothing Then ResultStream.Dispose() SyncLock NetTaskThreadCountLock NetTaskThreadCount -= 1 End SyncLock - '可能在没有下载完的时候开始合并文件了,这造成了大多数合并失败 - If ((FileSize >= 0 AndAlso DownloadDone >= FileSize) OrElse (FileSize = -1 AndAlso DownloadDone > 0)) AndAlso State < NetState.Merge Then Merge() + '合并 + If Not IsNoSplit Then ResultStream?.Dispose() + If ((FileSize >= 0 AndAlso DownloadDone >= FileSize) OrElse (FileSize = -1 AndAlso DownloadDone > 0)) AndAlso State < NetState.Merge Then Merge(Th) End Try End Sub - ''' - ''' 从 HTTP 响应头中获取文件名。 - ''' 如果没有,返回 Nothing。 - ''' - Private Function GetFileNameFromResponse(response As HttpWebResponse) As String - Dim header As String = response.Headers("Content-Disposition") - If String.IsNullOrEmpty(header) Then Return Nothing - 'attachment; filename="filename.ext" - If Not header.Contains("filename=") Then Return Nothing - Return header.AfterLast("filename=").Trim(""""c, " "c).BeforeFirst(";") - End Function + Private Sub SourceFail(Th As NetThread, ex As Exception, IsMergeFailure As Boolean) + '状态变更 + SyncLock LockCount + Th.Source.FailCount += 1 + For Each Task In Tasks + Task.FailCount += 1 + Next + End SyncLock + Th.State = NetState.Error + Th.Source.Ex = ex + '根据情况判断,是否在多线程下禁用下载源(连续错误过多,或不支持断点续传) + If IsMergeFailure OrElse + ex.Message.Contains("该下载源不支持") OrElse ex.Message.Contains("未能解析") OrElse ex.Message.Contains("(404)") OrElse + ex.Message.Contains("(502)") OrElse ex.Message.Contains("无返回数据") OrElse ex.Message.Contains("空间不足") OrElse ex.Message.Contains("获取到的分段大小不一致") OrElse + (ex.Message.Contains("(403)") AndAlso Not Th.Source.Url.ContainsF("bmclapi")) OrElse 'BMCLAPI 的部分源在高频率请求下会返回 403,所以不应因此禁用下载源 + (Th.Source.FailCount >= MathClamp(NetTaskThreadLimit, 5, 30) AndAlso DownloadDone < 1) OrElse Th.Source.FailCount > NetTaskThreadLimit + 2 Then + '当一个下载源有多个线程在下载时,只选择其中一个线程进行后续处理 + Dim IsThisFail As Boolean = False + SyncLock LockSource + If Not Th.Source.IsFailed OrElse Th.Source.SingleThread = Th Then + IsThisFail = True + Th.Source.IsFailed = True + End If + End SyncLock + '……后续处理 + If IsThisFail Then + Log($"[Download] {LocalName}:下载源被禁用({Th.Source.Id}):{Th.Source.Url}") + Log(ex, $"{If(SourcesOnce.FirstOrDefault?.SingleThread Is Nothing, "", "单线程")}下载源 {Th.Source.Id} 已被禁用", + If(ex.Message.Contains("不支持分段下载") OrElse ex.Message.Contains("(404)") OrElse ex.Message.Contains("(416)"), LogLevel.Developer, LogLevel.Debug)) + SyncLock LockSource + SourcesOnce.Remove(Th.Source) + End SyncLock + If ex.Message.Contains("空间不足") Then + '硬盘空间不足:强制失败 + Fail(ex) + ElseIf HasAvailableSource() AndAlso Not IsMergeFailure Then + '当前源失败,但还有下载源:正常地继续执行 + ElseIf Not Retried AndAlso Sources.Count > 1 Then + '合并失败或首次下载失败,未重试:将所有下载源重新标记为不允许断点续传的下载源,逐个重新尝试下载 + Log($"[Download] {LocalName}:文件下载失败,正在自动重试……", If(ModeDebug, LogLevel.Hint, LogLevel.Debug)) '在调试模式下给出红色提示 + Retried = True + SyncLock LockSource + SourcesOnce.Clear() + For Each Source In Sources + SourcesOnce.Add(Source) + Source.IsFailed = True + Next + End SyncLock + Reset() + SyncLock LockState + State = NetState.WaitForDownload + End SyncLock + ElseIf HasAvailableSource() AndAlso IsMergeFailure Then + '合并失败且单个源失败:继续下一个源 + Reset() + SyncLock LockState + State = NetState.WaitForDownload + End SyncLock + Else + '失败 + Log($"[Download] {LocalName}:已无可用下载源,下载失败") + Dim ExampleEx As Exception = Nothing + SyncLock LockSource + For Each Source As NetSource In Sources + Log("[Download] 已禁用的下载源:" & Source.Url) + If Source.Ex IsNot Nothing Then + ExampleEx = Source.Ex + Log(Source.Ex, "下载源禁用原因", LogLevel.Developer) + End If + Next + End SyncLock + Fail(ExampleEx) + End If + End If + End If + '清理当前已下载的内容 + If FileSize = -2 Then Reset() + End Sub + Private Sub Reset() + FileSize = -2 + Cache?.Dispose() : Cache = Nothing + SyncLock LockChain + Threads = Nothing + End SyncLock + NetManager.DownloadDone -= DownloadDone + SyncLock LockDone + DownloadDone = 0 + End SyncLock + SpeedLastDone = 0 + End Sub + + '最终收束事件 - '下载文件的最终收束事件 ''' ''' 下载完成。合并文件。 ''' - Private Sub Merge() + Private Sub Merge(Th As NetThread) '状态判断 SyncLock LockState If State < NetState.Merge Then State = NetState.Merge Else - Exit Sub + Return End If End SyncLock Dim RetryCount As Integer = 0 - Dim MergeFile As Stream = Nothing, AddWriter As BinaryWriter = Nothing Try Retry: SyncLock LockChain '创建文件夹 If File.Exists(LocalPath) Then File.Delete(LocalPath) - Dim Info As New FileInfo(LocalPath) - Info.Directory.Create() + Directory.CreateDirectory(GetPathFromFullPath(LocalPath)) '合并文件 If IsNoSplit Then '仅有一个线程,从缓存中输出 - If ModeDebug Then Log($"[Download] {LocalName}:下载结束,从缓存输出文件,长度:" & SmailFileCache.Count) - MergeFile = New FileStream(LocalPath, FileMode.Create) - AddWriter = New BinaryWriter(MergeFile) - AddWriter.Write(SmailFileCache.ToArray) - AddWriter.Dispose() : AddWriter = Nothing - MergeFile.Dispose() : MergeFile = Nothing + If ModeDebug Then Log($"[Download] {LocalName}:下载结束,从内存输出文件") + Cache.Position = 0 + WriteFile(LocalPath, Cache) ElseIf Threads.DownloadDone = DownloadDone AndAlso Threads.Temp IsNot Nothing Then '仅有一个文件,直接复制 If ModeDebug Then Log($"[Download] {LocalName}:下载结束,仅有一个文件,无需合并") @@ -1517,40 +1152,37 @@ Retry: Else '有多个线程,合并 If ModeDebug Then Log($"[Download] {LocalName}:下载结束,开始合并文件") - MergeFile = New FileStream(LocalPath, FileMode.Create) - AddWriter = New BinaryWriter(MergeFile) - For Each Thread As NetThread In Threads - If Thread.DownloadDone = 0 OrElse Thread.Temp Is Nothing Then Continue For - Using fs As New FileStream(Thread.Temp, FileMode.Open, FileAccess.Read, FileShare.Read) - Using TempReader As New BinaryReader(fs) - AddWriter.Write(TempReader.ReadBytes(Thread.DownloadDone)) - End Using + Using MergeFile As New FileStream(LocalPath, FileMode.Create) + Using AddWriter As New BinaryWriter(MergeFile) + For Each Thread As NetThread In Threads + If Thread.DownloadDone = 0 OrElse Thread.Temp Is Nothing Then Continue For + Using fs As New FileStream(Thread.Temp, FileMode.Open, FileAccess.Read, FileShare.Read) + Using TempReader As New BinaryReader(fs) + AddWriter.Write(TempReader.ReadBytes(Thread.DownloadDone)) + End Using + End Using + Next End Using - Next - AddWriter.Dispose() : AddWriter = Nothing - MergeFile.Dispose() : MergeFile = Nothing - End If - '写入大小要求 - If Not IsUnknownSize AndAlso Check IsNot Nothing Then - If Check.ActualSize = -1 Then - Check.ActualSize = FileSize - ElseIf Check.ActualSize <> FileSize Then - Throw New Exception($"文件大小不一致:任务要求为 {Check.ActualSize} B,网络获取结果为 {FileSize}B") - End If + End Using End If '检查文件 Dim CheckResult As String = Check?.Check(LocalPath) + If CheckResult Is Nothing AndAlso Not IsUnknownSize AndAlso Check IsNot Nothing Then + If Check.ActualSize = -1 Then + CheckResult = (New FileChecker With {.ActualSize = FileSize}).Check(LocalPath) '不修改原始的 Checker,以免污染原始实例 + ElseIf Check.ActualSize <> FileSize Then + CheckResult = $"文件大小不一致:任务校验要求为 {Check.ActualSize},请求结果为 {FileSize}" + End If + End If If CheckResult IsNot Nothing Then Log($"[Download] {LocalName} 文件校验失败,下载线程细节:") - For Each Th As NetThread In Threads - Log($"[Download] {Th.Uuid}#,状态 {GetStringFromEnum(Th.State)},范围 {Th.DownloadStart}~{Th.DownloadStart + Th.DownloadDone},完成 {Th.DownloadDone},剩余 {Th.DownloadUndone}") + For Each T As NetThread In Threads + Log($"[Download] - {T.Uuid}#,状态 {GetStringFromEnum(T.State)},范围 {T.DownloadStart}~{T.DownloadEnd},已下载 {T.DownloadDone},未下载 {T.DownloadUndone}") Next Throw New Exception(CheckResult) End If '后处理 - If IsNoSplit Then - SmailFileCache = Nothing - Else + If Not IsNoSplit Then For Each Thread As NetThread In Threads If Thread.Temp IsNot Nothing Then File.Delete(Thread.Temp) Next @@ -1558,20 +1190,18 @@ Retry: Finish() End SyncLock Catch ex As Exception - Log(ex, "合并文件出错(" & LocalName & ")") - If MergeFile IsNot Nothing Then - MergeFile.Dispose() : MergeFile = Nothing - End If - If AddWriter IsNot Nothing Then - AddWriter.Dispose() : AddWriter = Nothing - End If - '重试 - If RetryCount <= 3 Then - Threading.Thread.Sleep(RandomInteger(500, 1000)) - RetryCount += 1 + RetryCount += 1 + Log(ex, $"合并文件出错,第 {RetryCount} 次尝试({LocalName})") + '重新尝试合并 + If RetryCount < 3 Then + Threading.Thread.Sleep(500 * RetryCount) GoTo Retry End If - Fail(ex) + '失败,禁用当前下载源并重启下载 + If File.Exists(LocalPath) Then File.Delete(LocalPath) + SourceFail(Th, ex, True) + Finally + Cache?.Dispose() End Try End Sub ''' @@ -1579,12 +1209,12 @@ Retry: ''' Private Sub Fail(Optional RaiseEx As Exception = Nothing) SyncLock LockState - If State >= NetState.Finish Then Exit Sub + If State >= NetState.Finish Then Return If RaiseEx IsNot Nothing Then Ex.Add(RaiseEx) '凉凉 State = NetState.Error End SyncLock - InterruptAndDelete() + AbortInternal() For Each Task In Tasks Task.OnFileFail(Me) Next @@ -1592,24 +1222,24 @@ Retry: ''' ''' 下载中断。 ''' - Public Sub Abort(CausedByTask As LoaderDownload) + Public Sub Abort(AbortedTask As LoaderDownload) '从特定任务中移除,如果它还属于其他任务,则继续下载 - Tasks.Remove(CausedByTask) - If Tasks.Any Then Exit Sub + Tasks.Remove(AbortedTask) + If Tasks.Any Then Return '确认中断 SyncLock LockState - If State >= NetState.Finish Then Exit Sub + If State >= NetState.Finish Then Return State = NetState.Error End SyncLock - InterruptAndDelete() + AbortInternal() End Sub - Private Sub InterruptAndDelete() + Private Sub AbortInternal() On Error Resume Next - If File.Exists(LocalPath) Then File.Delete(LocalPath) + Reset() SyncLock NetManager.LockRemain NetManager.FileRemain -= 1 - Log($"[Download] {LocalName}:状态 {State},剩余文件 {NetManager.FileRemain}") End SyncLock + Log($"[Download] {LocalName}:已终止,当前状态 {State}") End Sub '状态改变接口 @@ -1618,13 +1248,13 @@ Retry: ''' Public Sub Finish(Optional PrintLog As Boolean = True) SyncLock LockState - If State >= NetState.Finish Then Exit Sub + If State >= NetState.Finish Then Return State = NetState.Finish End SyncLock SyncLock NetManager.LockRemain NetManager.FileRemain -= 1 - If PrintLog Then Log("[Download] " & LocalName & ":已完成,剩余文件 " & NetManager.FileRemain) End SyncLock + If PrintLog Then Log($"[Download] {LocalName}:已完成") For Each Task In Tasks Task.OnFileFinish(Me) Next @@ -1745,7 +1375,7 @@ NextElement: '输入检测 If Not Files.Any() Then OnFinish() - Exit Sub + Return End If For Each File As NetFile In Files If File Is Nothing Then Throw New ArgumentException("存在空文件请求!") @@ -1755,7 +1385,7 @@ NextElement: Source.IsFailed = True End If Next - If File.IsSourceFailed() Then Throw New ArgumentException("输入的下载链接不正确!") + If Not File.HasAvailableSource() Then Throw New ArgumentException("输入的下载链接不正确!") If Not File.LocalPath.ToLower.Contains(":\") Then Throw New ArgumentException("输入的本地文件地址不正确!") If File.LocalPath.EndsWithF("\") Then Throw New ArgumentException("请输入含文件名的完整文件路径!") '文件夹检测 @@ -1785,30 +1415,31 @@ NextElement: If FilesInThread.Count = FilesPerThread Then Dim FilesToRun As New List(Of NetFile) FilesToRun.AddRange(FilesInThread) - RunInNewThread(Sub() StartCopy(FilesToRun, FoldersFinal), "NetTask FileCopy " & Uuid) + RunInNewThread(Sub() StartCopy(FilesToRun, FoldersFinal), "下载 文件复制 " & Uuid) FilesInThread.Clear() End If Next If FilesInThread.Any Then Dim FilesToRun As New List(Of NetFile) FilesToRun.AddRange(FilesInThread) - RunInNewThread(Sub() StartCopy(FilesToRun, FoldersFinal), "NetTask FileCopy " & Uuid) + RunInNewThread(Sub() StartCopy(FilesToRun, FoldersFinal), "下载 文件复制 " & Uuid) FilesInThread.Clear() End If Catch ex As Exception OnFail(New List(Of Exception) From {ex}) End Try - End Sub, "NetTask " & Uuid & " Main") + End Sub, "L/下载 " & Uuid) End Sub Private Sub StartCopy(Files As List(Of NetFile), FolderList As List(Of String)) Try - If ModeDebug Then Log("[Download] 检查线程分配文件数:" & Files.Count & ",线程名:" & Thread.CurrentThread.Name) + If ModeDebug Then Log($"[Download] 检查线程分配文件数:{Files.Count},线程名:{Thread.CurrentThread.Name}") '试图从已存在的 Minecraft 文件夹中寻找目标文件 Dim ExistFiles As New List(Of KeyValuePair(Of NetFile, String)) '{NetFile, Target As String} For Each File As NetFile In Files Dim ExistFilePath As String = Nothing '判断是否有已存在的文件 - If File.Check IsNot Nothing AndAlso McFolderList IsNot Nothing AndAlso PathMcFolder IsNot Nothing AndAlso File.Check.CanUseExistsFile AndAlso File.LocalPath.StartsWithF(PathMcFolder) Then + If File.Check IsNot Nothing AndAlso McFolderList IsNot Nothing AndAlso PathMcFolder IsNot Nothing AndAlso + File.Check.CanUseExistsFile AndAlso File.LocalPath.StartsWithF(PathMcFolder) Then Dim Relative = File.LocalPath.Replace(PathMcFolder, "") For Each Folder In FolderList Dim Target = Folder & Relative @@ -1834,7 +1465,7 @@ NextElement: For Each FileToken In ExistFiles Dim File As NetFile = FileToken.Key SyncLock LockState - If File.State > NetState.WaitForCopy Then Exit Sub + If File.State > NetState.WaitForCopy Then Return End SyncLock Dim LocalPath As String = FileToken.Value Dim RetryCount As Integer = 0 @@ -1845,7 +1476,7 @@ Retry: File.Finish(False) Catch ex As Exception RetryCount += 1 - Log(ex, String.Format("复制已存在的文件失败,重试第 {2} 次({0} -> {1})", LocalPath, File.LocalPath, RetryCount)) + Log(ex, $"复制已存在的文件失败,重试第 {RetryCount} 次({LocalPath} -> {File.LocalPath})") If RetryCount < 3 Then Thread.Sleep(200) GoTo Retry @@ -1863,14 +1494,14 @@ Retry: '要求全部文件完成 SyncLock FileRemainLock FileRemain -= 1 - If FileRemain > 0 Then Exit Sub + If FileRemain > 0 Then Return End SyncLock OnFinish() End Sub Public Sub OnFinish() RaisePreviewFinish() SyncLock LockState - If State > LoadState.Loading Then Exit Sub + If State > LoadState.Loading Then Return State = LoadState.Finished End SyncLock End Sub @@ -1883,25 +1514,26 @@ Retry: End Sub Public Sub OnFail(ExList As List(Of Exception)) SyncLock LockState - If State > LoadState.Loading Then Exit Sub + If State > LoadState.Loading Then Return If ExList Is Nothing OrElse Not ExList.Any() Then ExList = New List(Of Exception) From {New Exception("未知错误!")} - '寻找第一个不是 404 的下载源 - Dim UsefulExs = ExList.Where(Function(e) Not e.Message.Contains("(404)")).ToList - [Error] = If(UsefulExs.Any, UsefulExs(0), ExList(0)) + '寻找有效的错误信息 + Dim UsefulExs = ExList.Where(Function(e) TypeOf e IsNot TaskCanceledException AndAlso TypeOf e IsNot ThreadInterruptedException).ToList + [Error] = If(UsefulExs.FirstOrDefault, ExList.FirstOrDefault) '获取实际失败的文件 For Each File In Files - If File.State = NetState.Error Then - [Error] = New Exception("文件下载失败:" & File.LocalPath & vbCrLf & Join( - File.Sources.Select(Function(s) If(s.Ex Is Nothing, s.Url, s.Ex.Message & "(" & s.Url & ")")), vbCrLf), [Error]) - Exit For - End If + If File.State <> NetState.Error Then Continue For + [Error] = New Exception("文件下载失败:" & File.LocalPath & vbCrLf & + "各下载源的错误如下:" & vbCrLf & + Join(File.Sources.Select(Function(s) $"{If(s.Ex?.Message, "无错误信息。")}({s.Url})"), vbCrLf), + [Error]) + Exit For Next '在设置 Error 对象后再更改为失败,避免 WaitForExit 无法捕获错误 State = LoadState.Failed End SyncLock '中断所有文件 For Each TaskFile In Files - If TaskFile.State < NetState.Merge Then TaskFile.State = NetState.Error + TaskFile.Abort(Me) Next '在退出同步锁后再进行日志输出 Dim ErrOutput As New List(Of String) @@ -1912,7 +1544,7 @@ Retry: End Sub Public Overrides Sub Abort() SyncLock LockState - If State >= LoadState.Finished Then Exit Sub + If State >= LoadState.Finished Then Return State = LoadState.Aborted End SyncLock Log("[Download] " & Name & " 已取消!") @@ -2029,7 +1661,7 @@ Retry: ''' 启动监控线程,用于新增下载线程。 ''' Private Sub StartManager() - If IsManagerStarted Then Exit Sub + If IsManagerStarted Then Return IsManagerStarted = True Dim ThreadStarter = Sub(Id As Integer) '0 或 1 @@ -2141,9 +1773,8 @@ Retry: Files(File.LocalPath) = File SyncLock LockRemain FileRemain += 1 - If ModeDebug Then Log("[Download] " & File.LocalName & ":已替换列表,剩余文件 " & FileRemain) - 'FileRemainList.Add(File.LocalPath) End SyncLock + If ModeDebug Then Log($"[Download] {File.LocalName}:重新加入下载列表") Else '该文件正在下载中 '将当前文件替换成下载中的文件,即两个任务指向同一个文件 @@ -2156,9 +1787,8 @@ Retry: Files.Add(File.LocalPath, File) SyncLock LockRemain FileRemain += 1 - If ModeDebug Then Log("[Download] " & File.LocalName & ":已加入列表,剩余文件 " & FileRemain) - 'FileRemainList.Add(File.LocalPath) End SyncLock + If ModeDebug Then Log($"[Download] {File.LocalName}:已加入下载列表") End If Task.Files(i) = File '回设 Next @@ -2181,4 +1811,26 @@ Retry: Return False End Function +#End Region + + ''' + ''' 测试 Ping。失败则返回 -1。 + ''' + Public Function Ping(Ip As String, Optional Timeout As Integer = 10000, Optional MakeLog As Boolean = True) As Integer + Dim PingResult As NetworkInformation.PingReply + Try + PingResult = (New NetworkInformation.Ping).Send(Ip) + Catch ex As Exception + If MakeLog Then Log("[Net] Ping " & Ip & " 失败:" & ex.Message) + Return -1 + End Try + If PingResult.Status = NetworkInformation.IPStatus.Success Then + If MakeLog Then Log("[Net] Ping " & Ip & " 结束:" & PingResult.RoundtripTime & "ms") + Return PingResult.RoundtripTime + Else + If MakeLog Then Log("[Net] Ping " & Ip & " 失败") + Return -1 + End If + End Function + End Module diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb index 727013a..c62beb9 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModComp.vb @@ -1076,7 +1076,7 @@ Retry: Try '获取工程列表 Log("[Comp] 开始从 CurseForge 获取工程列表:" & CurseForgeUrl) - Dim RequestResult As JObject = DlModRequest(CurseForgeUrl, IsJson:=True) + Dim RequestResult As JObject = DlModRequest(CurseForgeUrl) Task.Progress += 0.2 Dim ProjectList As New List(Of CompProject) For Each JsonEntry As JObject In RequestResult("data") @@ -1107,7 +1107,7 @@ Retry: Sub() Try Log("[Comp] 开始从 Modrinth 获取工程列表:" & ModrinthUrl) - Dim RequestResult As JObject = DlModRequest(ModrinthUrl, IsJson:=True) + Dim RequestResult As JObject = DlModRequest(ModrinthUrl) Task.Progress += 0.2 Dim ProjectList As New List(Of CompProject) For Each JsonEntry As JObject In RequestResult("hits") @@ -1396,7 +1396,7 @@ Retry: 'DownloadAddress Dim Url = Data("downloadUrl").ToString If Url = "" Then Url = $"https://media.forgecdn.net/files/{CInt(Id.ToString.Substring(0, 4))}/{CInt(Id.ToString.Substring(4))}/{FileName}" - Url = Url.Replace(FileName, Net.WebUtility.UrlEncode(FileName)) '对文件名进行编码 + Url = Url.Replace(FileName, WebUtility.UrlEncode(FileName)) '对文件名进行编码 DownloadUrls = HandleCurseForgeDownloadUrls(Url) '对脑残 CurseForge 的下载地址进行多种修正 DownloadUrls.AddRange(DownloadUrls.Select(Function(u) DlSourceModGet(u)).ToList) '添加镜像源,这个写法是为了让镜像源排在后面 DownloadUrls = DownloadUrls.Distinct.ToList '最终去重 @@ -1492,9 +1492,8 @@ Retry: Return { Url.Replace("-service.overwolf.wtf", ".forgecdn.net").Replace("://edge.", "://mediafilez.").Replace("://media.", "://mediafilez."), Url.Replace("://edge.", "://mediafilez.").Replace("://media.", "://mediafilez."), - Url.Replace("-service.overwolf.wtf", ".forgecdn.net").Replace("://edge.", "://media."), Url.Replace("-service.overwolf.wtf", ".forgecdn.net"), - Url.Replace("://edge.", "://media."), + Url.Replace("://media.", "://edge."), Url }.Distinct.ToList End Function @@ -1591,27 +1590,40 @@ Retry: If CompProjectCache.ContainsKey(ProjectId) Then '存在缓存 TargetProject = CompProjectCache(ProjectId) ElseIf FromCurseForge Then 'CurseForge - TargetProject = New CompProject(DlModRequest("https://api.curseforge.com/v1/mods/" & ProjectId, IsJson:=True)("data")) + TargetProject = New CompProject(DlModRequest("https://api.curseforge.com/v1/mods/" & ProjectId)("data")) Else 'Modrinth - TargetProject = New CompProject(DlModRequest("https://api.modrinth.com/v2/project/" & ProjectId, IsJson:=True)) + TargetProject = New CompProject(DlModRequest("https://api.modrinth.com/v2/project/" & ProjectId)) End If '获取工程对象的文件列表 If Not CompFilesCache.ContainsKey(ProjectId) Then '有缓存也不能直接返回,这时候前置可能没获取(#5173) Log("[Comp] 开始获取文件列表:" & ProjectId) - Dim ResultJsonArray As JArray + Dim ResultJsonArray As JArray = Nothing If FromCurseForge Then 'CurseForge - 'HMCL 一次性请求了 10000 个文件,虽然不知道会不会出问题但先这样吧……(#5522) - ResultJsonArray = DlModRequest($"https://api.curseforge.com/v1/mods/{ProjectId}/files?pageSize=10000", IsJson:=True)("data") - '之前只请求一部分文件的方法备份如下: - 'If TargetProject.Type = CompType.Mod Then 'Mod 使用每个版本最新的文件 - ' ResultJsonArray = GetJson(DlModRequest("https://api.curseforge.com/v1/mods/files", "POST", "{""fileIds"": [" & Join(TargetProject.CurseForgeFileIds, ",") & "]}", "application/json"))("data") - 'Else '否则使用全部文件 - ' ResultJsonArray = DlModRequest($"https://api.curseforge.com/v1/mods/{ProjectId}/files?pageSize=999", IsJson:=True)("data") - 'End If + For RetryCount As Integer = 0 To 2 + Dim ResultJson As JObject = DlModRequest($"https://api.curseforge.com/v1/mods/{ProjectId}/files?pageSize=" & + (10000 + RetryCount)) '每次重试多请求一个文件,以避免触发 CDN 缓存 + 'HMCL 一次性请求了 10000 个文件,虽然不知道会不会出问题但先这样吧……(#5522) + '之前只请求一部分文件的方法备份如下: + 'If TargetProject.Type = CompType.Mod Then 'Mod 使用每个版本最新的文件 + ' ResultJsonArray = DlModRequest("https://api.curseforge.com/v1/mods/files", HttpMethod.Post, "{""fileIds"": [" & Join(TargetProject.CurseForgeFileIds, ",") & "]}", "application/json")("data") + 'Else '否则使用全部文件 + ' ResultJsonArray = DlModRequest($"https://api.curseforge.com/v1/mods/{ProjectId}/files?pageSize=999")("data") + 'End If + If ResultJson("pagination")("resultCount").ToObject(Of Integer) = ResultJson("pagination")("totalCount").ToObject(Of Integer) Then + ResultJsonArray = ResultJson("data") + Exit For + ElseIf RetryCount < 2 Then + Log($"[Comp] CurseForge 返回的文件列表存在缺失,即将进行第 {RetryCount + 1} 次重试", LogLevel.Debug) '#6224 + Log($"[Comp] 返回的原始内容如下:{vbCrLf}{ResultJson}") + Else + Log($"[Comp] CurseForge 返回的文件列表存在缺失,返回的原始内容如下:{vbCrLf}{ResultJson}") + Throw New Exception("CurseForge 返回的文件列表存在缺失") + End If + Next Else 'Modrinth - ResultJsonArray = DlModRequest($"https://api.modrinth.com/v2/project/{ProjectId}/version", IsJson:=True) + ResultJsonArray = DlModRequest($"https://api.modrinth.com/v2/project/{ProjectId}/version") End If CompFilesCache(ProjectId) = ResultJsonArray.Select(Function(a) New CompFile(a, TargetProject.Type)). Where(Function(a) a.Available).ToList. @@ -1625,10 +1637,10 @@ Retry: Log($"[Comp] {ProjectId} 文件列表中还需要获取信息的前置:{Join(UndoneDeps, ",")}") Dim Projects As JArray If TargetProject.FromCurseForge Then - Projects = GetJson(DlModRequest("https://api.curseforge.com/v1/mods", - "POST", "{""modIds"": [" & Join(UndoneDeps, ",") & "]}", "application/json"))("data") + Projects = DlModRequest("https://api.curseforge.com/v1/mods", + HttpMethod.Post, "{""modIds"": [" & Join(UndoneDeps, ",") & "]}", "application/json")("data") Else - Projects = DlModRequest($"https://api.modrinth.com/v2/projects?ids=[""{Join(UndoneDeps, """,""")}""]", IsJson:=True) + Projects = DlModRequest($"https://api.modrinth.com/v2/projects?ids=[""{Join(UndoneDeps, """,""")}""]") End If For Each Project In Projects Dim Unused As New CompProject(Project) '在 New 的时候会添加缓存以便之后读取 diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb index 33fe597..2ed1744 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb @@ -1018,9 +1018,9 @@ NextStack: End If Case CrashReason.特定实体导致崩溃 If Additional.Count = 1 Then - Results.Add("游戏似乎因为实体 " & Additional.First & " 出现了问题。\n\n你可以创建一个新世界,并生成一个该实体,然后观察游戏的运行情况:\n - 若正常运行,则是该实体导致出错,你或许需要使用一些方式删除此实体。\n - 若仍然出错,问题就可能来自其他原因……\h") + Results.Add("游戏似乎因为实体 " & Additional.First & " 出现了问题。\n\n你可以创建一个新世界,并生成一个该实体,然后观察游戏的运行情况。\h") Else - Results.Add("游戏似乎因为世界中的某些实体出现了问题。\n\n你可以创建一个新世界,并生成各种实体,观察游戏的运行情况:\n - 若正常运行,则是某些实体导致出错,你或许需要删除该世界。\n - 若仍然出错,问题就可能来自其他原因……\h") + Results.Add("游戏似乎因为世界中的某些实体出现了问题。\n\n你可以创建一个新世界,并生成各种实体,然后观察游戏的运行情况。\h") End If Case CrashReason.OptiFine与Forge不兼容 Results.Add("由于 OptiFine 与当前版本的 Forge 不兼容,导致了游戏崩溃。\n\n请前往 OptiFine 官网(https://optifine.net/downloads)查看 OptiFine 所兼容的 Forge 版本,并严格按照对应版本重新安装游戏。") diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb index ef7e020..683adee 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb @@ -198,7 +198,7 @@ Private IsNewClientVersionHinted As Boolean = False Private Sub DlClientListMojangMain(Loader As LoaderTask(Of String, DlClientListResult)) Dim StartTime As Long = GetTimeTick() - Dim Json As JObject = NetGetCodeByRequestRetry("https://launchermeta.mojang.com/mc/game/version_manifest.json", IsJson:=True) + Dim Json As JObject = GetJson(NetRequestByClientRetry("https://launchermeta.mojang.com/mc/game/version_manifest.json")) Try Dim Versions As JArray = Json("versions") If Versions.Count < 200 Then Throw New Exception("获取到的版本列表长度不足(" & Json.ToString & ")") @@ -235,7 +235,7 @@ ''' Public DlClientListBmclapiLoader As New LoaderTask(Of String, DlClientListResult)("DlClientList Bmclapi", AddressOf DlClientListBmclapiMain) Private Sub DlClientListBmclapiMain(Loader As LoaderTask(Of String, DlClientListResult)) - Dim Json As JObject = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/mc/game/version_manifest.json", IsJson:=True) + Dim Json As JObject = GetJson(NetRequestByClientRetry("https://bmclapi2.bangbang93.com/mc/game/version_manifest.json")) Try Dim Versions As JArray = Json("versions") If Versions.Count < 200 Then Throw New Exception("获取到的版本列表长度不足(" & Json.ToString & ")") @@ -377,7 +377,7 @@ ''' Public DlOptiFineListOfficialLoader As New LoaderTask(Of Integer, DlOptiFineListResult)("DlOptiFineList Official", AddressOf DlOptiFineListOfficialMain) Private Sub DlOptiFineListOfficialMain(Loader As LoaderTask(Of Integer, DlOptiFineListResult)) - Dim Result As String = NetGetCodeByClient("https://optifine.net/downloads", Encoding.Default) + Dim Result As String = NetRequestByClientRetry("https://optifine.net/downloads", Encoding:=Encoding.Default) If Result.Length < 200 Then Throw New Exception("获取到的版本列表长度不足(" & Result & ")") Try '获取所有版本信息 @@ -413,7 +413,7 @@ ''' Public DlOptiFineListBmclapiLoader As New LoaderTask(Of Integer, DlOptiFineListResult)("DlOptiFineList Bmclapi", AddressOf DlOptiFineListBmclapiMain) Private Sub DlOptiFineListBmclapiMain(Loader As LoaderTask(Of Integer, DlOptiFineListResult)) - Dim Json As JArray = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/optifine/versionList", IsJson:=True) + Dim Json As JArray = GetJson(NetRequestByClientRetry("https://bmclapi2.bangbang93.com/optifine/versionList")) Try Dim Versions As New List(Of DlOptiFineListEntry) For Each Token As JObject In Json @@ -483,7 +483,7 @@ ''' Public DlForgeListOfficialLoader As New LoaderTask(Of Integer, DlForgeListResult)("DlForgeList Official", AddressOf DlForgeListOfficialMain) Private Sub DlForgeListOfficialMain(Loader As LoaderTask(Of Integer, DlForgeListResult)) - Dim Result As String = NetGetCodeByRequestRetry("https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_1.2.4.html", Encoding.Default, "text/html", UseBrowserUserAgent:=True) + Dim Result As String = NetRequestByClientRetry("https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_1.2.4.html", Encoding:=Encoding.Default, Accept:="text/html", UseBrowserUserAgent:=True) If Result.Length < 200 Then Throw New Exception("获取到的版本列表长度不足(" & Result & ")") '获取所有版本信息 Dim Names As List(Of String) = RegexSearch(Result, "(?<=a href=""index_)[0-9.]+(_pre[0-9]?)?(?=.html)") @@ -497,7 +497,7 @@ ''' Public DlForgeListBmclapiLoader As New LoaderTask(Of Integer, DlForgeListResult)("DlForgeList Bmclapi", AddressOf DlForgeListBmclapiMain) Private Sub DlForgeListBmclapiMain(Loader As LoaderTask(Of Integer, DlForgeListResult)) - Dim Result As String = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/forge/minecraft", Encoding.Default) + Dim Result As String = NetRequestByClientRetry("https://bmclapi2.bangbang93.com/forge/minecraft", Encoding:=Encoding.Default) If Result.Length < 200 Then Throw New Exception("获取到的版本列表长度不足(" & Result & ")") '获取所有版本信息 Dim Names As List(Of String) = RegexSearch(Result, "[0-9.]+(_pre[0-9]?)?") @@ -629,7 +629,7 @@ Public Sub DlForgeVersionOfficialMain(Loader As LoaderTask(Of String, List(Of DlForgeVersionEntry))) Dim Result As String Try - Result = NetGetCodeByLoader("https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_" & + Result = NetRequestByLoader("https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_" & Loader.Input.Replace("-", "_") & '兼容 Forge 1.7.10-pre4,#4057 ".html", UseBrowserUserAgent:=True) Catch ex As Exception @@ -700,9 +700,8 @@ ''' Forge 版本列表,BMCLAPI。 ''' Public Sub DlForgeVersionBmclapiMain(Loader As LoaderTask(Of String, List(Of DlForgeVersionEntry))) - Dim Json As JArray = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/forge/minecraft/" & - Loader.Input.Replace("-", "_"), '兼容 Forge 1.7.10-pre4,#4057 - IsJson:=True) + Dim Json As JArray = GetJson(NetRequestByClientRetry("https://bmclapi2.bangbang93.com/forge/minecraft/" & + Loader.Input.Replace("-", "_"))) '兼容 Forge 1.7.10-pre4,#4057 Dim Versions As New List(Of DlForgeVersionEntry) Try Dim Recommended As String = McDownloadForgeRecommendedGet(Loader.Input) @@ -836,8 +835,8 @@ Public DlNeoForgeListOfficialLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Official", AddressOf DlNeoForgeListOfficialMain) Private Sub DlNeoForgeListOfficialMain(Loader As LoaderTask(Of Integer, DlNeoForgeListResult)) '获取版本列表 JSON - Dim ResultLatest As String = NetGetCodeByLoader("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/neoforge", UseBrowserUserAgent:=True, IsJson:=True) - Dim ResultLegacy As String = NetGetCodeByLoader("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/forge", UseBrowserUserAgent:=True, IsJson:=True) + Dim ResultLatest As String = NetRequestByClientRetry("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/neoforge") + Dim ResultLegacy As String = NetRequestByClientRetry("https://maven.neoforged.net/api/maven/versions/releases/net/neoforged/forge") If ResultLatest.Length < 100 OrElse ResultLegacy.Length < 100 Then Throw New Exception("获取到的版本列表长度不足(" & ResultLatest & ")") '解析 Try @@ -854,8 +853,8 @@ Public DlNeoForgeListBmclapiLoader As New LoaderTask(Of Integer, DlNeoForgeListResult)("DlNeoForgeList Bmclapi", AddressOf DlNeoForgeListBmclapiMain) Public Sub DlNeoForgeListBmclapiMain(Loader As LoaderTask(Of Integer, DlNeoForgeListResult)) '获取版本列表 JSON - Dim ResultLatest As String = NetGetCodeByLoader("https://bmclapi2.bangbang93.com/neoforge/meta/api/maven/details/releases/net/neoforged/neoforge", UseBrowserUserAgent:=True, IsJson:=True) - Dim ResultLegacy As String = NetGetCodeByLoader("https://bmclapi2.bangbang93.com/neoforge/meta/api/maven/details/releases/net/neoforged/forge", UseBrowserUserAgent:=True, IsJson:=True) + Dim ResultLatest As String = NetRequestByClientRetry("https://bmclapi2.bangbang93.com/neoforge/meta/api/maven/details/releases/net/neoforged/neoforge") + Dim ResultLegacy As String = NetRequestByClientRetry("https://bmclapi2.bangbang93.com/neoforge/meta/api/maven/details/releases/net/neoforged/forge") If ResultLatest.Length < 100 OrElse ResultLegacy.Length < 100 Then Throw New Exception("获取到的版本列表长度不足(" & ResultLatest & ")") '解析 Try @@ -960,7 +959,7 @@ ''' Public DlLiteLoaderListOfficialLoader As New LoaderTask(Of Integer, DlLiteLoaderListResult)("DlLiteLoaderList Official", AddressOf DlLiteLoaderListOfficialMain) Private Sub DlLiteLoaderListOfficialMain(Loader As LoaderTask(Of Integer, DlLiteLoaderListResult)) - Dim Result As JObject = NetGetCodeByRequestRetry("https://dl.liteloader.com/versions/versions.json", IsJson:=True) + Dim Result As JObject = GetJson(NetRequestByClientRetry("https://dl.liteloader.com/versions/versions.json")) Try Dim Json As JObject = Result("versions") Dim Versions As New List(Of DlLiteLoaderListEntry) @@ -988,7 +987,7 @@ ''' Public DlLiteLoaderListBmclapiLoader As New LoaderTask(Of Integer, DlLiteLoaderListResult)("DlLiteLoaderList Bmclapi", AddressOf DlLiteLoaderListBmclapiMain) Private Sub DlLiteLoaderListBmclapiMain(Loader As LoaderTask(Of Integer, DlLiteLoaderListResult)) - Dim Result As JObject = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/maven/com/mumfrey/liteloader/versions.json", IsJson:=True) + Dim Result As JObject = GetJson(NetRequestByClientRetry("https://bmclapi2.bangbang93.com/maven/com/mumfrey/liteloader/versions.json")) Try Dim Json As JObject = Result("versions") Dim Versions As New List(Of DlLiteLoaderListEntry) @@ -1059,7 +1058,7 @@ ''' Public DlFabricListOfficialLoader As New LoaderTask(Of Integer, DlFabricListResult)("DlFabricList Official", AddressOf DlFabricListOfficialMain) Private Sub DlFabricListOfficialMain(Loader As LoaderTask(Of Integer, DlFabricListResult)) - Dim Result As JObject = NetGetCodeByRequestRetry("https://meta.fabricmc.net/v2/versions", IsJson:=True) + Dim Result As JObject = GetJson(NetRequestByClientRetry("https://meta.fabricmc.net/v2/versions")) Try Dim Output = New DlFabricListResult With {.IsOfficial = True, .SourceName = "Fabric 官方源", .Value = Result} If Output.Value("game") Is Nothing OrElse Output.Value("loader") Is Nothing OrElse Output.Value("installer") Is Nothing Then Throw New Exception("获取到的列表缺乏必要项") @@ -1074,7 +1073,7 @@ ''' Public DlFabricListBmclapiLoader As New LoaderTask(Of Integer, DlFabricListResult)("DlFabricList Bmclapi", AddressOf DlFabricListBmclapiMain) Private Sub DlFabricListBmclapiMain(Loader As LoaderTask(Of Integer, DlFabricListResult)) - Dim Result As JObject = NetGetCodeByRequestRetry("https://bmclapi2.bangbang93.com/fabric-meta/v2/versions", IsJson:=True) + Dim Result As JObject = GetJson(NetRequestByClientRetry("https://bmclapi2.bangbang93.com/fabric-meta/v2/versions")) Try Dim Output = New DlFabricListResult With {.IsOfficial = False, .SourceName = "BMCLAPI", .Value = Result} If Output.Value("game") Is Nothing OrElse Output.Value("loader") Is Nothing OrElse Output.Value("installer") Is Nothing Then Throw New Exception("获取到的列表缺乏必要项") @@ -1101,50 +1100,14 @@ #Region "DlMod | Mod 镜像源请求" ''' - ''' 对可能涉及 Mod 镜像源的请求进行处理,返回字符串或 JObject。 - ''' 调用 NetGetCodeByRequest,会进行重试。 - ''' - Public Function DlModRequest(Url As String, Optional IsJson As Boolean = False) As Object - Dim Urls As New List(Of KeyValuePair(Of String, Integer)) - Urls.Add(New KeyValuePair(Of String, Integer)(Url, 5)) - Urls.Add(New KeyValuePair(Of String, Integer)(Url, 20)) - 'Dim McimUrl As String = DlSourceModGet(Url) - 'If McimUrl <> Url Then - ' Select Case Setup.Get("ToolDownloadMod") - ' Case 0 - ' Urls.Add(New KeyValuePair(Of String, Integer)(McimUrl, 5)) - ' Urls.Add(New KeyValuePair(Of String, Integer)(McimUrl, 10)) - ' Urls.Add(New KeyValuePair(Of String, Integer)(Url, 15)) - ' Case 1 - ' Urls.Add(New KeyValuePair(Of String, Integer)(Url, 5)) - ' Urls.Add(New KeyValuePair(Of String, Integer)(McimUrl, 5)) - ' Urls.Add(New KeyValuePair(Of String, Integer)(Url, 15)) - ' Urls.Add(New KeyValuePair(Of String, Integer)(McimUrl, 10)) - ' Case Else - ' Urls.Add(New KeyValuePair(Of String, Integer)(Url, 5)) - ' Urls.Add(New KeyValuePair(Of String, Integer)(Url, 15)) - ' Urls.Add(New KeyValuePair(Of String, Integer)(McimUrl, 10)) - ' End Select - 'End If - Dim Exs As String = "" - For Each Source In Urls - Try - Return NetGetCodeByRequestOnce(Source.Key, Encode:=Encoding.UTF8, Timeout:=Source.Value * 1000, IsJson:=IsJson, UseBrowserUserAgent:=True) - Catch ex As Exception - Exs += ex.Message + vbCrLf - End Try - Next - Throw New Exception(Exs) - End Function - - ''' - ''' 对可能涉及 Mod 镜像源的请求进行处理。 + ''' 对可能涉及 Mod 镜像源的请求进行处理,返回 JToken。 ''' 调用 NetRequest,会进行重试。 ''' - Public Function DlModRequest(Url As String, Method As String, Data As String, ContentType As String) As String + Public Function DlModRequest(Url As String, Optional Method As HttpMethod = Nothing, + Optional Content As String = Nothing, Optional ContentType As String = Nothing) As JToken Dim Urls As New List(Of KeyValuePair(Of String, Integer)) Urls.Add(New KeyValuePair(Of String, Integer)(Url, 5)) - Urls.Add(New KeyValuePair(Of String, Integer)(Url, 20)) + Urls.Add(New KeyValuePair(Of String, Integer)(Url, 30)) 'Dim McimUrl As String = DlSourceModGet(Url) 'If McimUrl <> Url Then ' Select Case Setup.Get("ToolDownloadMod") @@ -1166,7 +1129,7 @@ Dim Exs As String = "" For Each Source In Urls Try - Return NetRequestOnce(Source.Key, Method, Data, ContentType, Timeout:=Source.Value * 1000) + Return GetJson(NetRequestByClient(Source.Key, Method, Content, ContentType, Timeout:=Source.Value * 1000, Encoding:=Encoding.UTF8)) Catch ex As Exception Exs += ex.Message + vbCrLf End Try diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModJava.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModJava.vb index bf45fec..5a55344 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModJava.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModJava.vb @@ -117,7 +117,7 @@ If Output = "" Then Throw New ApplicationException("尝试运行该 Java 失败") If ModeDebug Then Log("[Java] Java 检查输出:" & PathFolder & "java.exe" & vbCrLf & Output) If Output.Contains("/lib/ext exists") Then Throw New ApplicationException("无法运行该 Java,请在删除 Java 文件夹中的 /lib/ext 文件夹后再试") - If Output.Contains("a fatal error") Then Throw New ApplicationException("由于操作系统或 JVM 存在问题,无法运行该 Java。") + If Output.Contains("a fatal error") Then Throw New ApplicationException("无法运行该 Java,该 Java 或系统存在问题") '获取详细信息 Dim VersionString = If(RegexSeek(Output, "(?<=version "")[^""]+"), If(RegexSeek(Output, "(?<=openjdk )[0-9]+"), "")).Replace("_", ".").Split("-").First If VersionString.Split(".").Count > 4 Then VersionString = VersionString.Replace(".0.", ".") '#3493,VersionString = "21.0.2.0.2" @@ -460,10 +460,12 @@ NoUserJava: ''' 将 Java 按照适用性排序。 ''' Public Function JavaSorter(Left As JavaEntry, Right As JavaEntry) As Boolean + Dim PathInfo As New DirectoryInfo(ShortenPath(Path)) + Dim PathMcInfo As New DirectoryInfo(ShortenPath(PathMcFolder)) '1. 尽量在当前文件夹或当前 Minecraft 文件夹 Dim ProgramPathParent As String, MinecraftPathParent As String = "" - ProgramPathParent = If(New DirectoryInfo(Path).Parent, New DirectoryInfo(Path)).FullName - If PathMcFolder <> "" Then MinecraftPathParent = If(New DirectoryInfo(PathMcFolder).Parent, New DirectoryInfo(PathMcFolder)).FullName + ProgramPathParent = If(PathInfo.Parent, PathInfo).FullName + If PathMcFolder <> "" Then MinecraftPathParent = If(PathMcInfo.Parent, PathMcInfo).FullName If Left.PathFolder.StartsWithF(ProgramPathParent) AndAlso Not Right.PathFolder.StartsWithF(ProgramPathParent) Then Return True If Not Left.PathFolder.StartsWithF(ProgramPathParent) AndAlso Right.PathFolder.StartsWithF(ProgramPathParent) Then Return False If PathMcFolder <> "" Then @@ -530,7 +532,7 @@ NoUserJava: If Disk.DriveType = DriveType.Network Then Continue For '跳过网络驱动器(#3705) JavaSearchFolder(Disk.Name, JavaPreList, False) Next - '查找 ~/.jdks 文件夹中的 Java + '查找 .jdks 文件夹中的 Java JavaSearchFolder(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) & "\.jdks\", JavaPreList, False) '查找 APPDATA 文件夹中的 Java JavaSearchFolder(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\", JavaPreList, False) @@ -680,8 +682,8 @@ Wait: '若该目录有 Java,则加入结果 If File.Exists(Path & "javaw.exe") Then Results(Path) = Source '查找其下的所有文件夹 - '不应使用网易的 Java:https://github.com/HMeloong-Git/PCL/issues/1279#issuecomment-2761489121 - Dim Keywords = {"java", "jdk", "env", "环境", "run", "软件", "jre", "mc", "dragon", + '不应使用网易的 Java:https://github.com/Meloong-Git/PCL/issues/1279#issuecomment-2761489121 + Dim Keywords = {"java", "jdk", "env", "环境", "run", "软件", "jre", "mc", "dragon", "bin", "soft", "cache", "temp", "corretto", "roaming", "users", "craft", "program", "世界", "net", "游戏", "oracle", "game", "file", "data", "jvm", "服务", "server", "客户", "client", "整合", "应用", "运行", "前置", "mojang", "官启", "新建文件夹", "eclipse", "microsoft", "hotspot", @@ -748,7 +750,7 @@ Wait: Private LastJavaBaseDir As String = Nothing '用于在下载中断或失败时删除未完成下载的 Java 文件夹,防止残留只下了一半但 -version 能跑的 Java Private Sub JavaFileList(Loader As LoaderTask(Of Integer, List(Of NetFile))) Log("[Java] 开始获取 Java 下载信息") - Dim IndexFileStr As String = NetGetCodeByLoader(DlVersionListOrder( + Dim IndexFileStr As String = NetRequestByLoader(DlVersionListOrder( {"https://piston-meta.mojang.com/v1/products/java-runtime/2ec0cc96c44e5a76b9c8b7c39df7210883d12871/all.json"}, {"https://bmclapi2.bangbang93.com/v1/products/java-runtime/2ec0cc96c44e5a76b9c8b7c39df7210883d12871/all.json"} ), IsJson:=True) @@ -760,7 +762,7 @@ Wait: Dim Address As String = TargetEntry.Value("manifest")("url") Log($"[Java] 准备下载 Java {TargetEntry.Value("version")("name")}({TargetEntry.Key}):{Address}") '获取文件列表 - Dim ListFileStr As String = NetGetCodeByLoader(DlSourceOrder({Address}, {Address.Replace("piston-meta.mojang.com", "bmclapi2.bangbang93.com")}), IsJson:=True) + Dim ListFileStr As String = NetRequestByLoader(DlSourceOrder({Address}, {Address.Replace("piston-meta.mojang.com", "bmclapi2.bangbang93.com")}), IsJson:=True) LastJavaBaseDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft\runtime\" & TargetEntry.Key & "\" Dim Results As New List(Of NetFile) For Each File As JProperty In CType(GetJson(ListFileStr), JObject)("files") diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb index 00469b8..2e1f9fd 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb @@ -684,11 +684,10 @@ LoginFinish: '发送登录请求 Dim RequestData As New JObject( New JProperty("accessToken", AccessToken), New JProperty("clientToken", ClientToken), New JProperty("requestUser", True)) - NetRequestRetry( - Url:=Data.Input.BaseUrl & "/validate", - Method:="POST", - Data:=RequestData.ToString(0), - Headers:=New Dictionary(Of String, String) From {{"Accept-Language", "zh-CN"}}, + NetRequestByClientRetry( + Data.Input.BaseUrl & "/validate", HttpMethod.Post, + Content:=RequestData.ToString(Newtonsoft.Json.Formatting.None), + Headers:={{"Accept-Language", "zh-CN"}}, ContentType:="application/json; charset=utf-8") '没有返回值的 '将登录结果输出 Data.Output.AccessToken = AccessToken @@ -701,10 +700,9 @@ LoginFinish: End Sub Private Sub McLoginRequestRefresh(ByRef Data As LoaderTask(Of McLoginServer, McLoginResult), RequestUser As Boolean) McLaunchLog("刷新登录开始(Refresh, " & Data.Input.Token & ")") - Dim LoginJson As JObject = GetJson(NetRequestRetry( - Url:=Data.Input.BaseUrl & "/refresh", - Method:="POST", - Data:=New JObject( + Dim LoginJson As JObject = GetJson(NetRequestByClientRetry( + Data.Input.BaseUrl & "/refresh", HttpMethod.Post, + Content:=New JObject( New JProperty("selectedProfile", New JObject( New JProperty("name", Setup.Get($"Cache{Data.Input.Token}Name")), New JProperty("id", Setup.Get($"Cache{Data.Input.Token}Uuid")) @@ -712,7 +710,7 @@ LoginFinish: New JProperty("accessToken", Setup.Get($"Cache{Data.Input.Token}Access")), New JProperty("requestUser", True) ).ToString(Newtonsoft.Json.Formatting.None), - Headers:=New Dictionary(Of String, String) From {{"Accept-Language", "zh-CN"}}, + Headers:={{"Accept-Language", "zh-CN"}}, ContentType:="application/json; charset=utf-8")) '将登录结果输出 If LoginJson("selectedProfile") Is Nothing Then Throw New Exception("选择的角色 " & Setup.Get("Cache" & Data.Input.Token & "Name") & " 无效!") @@ -739,11 +737,10 @@ LoginFinish: New JProperty("username", Data.Input.UserName), New JProperty("password", Data.Input.Password), New JProperty("requestUser", True)) - Dim LoginJson As JObject = GetJson(NetRequestRetry( - Url:=Data.Input.BaseUrl & "/authenticate", - Method:="POST", - Data:=RequestData.ToString(0), - Headers:=New Dictionary(Of String, String) From {{"Accept-Language", "zh-CN"}}, + Dim LoginJson As JObject = GetJson(NetRequestByClientRetry( + Data.Input.BaseUrl & "/authenticate", HttpMethod.Post, + Content:=RequestData.ToString(Newtonsoft.Json.Formatting.None), + Headers:={{"Accept-Language", "zh-CN"}}, ContentType:="application/json; charset=utf-8")) '检查登录结果 If LoginJson("availableProfiles").Count = 0 Then @@ -858,8 +855,9 @@ LoginFinish: '初始请求 Retry: McLaunchLog("开始微软登录步骤 1/6(原始登录)") - Dim PrepareJson As JObject = GetJson(NetRequestRetry("https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode", "POST", - $"client_id={OAuthClientId}&tenant=/consumers&scope=XboxLive.signin%20offline_access", "application/x-www-form-urlencoded")) + Dim PrepareJson As JObject = GetJson(NetRequestByClientRetry("https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode", HttpMethod.Post, + Content:=$"client_id={OAuthClientId}&tenant=/consumers&scope=XboxLive.signin%20offline_access", + Accept:="application/x-www-form-urlencoded")) McLaunchLog("网页登录地址:" & PrepareJson("verification_uri").ToString) '弹窗 @@ -888,9 +886,11 @@ Retry: Dim Result As String Try - Result = NetRequestMultiple("https://login.live.com/oauth20_token.srf", "POST", - $"client_id={OAuthClientId}&refresh_token={Uri.EscapeDataString(Code)}&grant_type=refresh_token&scope=XboxLive.signin%20offline_access", - "application/x-www-form-urlencoded", 2) + Result = NetRequestByClientMultiple("https://login.live.com/oauth20_token.srf", HttpMethod.Post, + Content:=$"client_id={OAuthClientId}&refresh_token={Uri.EscapeDataString(Code)}&grant_type=refresh_token&scope=XboxLive.signin%20offline_access", + ContentType:="application/x-www-form-urlencoded", + Headers:={{"Accept-Language", "en-US,en;q=0.5"}, {"X-Requested-With", "XMLHttpRequest"}}, + ThreadCount:=2) Catch ex As Exception If ex.Message.ContainsF("must sign in again", True) OrElse ex.Message.ContainsF("password expired", True) OrElse (ex.Message.Contains("refresh_token") AndAlso ex.Message.Contains("is not valid")) Then '#269 @@ -918,8 +918,8 @@ Retry: ""RelyingParty"": ""http://auth.xboxlive.com"", ""TokenType"": ""JWT"" }" - Dim Result As String = NetRequestMultiple("https://user.auth.xboxlive.com/user/authenticate", "POST", Request, "application/json", 3) - + Dim Result As String = NetRequestByClientMultiple("https://user.auth.xboxlive.com/user/authenticate", HttpMethod.Post, + Content:=Request, ContentType:="application/json") Dim ResultJson As JObject = GetJson(Result) Dim XBLToken As String = ResultJson("Token").ToString Return XBLToken @@ -940,7 +940,8 @@ Retry: }" Dim Result As String Try - Result = NetRequestMultiple("https://xsts.auth.xboxlive.com/xsts/authorize", "POST", Request, "application/json", 3) + Result = NetRequestByClientMultiple("https://xsts.auth.xboxlive.com/xsts/authorize", HttpMethod.Post, + Content:=Request, ContentType:="application/json") Catch ex As Net.WebException '参考 https://github.com/PrismarineJS/prismarine-auth/blob/master/src/common/Constants.js If ex.Message.Contains("2148916227") Then @@ -971,10 +972,15 @@ Retry: End If End Try - Dim ResultJson As JObject = GetJson(Result) - Dim XSTSToken As String = ResultJson("Token").ToString - Dim UHS As String = ResultJson("DisplayClaims")("xui")(0)("uhs").ToString - Return {XSTSToken, UHS} + Try '这个 Try 块仅为了追踪 #6683 而添加 + Dim ResultJson As JObject = GetJson(Result) + Dim XSTSToken As String = ResultJson("Token").ToString + Dim UHS As String = ResultJson("DisplayClaims")("xui")(0)("uhs").ToString + Return {XSTSToken, UHS} + Catch + Log("[Launch] 返回内容:" & vbCrLf & Result) + Throw + End Try End Function '微软登录步骤 4:从 {XSTSToken, UHS} 获取 Minecraft AccessToken Private Function MsLoginStep4(Tokens As String()) As String @@ -983,7 +989,8 @@ Retry: Dim Request As String = New JObject(New JProperty("identityToken", $"XBL3.0 x={Tokens(1)};{Tokens(0)}")).ToString(0) Dim Result As String Try - Result = NetRequestRetry("https://api.minecraftservices.com/authentication/login_with_xbox", "POST", Request, "application/json") + Result = NetRequestByClientRetry("https://api.minecraftservices.com/authentication/login_with_xbox", HttpMethod.Post, + Content:=Request, ContentType:="application/json") Catch ex As Net.WebException Dim Message As String = GetExceptionSummary(ex) If Message.Contains("(429)") Then @@ -1005,7 +1012,8 @@ Retry: Private Sub MsLoginStep5(AccessToken As String) McLaunchLog("开始微软登录步骤 5/6") - Dim Result As String = NetRequestMultiple("https://api.minecraftservices.com/entitlements/mcstore", "GET", "", "application/json", 2, New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) + Dim Result As String = NetRequestByClientMultiple("https://api.minecraftservices.com/entitlements/mcstore", + ContentType:="application/json", ThreadCount:=2, Headers:={{"Authorization", "Bearer " & AccessToken}}) Try Dim ResultJson As JObject = GetJson(Result) If Not (ResultJson.ContainsKey("items") AndAlso ResultJson("items").Any) Then @@ -1026,7 +1034,8 @@ Retry: Dim Result As String Try - Result = NetRequestMultiple("https://api.minecraftservices.com/minecraft/profile", "GET", "", "application/json", 2, New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) + Result = NetRequestByClientMultiple("https://api.minecraftservices.com/minecraft/profile", + ContentType:="application/json", ThreadCount:=2, Headers:={{"Authorization", "Bearer " & AccessToken}}) Catch ex As Net.WebException Dim Message As String = GetExceptionSummary(ex) If Message.Contains("(429)") Then @@ -1099,7 +1108,7 @@ Retry: If Len(Uuid) = 32 Then Return Uuid '从官网获取 Try - Dim GotJson As JObject = NetGetCodeByRequestRetry("https://api.mojang.com/users/profiles/minecraft/" & Name, IsJson:=True) + Dim GotJson As JObject = GetJson(NetRequestByClientRetry("https://api.mojang.com/users/profiles/minecraft/" & Name)) If GotJson Is Nothing Then Throw New FileNotFoundException("正版玩家档案不存在(" & Name & ")") Uuid = If(GotJson("id"), "") Catch ex As Exception @@ -1205,6 +1214,12 @@ Retry: End If End If + 'LiteLoader 检测 + If McVersionCurrent.Version.HasLiteLoader AndAlso McVersionCurrent.Version.IsStandardVersion Then '不管非标准版本 + '最高 Java 8 + MaxVer = If(New Version(1, 8, 999, 999) < MaxVer, New Version(1, 8, 999, 999), MaxVer) + End If + '统一通行证检测 If Setup.Get("LoginType") = McLoginType.Nide Then '至少 Java 8u101 @@ -1356,16 +1371,6 @@ Retry: If McLaunchJavaSelected.VersionCode >= 18 Then If Not Arguments.Contains("-Dfile.encoding=") Then Arguments = "-Dfile.encoding=COMPAT " & Arguments End If - '替换参数 - Dim ReplaceArguments = McLaunchArgumentsReplace(McVersionCurrent, Loader) - If String.IsNullOrWhiteSpace(ReplaceArguments("${version_type}")) Then - '若自定义信息为空,则去掉该部分 - Arguments = Arguments.Replace(" --versionType ${version_type}", "") - ReplaceArguments("${version_type}") = """""" - End If - For Each entry As KeyValuePair(Of String, String) In ReplaceArguments - Arguments = Arguments.Replace(entry.Key, If(entry.Value.Contains(" ") OrElse entry.Value.Contains(":\"), """" & entry.Value & """", entry.Value)) - Next 'MJSB Arguments = Arguments.Replace(" -Dos.name=Windows 10", " -Dos.name=""Windows 10""") '全屏 @@ -1374,31 +1379,47 @@ Retry: For Each Arg In CurrentLaunchOptions.ExtraArgs Arguments += " " & Arg.Trim Next + '自定义 + Dim ArgumentGame As String = Setup.Get("VersionAdvanceGame", Version:=McVersionCurrent) + Arguments += " " & If(ArgumentGame = "", Setup.Get("LaunchAdvanceGame"), ArgumentGame) + '进行参数替换 + Dim ReplaceArguments = McLaunchArgumentsReplace(McVersionCurrent, Loader) + If String.IsNullOrWhiteSpace(ReplaceArguments("${version_type}")) Then + '若自定义信息为空,则去掉该部分 + Arguments = Arguments.Replace(" --versionType ${version_type}", "") + ReplaceArguments("${version_type}") = """""" + End If + Dim FinalArguments As String = "" + For Each Argument In Arguments.Split(" ") + For Each Entry As KeyValuePair(Of String, String) In ReplaceArguments + Argument = Argument.Replace(Entry.Key, Entry.Value) + Next + If (Argument.Contains(" ") OrElse Argument.Contains(":\")) AndAlso Not Argument.EndsWithF("""") Then Argument = $"""{Argument}""" + FinalArguments += Argument & " " + Next + FinalArguments = FinalArguments.TrimEnd '进服 Dim Server As String = If(String.IsNullOrEmpty(CurrentLaunchOptions.ServerIp), Setup.Get("VersionServerEnter", McVersionCurrent), CurrentLaunchOptions.ServerIp) If Server.Length > 0 Then If McVersionCurrent.ReleaseTime > New Date(2023, 4, 4) Then 'QuickPlay - Arguments += $" --quickPlayMultiplayer ""{Server}""" + FinalArguments += $" --quickPlayMultiplayer ""{Server}""" Else '老版本 If Server.Contains(":") Then '包含端口号 - Arguments += " --server " & Server.Split(":")(0) & " --port " & Server.Split(":")(1) + FinalArguments += $" --server {Server.Split(":")(0)} --port {Server.Split(":")(1)}" Else '不包含端口号 - Arguments += " --server " & Server & " --port 25565" + FinalArguments += $" --server {Server} --port 25565" End If If McVersionCurrent.Version.HasOptiFine Then Hint("OptiFine 与自动进入服务器可能不兼容,有概率导致材质丢失甚至游戏崩溃!", HintType.Critical) End If End If - '自定义 - Dim ArgumentGame As String = Setup.Get("VersionAdvanceGame", Version:=McVersionCurrent) - Arguments += " " & If(ArgumentGame = "", Setup.Get("LaunchAdvanceGame"), ArgumentGame) '输出 McLaunchLog("Minecraft 启动参数:") - McLaunchLog(Arguments) - McLaunchArgument = Arguments + McLaunchLog(FinalArguments) + McLaunchArgument = FinalArguments End Sub 'Jvm 部分(第一段) @@ -1424,12 +1445,12 @@ Retry: End If 'Authlib-Injector If McLoginLoader.Output.Type = "Auth" Then - If (McLaunchJavaSelected.VersionCode >= 6) Then DataList.Add("-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT") + If McLaunchJavaSelected.VersionCode >= 6 Then DataList.Add("-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT") '信任系统根证书(5252#) Dim Server As String = If(McLoginLoader.Input.Type = McLoginType.Legacy, "http://hiperauth.tech/api/yggdrasil-hiper/", 'HiPer 登录 Setup.Get("VersionServerAuthServer", McVersionCurrent)) Try - Dim Response As String = NetGetCodeByRequestRetry(Server, Encoding.UTF8) + Dim Response As String = NetRequestByClientRetry(Server, Encoding:=Encoding.UTF8) DataList.Insert(0, "-javaagent:""" & PathPure & "authlib-injector.jar""=" & Server & " -Dauthlibinjector.side=client" & " -Dauthlibinjector.yggdrasil.prefetched=" & Convert.ToBase64String(Encoding.UTF8.GetBytes(Response))) @@ -1494,12 +1515,12 @@ NextVersion: End If 'Authlib-Injector If McLoginLoader.Output.Type = "Auth" Then - If (McLaunchJavaSelected.VersionCode >= 6) Then DataList.Add("-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT") + If McLaunchJavaSelected.VersionCode >= 6 Then DataList.Add("-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT") '信任系统根证书(5252#) Dim Server As String = If(McLoginLoader.Input.Type = McLoginType.Legacy, "http://hiperauth.tech/api/yggdrasil-hiper/", 'HiPer 登录 Setup.Get("VersionServerAuthServer", Version:=McVersionCurrent)) Try - Dim Response As String = NetGetCodeByRequestRetry(Server, Encoding.UTF8) + Dim Response As String = NetRequestByClientRetry(Server, Encoding:=Encoding.UTF8) DataList.Insert(0, "-javaagent:""" & PathPure & "authlib-injector.jar""=" & Server & " -Dauthlibinjector.side=client" & " -Dauthlibinjector.yggdrasil.prefetched=" & Convert.ToBase64String(Encoding.UTF8.GetBytes(Response))) @@ -1533,10 +1554,8 @@ NextVersion: DeDuplicateDataList.Add(CurrentEntry.Trim.Replace("McEmu= ", "McEmu=")) Next - '#3511 的清理 - DeDuplicateDataList.Remove("-XX:MaxDirectMemorySize=256M") - '去重 + DeDuplicateDataList.Remove("-XX:MaxDirectMemorySize=256M") '#3511 的清理 Dim Result As String = Join(DeDuplicateDataList.Distinct.ToList, " ") '添加 MainClass diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb index 5ef12ee..422cf67 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb @@ -169,8 +169,8 @@ Public Module ModMinecraft _McVersionCurrent = value '由于有可能是 Nothing,导致无法初始化,才得这样弄一圈 _McVersionLast = value If value Is Nothing Then Return - '重置缓存的 Mod 文件夹 - PageDownloadCompDetail.CachedFolder = Nothing + '重置缓存的下载文件夹 + PageDownloadCompDetail.CachedFolder.Clear() '统一通行证重判 If AniControlEnabled = 0 AndAlso Setup.Get("VersionServerNide", Version:=value) <> Setup.Get("CacheNideServer") AndAlso @@ -440,6 +440,33 @@ VersionSearchFinish: ''' Public ReleaseTime As New Date(1970, 1, 1, 15, 0, 0) + ''' + ''' 获取该版本的 JSON 路径。 + ''' + Public Function GetJsonPath() As String + Dim JsonPath As String = Path & Name & ".json" + If Not File.Exists(JsonPath) Then + '尝试寻找 JSON 文件 + JsonPath = Nothing + For Each JsonCandidatePath In Directory.GetFiles(Path, "*.json") + Try + Dim JsonCandidate As JObject = GetJson(ReadFile(JsonCandidatePath)) + If Not JsonCandidate.ContainsKey("mainClass") Then Continue For + If Not JsonCandidate.ContainsKey("type") Then Continue For + If Not JsonCandidate.ContainsKey("id") Then Continue For + Catch + End Try + JsonPath = JsonCandidatePath + Exit For + Next + If JsonPath Is Nothing Then + Throw New Exception($"未找到版本 JSON 文件:{Path}{Name}.json") + Else + Log("[Minecraft] 未找到同名版本 JSON,自动换用 " & JsonPath, LogLevel.Debug) + End If + End If + Return JsonPath + End Function ''' ''' 该版本的 Json 文本。 ''' @@ -452,17 +479,7 @@ VersionSearchFinish: Return TrimedJson.StartsWithF("{") AndAlso TrimedJson.EndsWithF("}") End Function If _JsonText Is Nothing Then - Dim JsonPath As String = Path & Name & ".json" - If Not File.Exists(JsonPath) Then - '如果文件夹下只有一个 JSON 文件,则将其作为版本 JSON - Dim JsonFiles As String() = Directory.GetFiles(Path, "*.json") - If JsonFiles.Count = 1 Then - JsonPath = JsonFiles(0) - Log("[Minecraft] 未找到同名版本 JSON,自动换用 " & JsonPath, LogLevel.Debug) - Else - Throw New Exception($"未找到版本 JSON 文件:{Path}{Name}.json") - End If - End If + Dim JsonPath As String = GetJsonPath() _JsonText = ReadFile(JsonPath) '如果 ReadFile 失败会返回空字符串;这可能是由于文件被临时占用,故延时后重试 If Not FastJsonCheck(_JsonText) Then @@ -540,9 +557,15 @@ Recheck: '继续循环 If Inherit.InheritVersion = InheritVersion Then Throw New Exception("版本依赖项出现嵌套:" & InheritVersion) InheritVersion = Inherit.InheritVersion - '合并 + '合并 Libraries 项:子版本放在前面,父版本放在后面(5978#:如果多个 jar 包中含有相同的类,Java 8 和之前的版本按照 -cp 指定的顺序选择第一个) + Dim CurrentLib As JArray = _JsonObject("libraries").DeepClone() + For Each LibToken In Inherit.JsonObject("libraries") + CurrentLib.Add(LibToken) + Next + '合并其他项:子版本优先于父版本 Inherit.JsonObject.Merge(_JsonObject) _JsonObject = Inherit.JsonObject + _JsonObject("libraries") = CurrentLib GoTo Recheck End If Catch ex As Exception @@ -580,20 +603,18 @@ Recheck: Get If Not JsonVersionInited Then JsonVersionInited = True - If File.Exists(Path & Name & ".jar") Then - Try - Using JarArchive As New ZipArchive(New FileStream(Path & Name & ".jar", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) - Dim VersionJson As ZipArchiveEntry = JarArchive.GetEntry("version.json") - If VersionJson IsNot Nothing Then - Using VersionJsonStream As New StreamReader(VersionJson.Open) - _JsonVersion = GetJson(VersionJsonStream.ReadToEnd) - End Using - End If + Try + If Not File.Exists($"{Path}{Name}.jar") Then Exit Try + Using JarArchive As New ZipArchive(New FileStream(Path & Name & ".jar", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + Dim VersionJson As ZipArchiveEntry = JarArchive.GetEntry("version.json") + If VersionJson Is Nothing Then Exit Try + Using VersionJsonStream As New StreamReader(VersionJson.Open) + _JsonVersion = GetJson(VersionJsonStream.ReadToEnd) End Using - Catch ex As Exception - Log(ex, "从版本 jar 中读取 version.json 失败") - End Try - End If + End Using + Catch ex As Exception + Log(ex, $"从版本 jar 中读取 version.json 失败({Path}{Name}.jar)") + End Try End If Return _JsonVersion End Get @@ -1538,7 +1559,7 @@ OnLoaded: ''' 要求玩家选择一个皮肤文件,并进行相关校验。 ''' Public Function McSkinSelect() As McSkinInfo - Dim FileName As String = SelectFile("皮肤文件(*.png;*.jpg;*.webp)|*.png;*.jpg;*.webp", "选择皮肤文件") + Dim FileName As String = SelectFile("皮肤文件(*.png;*.jpg;*.jpeg;*.webp)|*.png;*.jpg;*.jpeg;*.webp", "选择皮肤文件") '验证有效性 If FileName = "" Then Return New McSkinInfo With {.IsVaild = False} @@ -1589,7 +1610,7 @@ OnLoaded: Case Else Throw New ArgumentException("皮肤地址种类无效:" & If(Type, "null")) End Select - Dim SkinString = NetGetCodeByRequestRetry(Url & Uuid) + Dim SkinString = NetRequestByClientRetry(Url & Uuid) If SkinString = "" Then Throw New Exception("皮肤返回值为空,可能是未设置自定义皮肤的用户") '处理皮肤地址 Dim SkinValue As String @@ -1611,7 +1632,7 @@ OnLoaded: Throw New Exception("用户未设置自定义皮肤") Else Dim SkinUrl As String = SkinJson("textures")("skin")("url").ToString - SkinValue = If(SkinUrl.Contains("minecraft.net"),SkinUrl.Replace("http:", "https:"),SkinUrl) + SkinValue = If(SkinUrl.Contains("minecraft.net/"), SkinUrl.Replace("http://", "https://"), SkinUrl) End If '保存缓存 WriteIni(PathTemp & "Cache\Skin\Index" & Type & ".ini", Uuid, SkinValue) @@ -1628,9 +1649,9 @@ OnLoaded: Dim FileAddress As String = PathTemp & "Cache\Skin\" & GetHash(Address) & ".png" SyncLock McSkinDownloadLock If Not File.Exists(FileAddress) Then - NetDownloadByClient(Address, FileAddress & NetDownloadEnd) + NetDownloadByClient(Address, FileAddress & ".PCLDownloading") File.Delete(FileAddress) - FileSystem.Rename(FileAddress & NetDownloadEnd, FileAddress) + FileSystem.Rename(FileAddress & ".PCLDownloading", FileAddress) Log("[Minecraft] 皮肤下载成功:" & FileAddress) End If Return FileAddress @@ -1773,61 +1794,60 @@ OnLoaded: '获取当前支持库列表 Log("[Minecraft] 获取支持库列表:" & Version.Name) - McLibListGet = McLibListGetWithJson(Version.JsonObject) - If Not IncludeVersionJar Then Return McLibListGet + Dim Result = McLibListGetWithJson(Version.JsonObject) '需要添加原版 Jar - Dim RealVersion As McVersion - Dim RequiredJar As String = Version.JsonObject("jar")?.ToString - If Version.IsHmclFormatJson OrElse RequiredJar Is Nothing Then - 'HMCL 项直接使用自身的 Jar - '根据 Inherit 获取最深层版本 - Dim OriginalVersion As McVersion = Version - '1.17+ 的 Forge 不寻找 Inherit - If Not ((Version.Version.HasForge OrElse Version.Version.HasNeoForge) AndAlso Version.Version.McCodeMain >= 17) Then - Do Until OriginalVersion.InheritVersion = "" - If OriginalVersion.InheritVersion = OriginalVersion.Name Then Exit Do - OriginalVersion = New McVersion(PathMcFolder & "versions\" & OriginalVersion.InheritVersion & "\") - Loop + If IncludeVersionJar Then + Dim RealVersion As McVersion + Dim RequiredJar As String = Version.JsonObject("jar")?.ToString + If Version.IsHmclFormatJson OrElse RequiredJar Is Nothing Then + 'HMCL 项直接使用自身的 Jar + '根据 Inherit 获取最深层版本 + Dim OriginalVersion As McVersion = Version + '1.17+ 的 Forge 不寻找 Inherit + If Not ((Version.Version.HasForge OrElse Version.Version.HasNeoForge) AndAlso Version.Version.McCodeMain >= 17) Then + Do Until OriginalVersion.InheritVersion = "" + If OriginalVersion.InheritVersion = OriginalVersion.Name Then Exit Do + OriginalVersion = New McVersion(PathMcFolder & "versions\" & OriginalVersion.InheritVersion & "\") + Loop + End If + '需要新建对象,否则后面的 Check 会导致 McVersionCurrent 的 State 变回 Original + '复现:启动一个 Snapshot 版本 + RealVersion = New McVersion(OriginalVersion.Path) + Else + 'Json 已提供 Jar 字段,使用该字段的信息 + RealVersion = New McVersion(RequiredJar) End If - '需要新建对象,否则后面的 Check 会导致 McVersionCurrent 的 State 变回 Original - '复现:启动一个 Snapshot 版本 - RealVersion = New McVersion(OriginalVersion.Path) - Else - 'Json 已提供 Jar 字段,使用该字段的信息 - RealVersion = New McVersion(RequiredJar) + Dim ClientUrl As String, ClientSHA1 As String + '判断需求的版本是否存在 + '不能调用 RealVersion.Check(),可能会莫名其妙地触发 CheckPermission 正被另一进程使用,导致误判前置不存在 + If Not File.Exists(RealVersion.Path & RealVersion.Name & ".json") Then + RealVersion = Version + Log("[Minecraft] 可能缺少前置版本 " & RealVersion.Name & ",找不到对应的 json 文件", LogLevel.Debug) + End If + '获取详细下载信息 + If RealVersion.JsonObject("downloads") IsNot Nothing AndAlso RealVersion.JsonObject("downloads")("client") IsNot Nothing Then + ClientUrl = RealVersion.JsonObject("downloads")("client")("url") + ClientSHA1 = RealVersion.JsonObject("downloads")("client")("sha1") + Else + ClientUrl = Nothing + ClientSHA1 = Nothing + End If + '把所需的原版 Jar 添加进去 + Result.Add(New McLibToken With {.LocalPath = RealVersion.Path & RealVersion.Name & ".jar", .Size = 0, .IsNatives = False, .Url = ClientUrl, .SHA1 = ClientSHA1}) End If - Dim ClientUrl As String, ClientSHA1 As String - '判断需求的版本是否存在 - '不能调用 RealVersion.Check(),可能会莫名其妙地触发 CheckPermission 正被另一进程使用,导致误判前置不存在 - If Not File.Exists(RealVersion.Path & RealVersion.Name & ".json") Then - RealVersion = Version - Log("[Minecraft] 可能缺少前置版本 " & RealVersion.Name & ",找不到对应的 json 文件", LogLevel.Debug) - End If - '获取详细下载信息 - If RealVersion.JsonObject("downloads") IsNot Nothing AndAlso RealVersion.JsonObject("downloads")("client") IsNot Nothing Then - ClientUrl = RealVersion.JsonObject("downloads")("client")("url") - ClientSHA1 = RealVersion.JsonObject("downloads")("client")("sha1") - Else - ClientUrl = Nothing - ClientSHA1 = Nothing - End If - '把所需的原版 Jar 添加进去 - McLibListGet.Add(New McLibToken With {.LocalPath = RealVersion.Path & RealVersion.Name & ".jar", .Size = 0, .IsNatives = False, .Url = ClientUrl, .SHA1 = ClientSHA1}) + Return Result End Function ''' ''' 获取 Minecraft 某一版本忽视继承的支持库列表,即结果中没有继承项。 ''' Public Function McLibListGetWithJson(JsonObject As JObject, Optional KeepSameNameDifferentVersionResult As Boolean = False, Optional CustomMcFolder As String = Nothing) As List(Of McLibToken) CustomMcFolder = If(CustomMcFolder, PathMcFolder) - Dim BasicArray As New List(Of McLibToken) - - '添加基础 Json 项 - Dim AllLibs As JArray = JsonObject("libraries") '转换为 LibToken - For Each Library As JObject In AllLibs.Children + Dim BasicArray As New List(Of McLibToken) + For Each Library As JObject In CType(JsonObject("libraries"), JArray).Children '清理 null 项(BakaXL 会把没有的项序列化为 null,但会被 Newtonsoft 转换为 JValue,导致 Is Nothing = false;这导致了 #409) For i = Library.Properties.Count - 1 To 0 Step -1 @@ -1946,8 +1966,7 @@ OnLoaded: Try Log("[Minecraft] 开始获取统一通行证下载信息") '测试链接:https://auth.mc-user.com:233/00000000000000000000000000000000/ - DownloadInfo = GetJson(NetGetCodeByLoader({ - "https://auth.mc-user.com:233/" & Setup.Get("VersionServerNide", Version:=Version)}, IsJson:=True)) + DownloadInfo = GetJson(NetRequestByClientRetry("https://auth.mc-user.com:233/" & Setup.Get("VersionServerNide", Version:=Version))) Catch ex As Exception Log(ex, "获取统一通行证下载信息失败") End Try @@ -1969,10 +1988,9 @@ OnLoaded: '获取下载信息 Try Log("[Minecraft] 开始获取 Authlib-Injector 下载信息") - DownloadInfo = GetJson(NetGetCodeByLoader({ + DownloadInfo = GetJson(NetRequestByClientRetry( "https://authlib-injector.yushi.moe/artifact/latest.json", - "https://bmclapi2.bangbang93.com/mirrors/authlib-injector/artifact/latest.json" - }, IsJson:=True)) + BackupUrl:="https://bmclapi2.bangbang93.com/mirrors/authlib-injector/artifact/latest.json")) Catch ex As Exception Log(ex, "获取 Authlib-Injector 下载信息失败") End Try @@ -2017,12 +2035,16 @@ OnLoaded: '获取 For Each Token As McLibToken In Libs '检查文件 - Dim Checker As New FileChecker(ActualSize:=If(Token.Size = 0, -1, Token.Size), Hash:=Token.SHA1) + Dim Checker As FileChecker + If Token.Name.ContainsF("labymod") Then + Checker = New FileChecker '不检查 LabyMod 的文件,它们提供的文件校验信息是错的(#3225) + Else + Checker = New FileChecker(ActualSize:=If(Token.Size = 0, -1, Token.Size), Hash:=Token.SHA1) + End If If Checker.Check(Token.LocalPath) Is Nothing Then Continue For '文件不符合,添加下载 Dim Urls As New List(Of String) - If Token.Url Is Nothing AndAlso Token.Name = "net.minecraftforge:forge:universal" Then - '特判修复 Forge 部分 universal 文件缺失 URL(#5455) + If Token.Url Is Nothing AndAlso Token.Name = "net.minecraftforge:forge:universal" Then '特判修复 Forge 部分 universal 文件缺失 URL(#5455) Token.Url = "https://maven.minecraftforge.net" & Token.LocalPath.Replace(CustomMcFolder & "libraries", "").Replace("\", "/") End If If Token.Url IsNot Nothing Then @@ -2194,16 +2216,16 @@ OnLoaded: Dim LocalPath As String If Json("map_to_resources") IsNot Nothing AndAlso Json("map_to_resources").ToObject(Of Boolean) Then 'Remap - LocalPath = Version.PathIndie & "resources\" & File.Name.Replace("/", "\") + LocalPath = $"{Version.PathIndie}resources\{File.Name}" ElseIf Json("virtual") IsNot Nothing AndAlso Json("virtual").ToObject(Of Boolean) Then 'Virtual - LocalPath = PathMcFolder & "assets\virtual\legacy\" & File.Name.Replace("/", "\") + LocalPath = $"{PathMcFolder}assets\virtual\legacy\{File.Name}" Else '正常 - LocalPath = PathMcFolder & "assets\objects\" & Left(File.Value("hash").ToString, 2) & "\" & File.Value("hash").ToString + LocalPath = $"{PathMcFolder}assets\objects\{Left(File.Value("hash").ToString, 2)}\{File.Value("hash")}" End If Result.Add(New McAssetsToken With { - .LocalPath = LocalPath, + .LocalPath = LocalPath.Replace("/", "\"), .SourcePath = File.Name, .Hash = File.Value("hash").ToString, .Size = File.Value("size").ToString diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModMod.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModMod.vb index bb9b3d5..e6225e4 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModMod.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModMod.vb @@ -1,7 +1,7 @@ Imports System.IO.Compression Public Module ModMod - Private Const LocalModCacheVersion As Integer = 7 + Private Const LocalModCacheVersion As Integer = 8 Public Class McMod @@ -946,8 +946,8 @@ Finished: Try '步骤 1:获取 Hash 与对应的工程 ID Dim ModrinthHashes = Mods.Select(Function(m) m.ModrinthHash).ToList() - Dim ModrinthVersion = CType(GetJson(DlModRequest("https://api.modrinth.com/v2/version_files", "POST", - $"{{""hashes"": [""{ModrinthHashes.Join(""",""")}""], ""algorithm"": ""sha1""}}", "application/json")), JObject) + Dim ModrinthVersion As JObject = DlModRequest("https://api.modrinth.com/v2/version_files", HttpMethod.Post, + $"{{""hashes"": [""{ModrinthHashes.Join(""",""")}""], ""algorithm"": ""sha1""}}", "application/json") Log($"[Mod] 从 Modrinth 获取到 {ModrinthVersion.Count} 个本地 Mod 的对应信息") '步骤 2:尝试读取工程信息缓存,构建其他 Mod 的对应关系 If ModrinthVersion.Count = 0 Then Return @@ -967,9 +967,8 @@ Finished: Log($"[Mod] 需要从 Modrinth 获取 {ModrinthMapping.Count} 个本地 Mod 的工程信息") '步骤 3:获取工程信息 If Not ModrinthMapping.Any() Then Return - Dim ModrinthProject = CType(GetJson(DlModRequest( - $"https://api.modrinth.com/v2/projects?ids=[""{ModrinthMapping.Keys.Join(""",""")}""]", - "GET", "", "application/json")), JArray) + Dim ModrinthProject As JArray = DlModRequest( + $"https://api.modrinth.com/v2/projects?ids=[""{ModrinthMapping.Keys.Join(""",""")}""]") For Each ProjectJson In ModrinthProject Dim Project As New CompProject(ProjectJson) For Each Entry In ModrinthMapping(Project.Id) @@ -978,9 +977,9 @@ Finished: Next Log($"[Mod] 已从 Modrinth 获取本地 Mod 信息,继续获取更新信息") '步骤 4:获取更新信息 - Dim ModrinthUpdate = CType(GetJson(DlModRequest("https://api.modrinth.com/v2/version_files/update", "POST", + Dim ModrinthUpdate As JObject = DlModRequest("https://api.modrinth.com/v2/version_files/update", HttpMethod.Post, $"{{""hashes"": [""{ModrinthMapping.SelectMany(Function(l) l.Value.Select(Function(m) m.ModrinthHash)).Join(""",""")}""], ""algorithm"": ""sha1"", - ""loaders"": [""{ModLoaders.Join(""",""").ToLower}""],""game_versions"": [""{McVersion}""]}}", "application/json")), JObject) + ""loaders"": [""{ModLoaders.Join(""",""").ToLower}""],""game_versions"": [""{McVersion}""]}}", "application/json") For Each Entry In Mods If Not ModrinthUpdate.ContainsKey(Entry.ModrinthHash) OrElse Entry.CompFile Is Nothing Then Continue For Dim UpdateFile As New CompFile(ModrinthUpdate(Entry.ModrinthHash), CompType.Mod) @@ -1015,8 +1014,8 @@ Finished: CurseForgeHashes.Add(Entry.CurseForgeHash) If Loader.IsAbortedWithThread(CurrentTaskThread) Then Return Next - Dim CurseForgeRaw = CType(CType(GetJson(DlModRequest("https://api.curseforge.com/v1/fingerprints/432", "POST", - $"{{""fingerprints"": [{CurseForgeHashes.Join(",")}]}}", "application/json")), JObject)("data")("exactMatches"), JContainer) + Dim CurseForgeRaw As JContainer = DlModRequest("https://api.curseforge.com/v1/fingerprints/432", HttpMethod.Post, + $"{{""fingerprints"": [{CurseForgeHashes.Join(",")}]}}", "application/json")("data")("exactMatches") Log($"[Mod] 从 CurseForge 获取到 {CurseForgeRaw.Count} 个本地 Mod 的对应信息") '步骤 2:尝试读取工程信息缓存,构建其他 Mod 的对应关系 If Not CurseForgeRaw.Any() Then Return @@ -1038,8 +1037,8 @@ Finished: Log($"[Mod] 需要从 CurseForge 获取 {CurseForgeMapping.Count} 个本地 Mod 的工程信息") '步骤 3:获取工程信息 If Not CurseForgeMapping.Any() Then Return - Dim CurseForgeProject = CType(GetJson(DlModRequest("https://api.curseforge.com/v1/mods", "POST", - $"{{""modIds"": [{CurseForgeMapping.Keys.Join(",")}]}}", "application/json")), JObject)("data") + Dim CurseForgeProject = DlModRequest("https://api.curseforge.com/v1/mods", HttpMethod.Post, + $"{{""modIds"": [{CurseForgeMapping.Keys.Join(",")}]}}", "application/json")("data") Dim UpdateFileIds As New Dictionary(Of Integer, List(Of McMod)) 'FileId -> 本地 Mod 文件列表 Dim FileIdToProjectSlug As New Dictionary(Of Integer, String) For Each ProjectJson In CurseForgeProject @@ -1079,8 +1078,8 @@ Finished: Log($"[Mod] 已从 CurseForge 获取本地 Mod 信息,需要获取 {UpdateFileIds.Count} 个用于检查更新的文件信息") '步骤 4:获取更新文件信息 If Not UpdateFileIds.Any() Then Return - Dim CurseForgeFiles = CType(GetJson(DlModRequest("https://api.curseforge.com/v1/mods/files", "POST", - $"{{""fileIds"": [{UpdateFileIds.Keys.Join(",")}]}}", "application/json")), JObject)("data") + Dim CurseForgeFiles = DlModRequest("https://api.curseforge.com/v1/mods/files", HttpMethod.Post, + $"{{""fileIds"": [{UpdateFileIds.Keys.Join(",")}]}}", "application/json")("data") Dim UpdateFiles As New Dictionary(Of McMod, CompFile) For Each FileJson In CurseForgeFiles Dim File As New CompFile(FileJson, CompType.Mod) diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb index ce0c443..d1de713 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb @@ -244,7 +244,7 @@ Retry: '获取 Mod 下载信息 ModDownloadLoaders.Add(New LoaderTask(Of Integer, JArray)("获取 Mod 下载信息", Sub(Task As LoaderTask(Of Integer, JArray)) - Task.Output = GetJson(DlModRequest("https://api.curseforge.com/v1/mods/files", "POST", "{""fileIds"": [" & Join(ModList, ",") & "]}", "application/json"))("data") + Task.Output = DlModRequest("https://api.curseforge.com/v1/mods/files", HttpMethod.Post, "{""fileIds"": [" & Join(ModList, ",") & "]}", "application/json")("data") '如果文件已被删除,则 API 会跳过那一项 If ModList.Count > Task.Output.Count Then Throw New Exception("整合包中的部分 Mod 版本已被 Mod 作者删除,所以没法继续安装了,请向整合包作者反馈该问题") End Sub) With {.ProgressWeight = ModList.Count / 10}) '每 10 Mod 需要 1s diff --git a/Plain Craft Launcher 2/Modules/ModSecret.vb b/Plain Craft Launcher 2/Modules/ModSecret.vb index 3c74d22..c690527 100644 --- a/Plain Craft Launcher 2/Modules/ModSecret.vb +++ b/Plain Craft Launcher 2/Modules/ModSecret.vb @@ -1,6 +1,5 @@ '由于包含加解密等安全信息,本文件中的部分代码已被删除 -Imports System.Net.Http Imports System.Security.Cryptography Friend Module ModSecret @@ -14,7 +13,6 @@ Friend Module ModSecret 'CurseForge API Key Public CurseForgeAPIKey As String = If(Environment.GetEnvironmentVariable("PCL_CURSEFORGE_API_KEY"), "") - Friend Sub SecretOnApplicationStart() '提升 UI 线程优先级 Thread.CurrentThread.Priority = ThreadPriority.Highest @@ -73,7 +71,7 @@ Friend Module ModSecret #Region "网络鉴权" - Friend Function SecretCdnSign(UrlWithMark As String) + Friend Function SecretCdnSign(UrlWithMark As String) As String If Not UrlWithMark.EndsWithF("{CDN}") Then Return UrlWithMark Return UrlWithMark.Replace("{CDN}", "").Replace(" ", "%20") End Function @@ -92,7 +90,6 @@ Friend Module ModSecret If Url.Contains("api.curseforge.com") Then Req.Headers.Add("x-api-key", CurseForgeAPIKey) End Sub - #End Region #Region "字符串加解密" diff --git a/Plain Craft Launcher 2/Modules/Reference/CookieWebClient.vb b/Plain Craft Launcher 2/Modules/Reference/CookieWebClient.vb deleted file mode 100644 index 1f5ea45..0000000 --- a/Plain Craft Launcher 2/Modules/Reference/CookieWebClient.vb +++ /dev/null @@ -1,59 +0,0 @@ -Imports System.Net - -Public Class CookieWebClient - Inherits WebClient - - Public Sub New(container As CookieContainer, Headers As Dictionary(Of String, String)) - Me.New(container) - For Each keyVal In Headers - Me.Headers(keyVal.Key) = keyVal.Value - Next - End Sub - - Public Sub New() - Me.New(New CookieContainer()) - End Sub - - Public Sub New(container As CookieContainer) - Me.container = container - End Sub - - Private Shadows ReadOnly container As New CookieContainer() - - ''' - ''' 以毫秒为单位的超时。 - ''' - Public Timeout As Integer = 600000 - - Protected Overrides Function GetWebRequest(address As Uri) As WebRequest - Dim r As WebRequest = MyBase.GetWebRequest(address) - Dim request = TryCast(r, HttpWebRequest) - - If request IsNot Nothing Then - request.CookieContainer = container - request.Timeout = Timeout - End If - - Return r - End Function - - Protected Overrides Function GetWebResponse(request As WebRequest, result As IAsyncResult) As WebResponse - Dim response As WebResponse = MyBase.GetWebResponse(request, result) - ReadCookies(response) - Return response - End Function - - Protected Overrides Function GetWebResponse(request As WebRequest) As WebResponse - Dim response As WebResponse = MyBase.GetWebResponse(request) - ReadCookies(response) - Return response - End Function - - Private Sub ReadCookies(r As WebResponse) - Dim response = TryCast(r, HttpWebResponse) - If response IsNot Nothing Then - Dim cookies As CookieCollection = response.Cookies - container.Add(cookies) - End If - End Sub -End Class diff --git a/Plain Craft Launcher 2/Modules/Base/ModDragHelper.vb b/Plain Craft Launcher 2/Modules/ThirdParty/DragHelper.vb similarity index 68% rename from Plain Craft Launcher 2/Modules/Base/ModDragHelper.vb rename to Plain Craft Launcher 2/Modules/ThirdParty/DragHelper.vb index 8db1bf5..ff950c4 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModDragHelper.vb +++ b/Plain Craft Launcher 2/Modules/ThirdParty/DragHelper.vb @@ -1,11 +1,10 @@ -Imports System +'来源:https://blog.csdn.net/simpleman2000/article/details/140952294 + Imports System.ComponentModel Imports System.Runtime.InteropServices -Imports System.Text Imports System.Windows.Interop - -Public Class DragFileHelper +Public Class DragHelper Public Event DragDrop As EventHandler @@ -32,22 +31,22 @@ Public Class DragFileHelper Public Property HwndIntPtrSource As HwndSource Public Sub AddHook() - Me.RemoveDragHook() - Me.HwndIntPtrSource.AddHook(AddressOf WndProc) - Dim handle As IntPtr = Me.HwndIntPtrSource.Handle + RemoveDragHook() + HwndIntPtrSource.AddHook(AddressOf WndProc) + Dim handle As IntPtr = HwndIntPtrSource.Handle If IsUserAnAdmin() Then RevokeDragDrop(handle) DragAcceptFiles(handle, True) ChangeMessageFilter(handle) End Sub Public Sub RemoveDragHook() - Me.HwndIntPtrSource.RemoveHook(AddressOf WndProc) - DragAcceptFiles(Me.HwndIntPtrSource.Handle, False) + HwndIntPtrSource.RemoveHook(AddressOf WndProc) + DragAcceptFiles(HwndIntPtrSource.Handle, False) End Sub - Private Function WndProc(ByVal hwnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr, ByRef handled As Boolean) As IntPtr + Private Function WndProc(hwnd As IntPtr, msg As Integer, wParam As IntPtr, lParam As IntPtr, ByRef handled As Boolean) As IntPtr Dim filePaths As String() = Nothing - Dim point As POINT = New POINT() + Dim point As New POINT() If TryGetDropInfo(msg, wParam, filePaths, point) Then DropPoint = point @@ -59,31 +58,31 @@ Public Class DragFileHelper End Function - Private Shared Function ChangeWindowMessageFilterEx(ByVal hWnd As IntPtr, ByVal msg As UInteger, ByVal action As UInteger, ByRef pChangeFilterStruct As CHANGEFILTERSTRUCT) As Boolean + Private Shared Function ChangeWindowMessageFilterEx(hWnd As IntPtr, msg As UInteger, action As UInteger, ByRef pChangeFilterStruct As CHANGEFILTERSTRUCT) As Boolean End Function - Private Shared Function ChangeWindowMessageFilter(ByVal msg As UInteger, ByVal flags As UInteger) As Boolean + Private Shared Function ChangeWindowMessageFilter(msg As UInteger, flags As UInteger) As Boolean End Function - Private Shared Sub DragAcceptFiles(ByVal hWnd As IntPtr, ByVal fAccept As Boolean) + Private Shared Sub DragAcceptFiles(hWnd As IntPtr, fAccept As Boolean) End Sub - Private Shared Function DragQueryFile(ByVal hWnd As IntPtr, ByVal iFile As UInteger, ByVal lpszFile As StringBuilder, ByVal cch As Integer) As UInteger + Private Shared Function DragQueryFile(hWnd As IntPtr, iFile As UInteger, lpszFile As StringBuilder, cch As Integer) As UInteger End Function - Private Shared Function DragQueryPoint(ByVal hDrop As IntPtr, ByRef lppt As POINT) As Boolean + Private Shared Function DragQueryPoint(hDrop As IntPtr, ByRef lppt As POINT) As Boolean End Function - Private Shared Sub DragFinish(ByVal hDrop As IntPtr) + Private Shared Sub DragFinish(hDrop As IntPtr) End Sub - Private Shared Function RevokeDragDrop(ByVal hWnd As IntPtr) As Integer + Private Shared Function RevokeDragDrop(hWnd As IntPtr) As Integer End Function @@ -109,13 +108,13 @@ Public Class DragFileHelper Private Const MSGFLT_ADD As UInteger = 1 Private Const MAX_PATH As Integer = 260 - Private Shared Sub ChangeMessageFilter(ByVal handle As IntPtr) + Private Shared Sub ChangeMessageFilter(handle As IntPtr) Dim ver As Version = Environment.OSVersion.Version Dim isVistaOrHigher As Boolean = ver >= New Version(6, 0) Dim isNt61OrHiger As Boolean = ver >= New Version(6, 1) If isVistaOrHigher Then - Dim status As CHANGEFILTERSTRUCT = New CHANGEFILTERSTRUCT With {.cbSize = 8} + Dim status As New CHANGEFILTERSTRUCT With {.cbSize = 8} For Each msg As UInteger In New UInteger() {WM_DROPFILES, WM_COPYGLOBALDATA, WM_COPYDATA} Dim [error] As Boolean = False If isNt61OrHiger Then @@ -129,7 +128,7 @@ Public Class DragFileHelper End If End Sub - Private Shared Function TryGetDropInfo(ByVal msg As Integer, ByVal wParam As IntPtr, ByRef dropFilePaths As String(), ByRef dropPoint As POINT) As Boolean + Private Shared Function TryGetDropInfo(msg As Integer, wParam As IntPtr, ByRef dropFilePaths As String(), ByRef dropPoint As POINT) As Boolean dropFilePaths = Nothing dropPoint = New POINT() @@ -141,7 +140,7 @@ Public Class DragFileHelper For i As UInteger = 0 To fileCount - 1 Dim sb As New StringBuilder(MAX_PATH) Dim result As UInteger = DragQueryFile(wParam, i, sb, sb.Capacity) - If result > 0 Then dropFilePaths(CInt(i)) = sb.ToString() + If result > 0 Then dropFilePaths(i) = sb.ToString() Next DragQueryPoint(wParam, dropPoint) @@ -149,4 +148,4 @@ Public Class DragFileHelper Return True End Function -End Class \ No newline at end of file +End Class diff --git a/Plain Craft Launcher 2/My Project/AssemblyInfo.vb b/Plain Craft Launcher 2/My Project/AssemblyInfo.vb index 8d8a259..9de41ac 100644 --- a/Plain Craft Launcher 2/My Project/AssemblyInfo.vb +++ b/Plain Craft Launcher 2/My Project/AssemblyInfo.vb @@ -51,6 +51,6 @@ Imports System.Runtime.InteropServices ' 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 ' 方法是按如下所示使用“*” - - + + diff --git a/Plain Craft Launcher 2/My Project/Resources.Designer.vb b/Plain Craft Launcher 2/My Project/Resources.Designer.vb index 81e998d..dfc568a 100644 --- a/Plain Craft Launcher 2/My Project/Resources.Designer.vb +++ b/Plain Craft Launcher 2/My Project/Resources.Designer.vb @@ -63,9 +63,9 @@ Namespace My.Resources ''' ''' 查找 System.Byte[] 类型的本地化资源。 ''' - Friend ReadOnly Property Custom() As Byte() + Friend ReadOnly Property CacheCow_Client() As Byte() Get - Dim obj As Object = ResourceManager.GetObject("Custom", resourceCulture) + Dim obj As Object = ResourceManager.GetObject("CacheCow.Client", resourceCulture) Return CType(obj,Byte()) End Get End Property @@ -73,9 +73,29 @@ Namespace My.Resources ''' ''' 查找 System.Byte[] 类型的本地化资源。 ''' - Friend ReadOnly Property Dialogs() As Byte() + Friend ReadOnly Property CacheCow_Client_FileStore() As Byte() Get - Dim obj As Object = ResourceManager.GetObject("Dialogs", resourceCulture) + Dim obj As Object = ResourceManager.GetObject("CacheCow.Client.FileStore", resourceCulture) + Return CType(obj,Byte()) + End Get + End Property + + ''' + ''' 查找 System.Byte[] 类型的本地化资源。 + ''' + Friend ReadOnly Property CacheCow_Common() As Byte() + Get + Dim obj As Object = ResourceManager.GetObject("CacheCow.Common", resourceCulture) + Return CType(obj,Byte()) + End Get + End Property + + ''' + ''' 查找 System.Byte[] 类型的本地化资源。 + ''' + Friend ReadOnly Property Custom() As Byte() + Get + Dim obj As Object = ResourceManager.GetObject("Custom", resourceCulture) Return CType(obj,Byte()) End Get End Property @@ -105,7 +125,7 @@ Namespace My.Resources ''' Friend ReadOnly Property Imazen_WebP() As Byte() Get - Dim obj As Object = ResourceManager.GetObject("Imazen_WebP", resourceCulture) + Dim obj As Object = ResourceManager.GetObject("Imazen.WebP", resourceCulture) Return CType(obj,Byte()) End Get End Property @@ -120,16 +140,6 @@ Namespace My.Resources End Get End Property - ''' - ''' 查找 System.Byte[] 类型的本地化资源。 - ''' - Friend ReadOnly Property Json() As Byte() - Get - Dim obj As Object = ResourceManager.GetObject("Json", resourceCulture) - Return CType(obj,Byte()) - End Get - End Property - ''' ''' 查找 System.Byte[] 类型的本地化资源。 ''' @@ -160,6 +170,36 @@ Namespace My.Resources End Get End Property + ''' + ''' 查找 System.Byte[] 类型的本地化资源。 + ''' + Friend ReadOnly Property Newtonsoft_Json() As Byte() + Get + Dim obj As Object = ResourceManager.GetObject("Newtonsoft.Json", resourceCulture) + Return CType(obj,Byte()) + End Get + End Property + + ''' + ''' 查找 System.Byte[] 类型的本地化资源。 + ''' + Friend ReadOnly Property Ookii_Dialogs_Wpf() As Byte() + Get + Dim obj As Object = ResourceManager.GetObject("Ookii.Dialogs.Wpf", resourceCulture) + Return CType(obj,Byte()) + End Get + End Property + + ''' + ''' 查找 System.Byte[] 类型的本地化资源。 + ''' + Friend ReadOnly Property System_Net_Http_Formatting() As Byte() + Get + Dim obj As Object = ResourceManager.GetObject("System.Net.Http.Formatting", resourceCulture) + Return CType(obj,Byte()) + End Get + End Property + ''' ''' 查找 System.Byte[] 类型的本地化资源。 ''' diff --git a/Plain Craft Launcher 2/My Project/Resources.resx b/Plain Craft Launcher 2/My Project/Resources.resx index 8f1da65..8db2019 100644 --- a/Plain Craft Launcher 2/My Project/Resources.resx +++ b/Plain Craft Launcher 2/My Project/Resources.resx @@ -118,27 +118,30 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\CacheCow.Client.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\CacheCow.Client.FileStore.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\CacheCow.Common.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\resources\custom.xaml;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\resources\ookii.dialogs.wpf.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\forge-installer.jar;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\Help.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + ..\Resources\Imazen.WebP.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\java-wrapper.jar;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\Newtonsoft.Json.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\libwebp64.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -148,6 +151,15 @@ ..\Resources\NAudio.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\Newtonsoft.Json.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\resources\ookii.dialogs.wpf.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\System.Net.Http.Formatting.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\transformer.jar;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 diff --git a/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml b/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml index 2e3c8c5..944bca6 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml +++ b/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml @@ -92,4 +92,4 @@ - + \ No newline at end of file diff --git a/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml.vb b/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml.vb index 18be6d0..f3d278c 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml.vb @@ -99,7 +99,6 @@ Public Class PageComp End If TargetVersion = Nothing If TargetName IsNot Nothing Then - '设置搜索框内容 TextSearchName.Text = TargetName TargetName = Nothing End If diff --git a/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageDownloadCompDetail.xaml.vb b/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageDownloadCompDetail.xaml.vb index 3f1b0c9..32a0c61 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageDownloadCompDetail.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/Comp/PageDownloadCompDetail.xaml.vb @@ -73,13 +73,14 @@ '筛选类型相同的结果(Modrinth 会返回 Mod、服务端插件、数据包混合的列表) Private Function GetResults() As List(Of CompFile) Dim Results As List(Of CompFile) = CompFileLoader.Output - If PageType = CompType.Any Then - Results = Results.Where(Function(r) r.Type <> CompType.Plugin).ToList - ElseIf PageType = CompType.Shader OrElse PageType = CompType.ResourcePack Then - Results = Results.ToList - Else - Results = Results.Where(Function(r) r.Type = PageType).ToList - End If + Select Case PageType + Case CompType.Any + Results = Results.Where(Function(r) r.Type <> CompType.Plugin).ToList + Case CompType.Shader, CompType.ResourcePack + '不筛选光影和资源包,否则原版光影会因为是资源包格式而被过滤(#6473) + Case Else + Results = Results.Where(Function(r) r.Type = PageType).ToList + End Select Return Results End Function Private Sub Load_OnFinish() @@ -358,7 +359,7 @@ Return False End Function '获取常规资源默认下载位置 - If CachedFolder.ContainsKey(Project.Type) AndAlso Not String.IsNullOrEmpty(CachedFolder(Project.Type)) Then + If CachedFolder.ContainsKey(Project.Type) Then DefaultFolder = CachedFolder(Project.Type) Log($"[Comp] 使用上次下载时的文件夹作为默认下载位置:{DefaultFolder}") ElseIf McVersionCurrent IsNot Nothing AndAlso IsVersionSuitable(McVersionCurrent) Then @@ -424,13 +425,7 @@ If Not Target.Contains("\") Then Return '构造步骤加载器 Dim LoaderName As String = Desc & "下载:" & GetFileNameWithoutExtentionFromPath(Target) & " " - If Target <> DefaultFolder Then - If CachedFolder.ContainsKey(Project.Type) Then - CachedFolder(Project.Type) = GetPathFromFullPath(Target) - Else - CachedFolder.Add(Project.Type, GetPathFromFullPath(Target)) - End If - End If + If Target <> DefaultFolder Then CachedFolder(Project.Type) = GetPathFromFullPath(Target) Dim Loaders As New List(Of LoaderBase) Loaders.Add(New LoaderDownload("下载文件", New List(Of NetFile) From {File.ToNetFile(Target)}) With {.ProgressWeight = 6, .Block = True}) '启动 diff --git a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb index 5829841..02c92e2 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb @@ -570,7 +570,8 @@ pause" '官方源 Dim PageData As String Try - PageData = NetGetCodeByClient("https://optifine.net/adloadx?f=" & DownloadInfo.NameFile, New UTF8Encoding(False), 15000, "text/html", True) + PageData = NetRequestByClient("https://optifine.net/adloadx?f=" & DownloadInfo.NameFile, + Encoding:=New UTF8Encoding(False), Timeout:=15000, Accept:="text/html", UseBrowserUserAgent:=True) Task.Progress = 0.8 Sources.Add("https://optifine.net/" & RegexSearch(PageData, "downloadx\?f=[^""']+")(0)) Log("[Download] OptiFine " & DownloadInfo.NameDisplay & " 官方下载地址:" & Sources.Last) @@ -733,7 +734,8 @@ Retry: '官方源 Dim PageData As String Try - PageData = NetGetCodeByClient("https://optifine.net/adloadx?f=" & DownloadInfo.NameFile, New UTF8Encoding(False), 15000, "text/html", True) + PageData = NetRequestByClient("https://optifine.net/adloadx?f=" & DownloadInfo.NameFile, + Encoding:=New UTF8Encoding(False), Timeout:=15000, Accept:="text/html", UseBrowserUserAgent:=True) Task.Progress = 0.8 Sources.Add("https://optifine.net/" & RegexSearch(PageData, "downloadx\?f=[^""']+")(0)) Log("[Download] OptiFine " & DownloadInfo.NameDisplay & " 官方下载地址:" & Sources.Last) @@ -1340,7 +1342,7 @@ Retry: If Json("data") IsNot Nothing AndAlso Json("data")("MOJMAPS") IsNot Nothing Then '下载原版 Json 文件 Task.Progress = 0.4 - Dim RawJson As JObject = GetJson(NetGetCodeByLoader(DlSourceLauncherOrMetaGet(DlClientListGet(Inherit)), IsJson:=True)) + Dim RawJson As JObject = GetJson(NetRequestByLoader(DlSourceLauncherOrMetaGet(DlClientListGet(Inherit)), IsJson:=True)) '[net.minecraft:client:1.17.1-20210706.113038:mappings@txt] 或 @tsrg] Dim OriginalName As String = Json("data")("MOJMAPS")("client").ToString.Trim("[]".ToCharArray()).BeforeFirst("@") Dim Address = McLibGet(OriginalName).Replace(".jar", "-mappings." & Json("data")("MOJMAPS")("client").ToString.Trim("[]".ToCharArray()).Split("@")(1)) @@ -1641,30 +1643,31 @@ Retry: Public Sub McDownloadForgeRecommendedRefresh() If IsForgeRecommendedRefreshed Then Return IsForgeRecommendedRefreshed = True - RunInNewThread(Sub() - Try - Log("[Download] 刷新 Forge 推荐版本缓存开始") - Dim Result As String = NetGetCodeByLoader("https://bmclapi2.bangbang93.com/forge/promos") - If Result.Length < 1000 Then Throw New Exception("获取的结果过短(" & Result & ")") - Dim ResultJson As JContainer = GetJson(Result) - '获取所有推荐版本列表 - Dim RecommendedList As New List(Of String) - For Each Version As JObject In ResultJson - If Version("name") Is Nothing OrElse Version("build") Is Nothing Then Continue For - Dim Name As String = Version("name") - If Not Name.EndsWithF("-recommended") Then Continue For - '内容为:"1.15.2":"31.2.0" - RecommendedList.Add("""" & Name.Replace("-recommended", """:""" & Version("build")("version").ToString & """")) - Next - If RecommendedList.Count < 5 Then Throw New Exception("获取的推荐版本数过少(" & Result & ")") - '保存 - Dim CacheJson As String = "{" & Join(RecommendedList, ",") & "}" - WriteFile(PathTemp & "Cache\ForgeRecommendedList.json", CacheJson) - Log("[Download] 刷新 Forge 推荐版本缓存成功") - Catch ex As Exception - Log(ex, "刷新 Forge 推荐版本缓存失败") - End Try - End Sub, "ForgeRecommendedRefresh") + RunInNewThread( + Sub() + Try + Log("[Download] 刷新 Forge 推荐版本缓存开始") + Dim Result As String = NetRequestByClientRetry("https://bmclapi2.bangbang93.com/forge/promos") + If Result.Length < 1000 Then Throw New Exception("获取的结果过短(" & Result & ")") + Dim ResultJson As JContainer = GetJson(Result) + '获取所有推荐版本列表 + Dim RecommendedList As New List(Of String) + For Each Version As JObject In ResultJson + If Version("name") Is Nothing OrElse Version("build") Is Nothing Then Continue For + Dim Name As String = Version("name") + If Not Name.EndsWithF("-recommended") Then Continue For + '内容为:"1.15.2":"31.2.0" + RecommendedList.Add("""" & Name.Replace("-recommended", """:""" & Version("build")("version").ToString & """")) + Next + If RecommendedList.Count < 5 Then Throw New Exception("获取的推荐版本数过少(" & Result & ")") + '保存 + Dim CacheJson As String = "{" & Join(RecommendedList, ",") & "}" + WriteFile(PathTemp & "Cache\ForgeRecommendedList.json", CacheJson) + Log("[Download] 刷新 Forge 推荐版本缓存成功") + Catch ex As Exception + Log(ex, "刷新 Forge 推荐版本缓存失败") + End Try + End Sub, "ForgeRecommendedRefresh") End Sub Private IsForgeRecommendedRefreshed As Boolean = False diff --git a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml index 5578905..35c1a4e 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml +++ b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml @@ -27,8 +27,7 @@ - - + diff --git a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb index 0e347f7..61eedf1 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb @@ -476,11 +476,6 @@ Else HintModOptiFine.Visibility = Visibility.Collapsed End If - If SelectedFabric IsNot Nothing AndAlso VersionSortInteger(SelectedMinecraftId, "1.21.4") > 0 Then - HintModOptiFineHigh.Visibility = Visibility.Visible - Else - HintModOptiFineHigh.Visibility = Visibility.Collapsed - End If '结束 IsReloading = False End Sub @@ -676,13 +671,16 @@ If SelectedNeoForge IsNot Nothing Then Return "与 NeoForge 不兼容" If LoadOptiFine Is Nothing OrElse LoadOptiFine.State.LoadingState = MyLoading.MyLoadingState.Run Then Return "加载中……" If LoadOptiFine.State.LoadingState = MyLoading.MyLoadingState.Error Then Return "获取版本列表失败:" & CType(LoadOptiFine.State, Object).Error.Message - '检查 Fabric 1.20.5+:没有 OptiFabric 故全部不兼容 - If SelectedFabric IsNot Nothing AndAlso VersionSortInteger(SelectedMinecraftId, "1.20.4") > 0 Then Return "与 Fabric 不兼容" '检查 Forge 1.13 - 1.14.3:全部不兼容 If SelectedForge IsNot Nothing AndAlso VersionSortInteger(SelectedMinecraftId, "1.13") >= 0 AndAlso VersionSortInteger("1.14.3", SelectedMinecraftId) >= 0 Then Return "与 Forge 不兼容" End If + '检查 Fabric 1.20.5+:全部不兼容 + If SelectedFabric IsNot Nothing AndAlso + VersionSortInteger(SelectedMinecraftId, "1.20.4") > 0 Then + Return "与 Fabric 不兼容" + End If '检查 Forge 版本 Dim HasAny As Boolean = False Dim HasRequiredVersion As Boolean = False @@ -988,8 +986,11 @@ Private Function LoadFabricGetError() As String If LoadFabric Is Nothing OrElse LoadFabric.State.LoadingState = MyLoading.MyLoadingState.Run Then Return "加载中……" If LoadFabric.State.LoadingState = MyLoading.MyLoadingState.Error Then Return "获取版本列表失败:" & CType(LoadFabric.State, Object).Error.Message - '检查 Fabric 1.20.5+:没有 OptiFabric 故全部不兼容 - If SelectedOptiFine IsNot Nothing AndAlso VersionSortInteger(SelectedMinecraftId, "1.20.4") > 0 Then Return "与 OptiFine 不兼容" + '检查 OptiFine 1.20.5+:没有 OptiFabric 故全部不兼容 + If SelectedOptiFine IsNot Nothing AndAlso + VersionSortInteger(SelectedMinecraftId, "1.20.4") > 0 Then + Return "与 OptiFine 不兼容" + End If For Each Version As JObject In DlFabricListLoader.Output.Value("game") If Version("version").ToString = SelectedMinecraftId.Replace("∞", "infinite").Replace("Combat Test 7c", "1.16_combat-3") Then If SelectedForge IsNot Nothing Then Return "与 Forge 不兼容" diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MyMsgLogin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MyMsgLogin.xaml.vb index 533ce72..7181978 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MyMsgLogin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MyMsgLogin.xaml.vb @@ -105,13 +105,15 @@ Dim UnknownFailureCount As Integer = 0 Do While Not MyConverter.IsExited Try - Dim Result = NetRequestOnce( - "https://login.microsoftonline.com/consumers/oauth2/v2.0/token", "POST", - "grant_type=urn:ietf:params:oauth:grant-type:device_code" & "&" & - "client_id=" & OAuthClientId & "&" & - "device_code=" & DeviceCode & "&" & - "scope=XboxLive.signin%20offline_access", - "application/x-www-form-urlencoded", 5000 + UnknownFailureCount * 5000, MakeLog:=False) + Dim Result = NetRequestByClient( + "https://login.microsoftonline.com/consumers/oauth2/v2.0/token", HttpMethod.Post, + Content:= + "grant_type=urn:ietf:params:oauth:grant-type:device_code" & "&" & + "client_id=" & OAuthClientId & "&" & + "device_code=" & DeviceCode & "&" & + "scope=XboxLive.signin%20offline_access", + ContentType:="application/x-www-form-urlencoded", + Timeout:=5000 + UnknownFailureCount * 5000) '获取结果 Dim ResultJson As JObject = GetJson(Result) McLaunchLog($"令牌过期时间:{ResultJson("expires_in")} 秒") @@ -125,8 +127,8 @@ ElseIf ex.Message.Contains("expired_token") Then Finished(New Exception("$登录用时太长啦,重新试试吧!")) Return - Else If ex.Message.Contains("Account security interrupt") Then - Finished(New Exception("$非常抱歉,该账号由于安全问题无法登陆,请前往 Microsoft 账户页获取更多信息。")) + ElseIf ex.Message.Contains("Account security interrupt") Then + Finished(New Exception("$该账号由于安全问题无法登陆,请前往微软账户页获取更多信息。")) Return ElseIf ex.Message.Contains("service abuse") Then Finished(New Exception("$非常抱歉,该账号已被微软封禁,无法登录。")) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb index 190326d..352c69b 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -259,12 +259,13 @@ Retry: End Sub) If SelId Is Nothing Then Return '发送请求 - Dim Result As String = NetRequestRetry("https://api.minecraftservices.com/minecraft/profile/capes/active", - If(SelId = 0, "DELETE", "PUT"), - If(SelId = 0, "", New JObject(New JProperty("capeId", SkinData("capes")(SelId - 1)("id"))).ToString(0)), - "application/json", Headers:=New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) + Dim Result As String = NetRequestByClientRetry("https://api.minecraftservices.com/minecraft/profile/capes/active", + If(SelId = 0, HttpMethod.Delete, HttpMethod.Put), + Content:=If(SelId = 0, "", New JObject(New JProperty("capeId", SkinData("capes")(SelId - 1)("id"))).ToString(0)), + ContentType:="application/json", + Headers:={{"Authorization", "Bearer " & AccessToken}}) If Result.Contains("""errorMessage""") Then - Hint("更改披风失败:" & GetJson(Result)("errorMessage"), HintType.Critical) + Hint("更改披风失败:" & GetJson(Result)("errorMessage").ToString, HintType.Critical) Return Else Hint("更改披风成功!", HintType.Finish) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchRight.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchRight.xaml.vb index f9a2be3..2fafa6f 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchRight.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchRight.xaml.vb @@ -156,7 +156,7 @@ Download: Dim Version As String = "" Dim NeedDownload As Boolean = True Try - Version = NetGetCodeByRequestOnce(VersionAddress, Timeout:=10000) + Version = NetRequestByClientRetry(VersionAddress) If Version.Length > 1000 Then Throw New Exception($"获取的主页版本过长({Version.Length} 字符)") Dim CurrentVersion As String = Setup.Get("CacheSavedPageVersion") If Version <> "" AndAlso CurrentVersion <> "" AndAlso Version = CurrentVersion Then @@ -171,7 +171,7 @@ Download: End Try '实际下载 If NeedDownload Then - Dim FileContent As String = NetGetCodeByRequestRetry(Address) + Dim FileContent As String = NetRequestByClientRetry(Address) Log($"[Page] 已联网下载主页,内容长度:{FileContent.Length},来源:{Address}") Setup.Set("CacheSavedPageUrl", Address) Setup.Set("CacheSavedPageVersion", Version) @@ -231,7 +231,9 @@ Download: Try '修改时应同时修改 PageOtherHelpDetail.Init Content = HelpArgumentReplace(Content) - If Content.Contains("xmlns") Then Content = Content.RegexReplace("xmlns[^""']*(""|')[^""']*(""|')", "").Replace("xmlns", "") '禁止声明命名空间 + Do While Content.Contains("xmlns") + Content = Content.RegexReplace("xmlns[^""']*(""|')[^""']*(""|')", "").Replace("xmlns", "") '禁止声明命名空间 + Loop Content = "" & Content & "" Log($"[Page] 实例化:加载主页 UI 开始,最终内容长度:{Content.Count}") PanCustom.Children.Add(GetObjectFromXML(Content)) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginLegacy.xaml b/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginLegacy.xaml index ff528d2..2ca71d0 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginLegacy.xaml +++ b/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginLegacy.xaml @@ -5,7 +5,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:PCL" mc:Ignorable="d" d:DesignWidth="297.6"> - + diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginLegacy.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginLegacy.xaml.vb index f3879f4..33cafbb 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginLegacy.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginLegacy.xaml.vb @@ -64,6 +64,7 @@ Public Class PageLoginLegacy Private Sub ComboLegacy_TextChanged(sender As Object, e As TextChangedEventArgs) Handles ComboName.TextChanged If Setup.Get("LaunchSkinType") = 0 Then PageLaunchLeft.SkinLegacy.Start(IsForceRestart:=True) HintChinese.Visibility = If(RegexCheck(ComboName.Text, "^[0-9A-Za-z_]*$"), Visibility.Collapsed, Visibility.Visible) + RunInUi(Sub() PanMain.InvalidateMeasure(), True) '由于 WPF 的 Bug,它不一定会自动更新 HintChinese 的大小(#6627) End Sub Private Sub Skin_Click() Handles Skin.Click If (Setup.Get("UiHiddenPageSetup") OrElse Setup.Get("UiHiddenSetupLaunch")) AndAlso Not PageSetupUI.HiddenForceShow Then diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginMsSkin.xaml b/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginMsSkin.xaml index 170f534..f6c72da 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginMsSkin.xaml +++ b/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginMsSkin.xaml @@ -23,9 +23,11 @@ - - + + + + diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginMsSkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginMsSkin.xaml.vb index dd33df6..325a077 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginMsSkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/PageLoginMsSkin.xaml.vb @@ -107,7 +107,7 @@ Retry: McLoginMsLoader.Start(GetLoginData(), IsForceRestart:=True) GoTo Retry ElseIf Result.Contains("""error""") Then - Hint("更改皮肤失败:" & GetJson(Result)("error"), HintType.Critical) + Hint("更改皮肤失败:" & GetJson(Result)("error").ToString, HintType.Critical) Return End If '获取新皮肤地址 diff --git a/Plain Craft Launcher 2/Pages/PageOther/PageOtherAbout.xaml b/Plain Craft Launcher 2/Pages/PageOther/PageOtherAbout.xaml index eb864b7..cff69c5 100644 --- a/Plain Craft Launcher 2/Pages/PageOther/PageOtherAbout.xaml +++ b/Plain Craft Launcher 2/Pages/PageOther/PageOtherAbout.xaml @@ -1,468 +1,491 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Plain Craft Launcher 2/Pages/PageSelectRight.xaml.vb b/Plain Craft Launcher 2/Pages/PageSelectRight.xaml.vb index b553cc7..19f89cf 100644 --- a/Plain Craft Launcher 2/Pages/PageSelectRight.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageSelectRight.xaml.vb @@ -227,7 +227,7 @@ DeleteDirectory(Version.Path) Hint("版本 " & Version.Name & " 已永久删除!", HintType.Finish) Else - FileIO.FileSystem.DeleteDirectory(Version.Path, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin) + FileIO.FileSystem.DeleteDirectory(Version.Path, FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin) Hint("版本 " & Version.Name & " 已删除到回收站!", HintType.Finish) End If Case 2 diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml index 1416b83..a04f7f7 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml @@ -205,7 +205,7 @@ - + @@ -240,10 +240,10 @@ ToolTip="还原" ToolTipService.Placement="Right" ToolTipService.InitialShowDelay="200" ToolTipService.VerticalOffset="-1" Logo="M530 0c287 0 521 229 521 511s-233 511-521 511c-233 0-436-151-500-368a63 63 0 0 1 44-79 65 65 0 0 1 80 43c48 162 200 276 375 276 215 0 390-171 390-383s-174-383-390-383c-103 0-199 39-270 106l21-5a63 63 0 0 1 33 123l-157 42a65 65 0 0 1-90-42l-49-183a65 65 0 1 1 126-33l6 26A524 524 0 0 1 530 0z" LogoScale="0.9" /> - - + diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupSystem.xaml b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupSystem.xaml index 4142ee9..9fd7422 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupSystem.xaml +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupSystem.xaml @@ -198,7 +198,7 @@ - + diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml.vb b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml.vb index a4cb54d..e39438e 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml.vb @@ -1,6 +1,4 @@ -Imports NAudio.Wave - -Public Class PageSetupUI +Public Class PageSetupUI Public Shadows IsLoaded As Boolean = False @@ -276,7 +274,7 @@ Public Class PageSetupUI '顶部栏 Private Sub BtnLogoChange_Click(sender As Object, e As EventArgs) Handles BtnLogoChange.Click - Dim FileName As String = SelectFile("常用图片文件(*.png;*.jpg;*.gif;*.webp;*.jpeg)|*.png;*.jpg;*.gif;*.webp;*.jpeg", "选择图片") + Dim FileName As String = SelectFile("常用图片文件(*.png;*.jpg;*.jpeg;*.gif;*.webp)|*.png;*.jpg;*.jpeg;*.gif;*.webp", "选择图片") If FileName = "" Then Return Try '拷贝文件 @@ -321,7 +319,7 @@ Refresh: Return End If '没有图片则要求选择 - Dim FileName As String = SelectFile("常用图片文件(*.png;*.jpg;*.gif;*.webp)|*.png;*.jpg;*.gif;*.webp", "选择图片") + Dim FileName As String = SelectFile("常用图片文件(*.png;*.jpeg;*.jpg;*.gif;*.webp)|*.png;*.jpeg;*.jpg;*.gif;*.webp", "选择图片") If FileName = "" Then FrmMain.ImageTitleLogo.Source = Nothing e.Handled = True @@ -359,15 +357,9 @@ Refresh: PanMusicVolume.Visibility = Visibility.Visible PanMusicDetail.Visibility = Visibility.Visible BtnMusicClear.Visibility = Visibility.Visible - Dim validMusicCount As Integer = 0 - For Each File In EnumerateFiles(Path & "PCL\Musics\") - Try - If {".ini", ".jpg", ".txt", ".cfg", ".lrc", ".db", ".png"}.Contains(File.Extension.ToLower) Then Continue For - validMusicCount += 1 - Catch ex As Exception - End Try - Next - CardMusic.Title = "背景音乐(" & validMusicCount & " 首)" + CardMusic.Title = "背景音乐(" & + EnumerateFiles(Path & "PCL\Musics\").Count(Function(f) {".ini", ".jpg", ".txt", ".cfg", ".lrc", ".db", ".png"}.Contains(f.Extension.ToLower)) & + " 首)" Else PanMusicVolume.Visibility = Visibility.Collapsed PanMusicDetail.Visibility = Visibility.Collapsed diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb index 6a5e6b0..9f03eed 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb @@ -564,8 +564,8 @@ Public Class PageVersionExport Sub() Try Dim ModrinthHashes = Loader.Input.Select(Function(m) m.ModrinthHash) - Dim ModrinthRaw = CType(GetJson(DlModRequest("https://api.modrinth.com/v2/version_files", "POST", - $"{{""hashes"": [""{ModrinthHashes.Join(""",""")}""], ""algorithm"": ""sha1""}}", "application/json")), JObject) + Dim ModrinthRaw As JObject = DlModRequest("https://api.modrinth.com/v2/version_files", HttpMethod.Post, + $"{{""hashes"": [""{ModrinthHashes.Join(""",""")}""], ""algorithm"": ""sha1""}}", "application/json") For Each ModFile In Loader.Input '查找对应的文件 If Not ModrinthRaw.ContainsKey(ModFile.ModrinthHash) Then Continue For @@ -589,8 +589,8 @@ Public Class PageVersionExport Try If ModrinthUploadMode Then Return 'Modrinth 上传模式下,不能从 CurseForge 获取信息 Dim CurseForgeHashes = Loader.Input.Select(Function(m) m.CurseForgeHash) - Dim CurseForgeRaw = CType(CType(GetJson(DlModRequest("https://api.curseforge.com/v1/fingerprints/432/", "POST", - $"{{""fingerprints"": [{CurseForgeHashes.Join(",")}]}}", "application/json")), JObject)("data")("exactMatches"), JContainer) + Dim CurseForgeRaw As JContainer = DlModRequest("https://api.curseforge.com/v1/fingerprints/432/", HttpMethod.Post, + $"{{""fingerprints"": [{CurseForgeHashes.Join(",")}]}}", "application/json")("data")("exactMatches") For Each ResultJson As JObject In CurseForgeRaw If Not ResultJson.ContainsKey("file") Then Continue For Dim File As JObject = ResultJson("file") diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionMod.xaml.vb b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionMod.xaml.vb index 3fe78d0..ed319a7 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionMod.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionMod.xaml.vb @@ -381,8 +381,9 @@ Install: ''' 下载 Mod。 ''' Private Sub BtnManageDownload_Click(sender As Object, e As MouseButtonEventArgs) Handles BtnManageDownload.Click, BtnHintDownload.Click - PageComp.TargetVersion = PageVersionLeft.Version '将当前版本设置为筛选器 - PageComp.TargetName = SearchBox.Text '将当前搜索框内容设置为筛选器 + '预设置当前版本和搜索框内容 + PageComp.TargetVersion = PageVersionLeft.Version + PageComp.TargetName = SearchBox.Text FrmMain.PageChange(FormMain.PageType.Download, FormMain.PageSubType.DownloadMod) End Sub @@ -429,6 +430,11 @@ Install: If FrmMain.PageRight IsNot Me Then Return If My.Computer.Keyboard.CtrlKeyDown AndAlso e.Key = Key.A Then ChangeAllSelected(True) End Sub + Private Sub SearchBox_PreviewKeyDown(sender As Object, e As KeyEventArgs) Handles SearchBox.PreviewKeyDown + 'Ctrl + A 会被搜索框捕获,导致无法全选,所以在按下 Ctrl + A 时转移焦点以便捕获 + If SearchBox.Text.Any Then Return + If My.Computer.Keyboard.CtrlKeyDown AndAlso e.Key = Key.A Then PanBack.Focus() + End Sub #End Region @@ -637,14 +643,14 @@ Install: Try For Each Entry As McMod In ModList If File.Exists(Entry.Path) Then - My.Computer.FileSystem.DeleteFile(Entry.Path, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin) + My.Computer.FileSystem.DeleteFile(Entry.Path, FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin) Else Log($"[Mod] 未找到更新前的 Mod 文件,跳过对它的删除:{Entry.Path}", LogLevel.Debug) End If Next For Each Entry As KeyValuePair(Of String, String) In FileCopyList If File.Exists(Entry.Value) Then - My.Computer.FileSystem.DeleteFile(Entry.Value, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin) + My.Computer.FileSystem.DeleteFile(Entry.Value, FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin) Log($"[Mod] 更新后的 Mod 文件已存在,将会把它放入回收站:{Entry.Value}", LogLevel.Debug) End If If Directory.Exists(GetPathFromFullPath(Entry.Value)) Then @@ -733,7 +739,7 @@ Install: If IsShiftPressed Then File.Delete(ModEntity.Path) Else - My.Computer.FileSystem.DeleteFile(ModEntity.Path, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin) + My.Computer.FileSystem.DeleteFile(ModEntity.Path, FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin) End If Catch ex As OperationCanceledException Log(ex, "删除 Mod 被主动取消") diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionOverall.xaml.vb b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionOverall.xaml.vb index 67afc38..075e7eb 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionOverall.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionOverall.xaml.vb @@ -116,12 +116,14 @@ Dim TempName As String = NewName & "_temp" Dim TempPath As String = PathMcFolder & "versions\" & TempName & "\" Dim IsCaseChangedOnly As Boolean = NewName.ToLower = OldName.ToLower - '重新加载版本 Json 信息,避免 HMCL 项被合并 + '重新读取版本 JSON 信息,避免 JsonObject 中已被合并的项被重新存储 Dim JsonObject As JObject Try - JsonObject = GetJson(ReadFile(PageVersionLeft.Version.Path & PageVersionLeft.Version.Name & ".json")) + Dim JsonPath As String = PageVersionLeft.Version.GetJsonPath() + JsonObject = GetJson(ReadFile(JsonPath)) + File.Delete(JsonPath) Catch ex As Exception - Log(ex, "重命名读取 json 时失败") + Log(ex, "在重命名读取 json 时失败") JsonObject = PageVersionLeft.Version.JsonObject End Try '重命名主文件夹 @@ -130,32 +132,24 @@ '清理 ini 缓存 IniClearCache(PageVersionLeft.Version.PathIndie & "options.txt") IniClearCache(PageVersionLeft.Version.Path & "PCL\Setup.ini") - '重命名 JAR 文件、JSON 文件与 natives 文件夹 - If Directory.Exists(NewPath & OldName & "-natives") Then + '重命名 jar 文件与 natives 文件夹 + '不能进行遍历重命名,否则在版本名很短的时候容易误伤其他文件(#6443) + If Directory.Exists($"{NewPath}{OldName}-natives") Then If IsCaseChangedOnly Then - My.Computer.FileSystem.RenameDirectory(NewPath & OldName & "-natives", OldName & "natives" & "_temp") - My.Computer.FileSystem.RenameDirectory(NewPath & OldName & "-natives" & "_temp", NewName & "-natives") + My.Computer.FileSystem.RenameDirectory($"{NewPath}{OldName}-natives", $"{OldName}natives_temp") + My.Computer.FileSystem.RenameDirectory($"{NewPath}{OldName}-natives_temp", $"{NewName}-natives") Else - DeleteDirectory(NewPath & NewName & "-natives") - My.Computer.FileSystem.RenameDirectory(NewPath & OldName & "-natives", NewName & "-natives") + DeleteDirectory($"{NewPath}{NewName}-natives") + My.Computer.FileSystem.RenameDirectory($"{NewPath}{OldName}-natives", $"{NewName}-natives") End If End If - If File.Exists(NewPath & OldName & ".jar") Then + If File.Exists($"{NewPath}{OldName}.jar") Then If IsCaseChangedOnly Then - My.Computer.FileSystem.RenameFile(NewPath & OldName & ".jar", OldName & "_temp" & ".jar") - My.Computer.FileSystem.RenameFile(NewPath & OldName & "_temp" & ".jar", NewName & ".jar") + My.Computer.FileSystem.RenameFile($"{NewPath}{OldName}.jar", $"{OldName}_temp.jar") + My.Computer.FileSystem.RenameFile($"{NewPath}{OldName}_temp.jar", $"{NewName}.jar") Else - File.Delete(NewPath & NewName & ".jar") - My.Computer.FileSystem.RenameFile(NewPath & OldName & ".jar", NewName & ".jar") - End If - End If - If File.Exists(NewPath & OldName & ".json") Then - If IsCaseChangedOnly Then - My.Computer.FileSystem.RenameFile(NewPath & OldName & ".json", OldName & "_temp" & ".json") - My.Computer.FileSystem.RenameFile(NewPath & OldName & "_temp" & ".json", NewName & ".json") - Else - File.Delete(NewPath & NewName & ".json") - My.Computer.FileSystem.RenameFile(NewPath & OldName & ".json", NewName & ".json") + File.Delete($"{NewPath}{NewName}.jar") + My.Computer.FileSystem.RenameFile($"{NewPath}{OldName}.jar", $"{NewName}.jar") End If End If '替换版本设置文件中的路径 @@ -166,15 +160,13 @@ If ReadIni(PathMcFolder & "PCL.ini", "Version") = OldName Then WriteIni(PathMcFolder & "PCL.ini", "Version", NewName) End If - '更改版本 Json - If File.Exists(NewPath & NewName & ".json") Then - Try - JsonObject("id") = NewName - WriteFile(NewPath & NewName & ".json", JsonObject.ToString) - Catch ex As Exception - Log(ex, "重命名版本 json 失败") - End Try - End If + '写入版本 Json + Try + JsonObject("id") = NewName + WriteFile(NewPath & NewName & ".json", JsonObject.ToString) + Catch ex As Exception + Log(ex, "重命名版本 json 失败") + End Try '刷新与提示 Hint("重命名成功!", HintType.Finish) PageVersionLeft.Version = New McVersion(NewName).Load() @@ -192,7 +184,7 @@ '选择 自定义 时修改图片 Try If ComboDisplayLogo.SelectedItem Is ItemDisplayLogoCustom Then - Dim FileName As String = SelectFile("常用图片文件(*.png;*.jpg;*.gif;*.jpeg)|*.png;*.jpg;*.gif;*.jpeg", "选择图片") + Dim FileName As String = SelectFile("常用图片文件(*.png;*.jpeg;*.jpg;*.gif;*.webp)|*.png;*.jpeg;*.jpg;*.gif;*.webp", "选择图片") If FileName = "" Then Reload() '还原选项 Return diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml index dc55cae..a933ed1 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml @@ -209,10 +209,10 @@ - - + diff --git a/Plain Craft Launcher 2/Plain Craft Launcher 2.vbproj b/Plain Craft Launcher 2/Plain Craft Launcher 2.vbproj index aa02536..999063b 100644 --- a/Plain Craft Launcher 2/Plain Craft Launcher 2.vbproj +++ b/Plain Craft Launcher 2/Plain Craft Launcher 2.vbproj @@ -140,6 +140,21 @@ false + + False + Resources\CacheCow.Client.dll + False + + + False + Resources\CacheCow.Client.FileStore.dll + False + + + False + Resources\CacheCow.Common.dll + False + False Resources\Imazen.WebP.dll @@ -149,8 +164,9 @@ False False - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll + + False + Resources\Newtonsoft.Json.dll False @@ -158,13 +174,20 @@ Resources\Ookii.Dialogs.Wpf.dll False + + + False + Resources\System.Net.Http.Formatting.dll + False + + @@ -195,11 +218,14 @@ MyIconTextButton.xaml - + + + + MyLocalModItem.xaml @@ -233,9 +259,6 @@ - - Component - PageComp.xaml @@ -499,6 +522,7 @@ FormMain.xaml Code + MSBuild:Compile Designer @@ -721,6 +745,7 @@ + @@ -946,6 +971,7 @@ + @@ -957,5 +983,18 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plain Craft Launcher 2/Resources/CacheCow.Client.FileStore.dll b/Plain Craft Launcher 2/Resources/CacheCow.Client.FileStore.dll new file mode 100644 index 0000000000000000000000000000000000000000..e0457c9a2b8a84ac93229929090ca2e103c198dc GIT binary patch literal 9728 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 literal 0 HcmV?d00001 diff --git a/Plain Craft Launcher 2/Resources/CacheCow.Client.dll b/Plain Craft Launcher 2/Resources/CacheCow.Client.dll new file mode 100644 index 0000000000000000000000000000000000000000..33c79be0a3ab1398fd6c2693dad1d5edb4d20bda GIT binary patch literal 37376 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 AtpET3 literal 0 HcmV?d00001 diff --git a/Plain Craft Launcher 2/Resources/CacheCow.Common.dll b/Plain Craft Launcher 2/Resources/CacheCow.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..a47fb9e415a4604b7e3c596cbf0d05c467761093 GIT binary patch literal 13824 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 + + diff --git a/Plain Craft Launcher 2/Resources/Help.zip b/Plain Craft Launcher 2/Resources/Help.zip index 54d1dd02ed107c84c4d7379e85eb0d5c45418531..8936ebe3836239785450bfcd4a04c0f618fa1f66 100644 GIT binary patch delta 24517 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 S2W3$oIh4 delta 24035 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 diff --git a/Plain Craft Launcher 2/Resources/ModData.txt b/Plain Craft Launcher 2/Resources/ModData.txt index d5d9eac..88ddec9 100644 --- a/Plain Craft Launcher 2/Resources/ModData.txt +++ b/Plain Craft Launcher 2/Resources/ModData.txt @@ -19,7 +19,7 @@ modular-forcefield-system|模块化力场系统* minechem-recompile|化学 (MineChem) - 非官方重编译版¨73373|化学 (MineChem) - 已失效 iron-chests@|更多箱子*¨iron-chests-for-fabric@cyberanner-ironchest|更多箱子 (Iron Chests)¨iron-chests-fabric@|更多箱子 (Iron Chests) balkons-weaponmod|更多武器 (Balkon's WeaponMod) -advanced-machines|高级机械 (AdvancedMachines)¨@advanced-machines-uuum|高级机械 (AdvancedMachines) - Immibis版 +advanced-machines|高级机械 (AdvancedMachines) - Chocohead版¨@advanced-machines-uuum|高级机械 (AdvancedMachines) - Immibis版 advanced-solar-panels|高级太阳能* nuclear-control-2|核电控制2* @@ -121,7 +121,7 @@ blockphysics_by_id_miner|方块物理学 (BlockPhysics) remain-in-motion|运动红石机构 (Remain in Motion) -modular-powersuits|模块化动力套装* +modular-powersuits@modularpowersuits|模块化动力套装* @@ -189,7 +189,7 @@ mekanism@|通用机械* magic-crusade-rpg-mod|魔法远征:魔法十字军 (Magic Crusade) invasions|入侵 (Invasion) -mb-battlegear-2|挖矿与砍杀:双持与战备2 (Mine & Blade: Battlegear 2) +mb-battlegear-2|挖矿与砍杀:双持与战备 2 (Mine & Blade: Battlegear 2) galacticraft-legacy@|星系 (GalactiCraft) @@ -490,7 +490,7 @@ sim-u-kraft-old|模拟城市 (Sim-U-Kraft) superheroes-unlimited|超级英雄无限* oceancraft-mod|海洋世界 (Oceancraft) - +more-enchantments-legacy|更多附魔 (More Enchantments) witching-gadgets|巫师宝具* buildcraft-compat@|建筑兼容* @@ -1006,7 +1006,7 @@ roost|鸡窝* croparia@|矿石作物/魔种之咏* simple-corn|简单玉米* thaumic-jei@ -tinkers-steelworks|匠魂炼钢厂 (Tinkers' Steelworks) +tinkers-steelworks|匠魂炼钢厂 (Tinkers' Steelworks)¨tinkers-steelworks-fork|匠魂炼钢厂 (Tinkers' Steelworks) unicode-font-extension|Unicode 字体扩展* placeable-items|可放置物品* compendium|工匠防御 (Tinkers' Compendium (Tinkers' Defense)) @@ -1187,7 +1187,7 @@ minecraft-transport-simulator@immersive-vehicles|沉浸车辆 (Immersive Vehicle chest-transporter|搬箱器* i18nupdatemod@|自动汉化更新 (I18nUpdateMod) realistic-item-drops|真实物品掉落* -pixelmon@|像素精灵宝可梦 重铸* +pixelmon@|像素宝可梦 重铸 (Pixelmon Reforged) controlling@|键位冲突显示*¨controlling-for-fabric|键位冲突显示 (Controlling) @@ -1250,7 +1250,7 @@ career-bees|职业蜜蜂* level-up|升级!重置 (Level Up!Reloaded) level-up-legacy|升级!前版 (Level Up!Legacy) moar-boats|模块化船* -numina|模块化动力装甲前置* +numina@|模块化动力装甲前置* tinkers-complement@|匠魂补充 (Tinkers' Complement) everlastingabilities@everlasting-abilities|永恒能力 (Everlasting Abilities) abyssalcraft-heads|深渊国度头颅 (AbyssalCraft Heads) @@ -1274,7 +1274,7 @@ just-enough-pattern-banners primitive-mobs|远古生物 / 原始生物* realistic-cobwebs@ simpleharvest|简单收获 (Simple Harvest) -mrcrayfishs-device-mod|MrCrayfish的设备 (MrCrayfish's Device Mod) +mrcrayfishs-device-mod|MrCrayfish 的设备 (MrCrayfish's Device Mod) block-armor|方块盔甲* stockpile|储物桶* loot-slash-conquer @@ -1378,7 +1378,7 @@ arcade-mod|街机* asmodeuscore@ building-gadgets|建筑小帮手* dooglamoo-worlds|Dooglamoo的世界* -scp-lockdown|SCP基金会:封锁 (SCP: Lockdown) +scp-lockdown@|SCP基金会:封锁 (SCP: Lockdown) middle-earth-thaumaturgy|中土神秘学 (Middle-Earth Thaumaturgy) structpro-mod-fast-schematic-spawning-system|自然神殿 (Structpro) betterfps|更好的FPS (BetterFPS) @@ -1525,7 +1525,7 @@ better-questing-standard-expansion|更好的任务-基础扩展 (Better Questing exchangers|方块交换器* flexible-tools|灵活的工具* dimensional-control|维度控制* -valkyrien-warfare@valkyrien-skies|瓦尔基里天空/瓦尔基里战争 (Valkyrien Skies/Valkyrien Warfare) +valkyrien-skies@|瓦尔基里天空* item-scroller@|物品滚轮* better-advancements@|更好的进度* lucraft-core @@ -2165,7 +2165,7 @@ betterachievements|更好的成就 (Better Achievements) extra-bows|更多的弓* forgotten-relics|失落遗物学* ore-core@|矿石核心* -ordinary-coins|普通硬币 (Ordinary Coin) +ordinary-coins|普通硬币* peanut-mod|花生! (Peanuts!) in-game-wiki-mod @@ -2233,7 +2233,7 @@ citadel@ screenshot-browser|内置截图管理器* -curio-of-undying@charm-of-undying|不死图腾槽位 (Curio of Undying / Trinket of Undying / Charm of Undying)¨curio-of-undying-fabric|不死图腾槽位 (Curio of Undying / Trinket of Undying / Charm of Undying) +curio-of-undying@charm-of-undying|不死图腾插槽/不死图腾槽位 (Curio of Undying / Trinket of Undying / Charm of Undying)¨curio-of-undying-fabric|不死图腾插槽/不死图腾槽位 (Curio of Undying / Trinket of Undying / Charm of Undying) explorercraft-worldexpansion|探险者 (Explorercraft) enigmatic-legacy@|神秘遗物* @@ -2246,7 +2246,7 @@ the-rc-mod rubybyimxiaoanag|红宝石 (Ruby) jojo-hamon-era@|JoJo-波纹时代 (JoJo-Hamon Era) -OpenSecurity|开放式防卫* +OpenSecurity|开放式安全* the-legend-era|传说纪元* level-up-hp-forge|生命提升 (Level Up HP)¨level-up-hp|生命提升 (Level Up HP) more-planet-extras @@ -2442,7 +2442,7 @@ not-enough-crashes@notenoughcrashes|崩溃优化*¨not-enough-crashes-forge|崩 crash-to-main-menu|崩溃返回主菜单* tinkers-jei -better-questing-quest-book|更好的任务-任务书 (Better Questing - Quest Book) +better-questing-quest-book@|更好的任务-任务书 (Better Questing - Quest Book) engineers-doors|工程师的门 (Engineer's Doors) tps-generator|TPS发电机 (TPS Generator) better-drowning@|更好的溺水* @@ -2491,7 +2491,7 @@ beesourceful middle-earth-industry|中洲工业 (Middle-Earth Industry) thut-wearables after-the-drizzle|细雨田园 (After the Drizzle) -cmdcam|CMD 指令摄影机 (CMDCam) +cmdcam@|CMD 指令摄影机 (CMDCam) climate-control-geographicraft@geographicraft|气候控制 / 地理世界 (Climate Control / Geographicraft) cosmetic-armor-reworked|时装盔甲重置版* @@ -2743,7 +2743,7 @@ vials|瓶瓶罐罐* advanced-lightsabers|高级光剑* fall_attack|下落击杀 (fall_attack) swimsuit|泳装 (swimsuit) -more-overlays-updated +more-overlays-updated@ dothack-hack-weapons immersive-energy|沉浸能源* crimson-moon|绯红之月* @@ -3262,7 +3262,7 @@ devtech|GTCEu-CrT开发套件* -jurassic-world-reborn-mod|侏罗纪世界重生* +jurassic-world-reborn-mod|侏罗纪重生 (Jurassic Reborn) cardboard@ enchanting-with-thaumcraft|神秘附魔学* @@ -3920,7 +3920,7 @@ the-elemelon-mod|元素西瓜* dcsp|钻石压缩 (Diamonds Compressor SP) corpse-complex@ modularvoicechat|模块化语音聊天 (ModularVoiceChat) -elytra-slot@|鞘翅槽位 (Curious Elytra / Elytra Trinket / Elytra Slot)¨elytra-slot-fabric|鞘翅槽位 (Curious Elytra / Elytra Trinket / Elytra Slot) +elytra-slot@|鞘翅插槽/鞘翅槽位 (Curious Elytra / Elytra Trinket / Elytra Slot)¨elytra-slot-fabric|鞘翅插槽/鞘翅槽位 (Curious Elytra / Elytra Trinket / Elytra Slot) tconstructcompatible|匠魂兼容 (TConstructCompatible) @@ -3955,7 +3955,7 @@ satako-library¨satako-fabric unique-enchantments-utils|独特的附魔:效用扩展 (Unique Enchantments - Utils) forge-ae2-additional-opportunity@ae2ao¨ae2ao¨legacy-ae2-additional-opportunity iconexporter@icon-exporter -curious-shulker-boxes@shulker-box-slot|潜影盒槽位 (Shulker Box Slot)¨curious-shulker-boxes-fabric|潜影盒槽位 (Shulker Box Slot) +curious-shulker-boxes@shulker-box-slot|潜影盒插槽/潜影盒槽位 (Shulker Box Slot)¨curious-shulker-boxes-fabric|潜影盒插槽/潜影盒槽位 (Shulker Box Slot) xenoclus-2 darker-depths|深岩之下* terracraft-journey @@ -4136,7 +4136,7 @@ falling-leaves-forge@fallingleavesforge|落叶 (Falling Leaves (NeoForge/Forge)) custom-entity-models-cem@cem|自定义实体模型 (Custom Entity Models) -tweakmyclient +tweakmyclient@ lovely-snails@lovely_snails|可爱蜗牛* clipboard|备忘录* @@ -4288,7 +4288,7 @@ reroll|刷新附魔* tax-free-levels@|免税附魔* portable-dimensions|便携式传送门* stone-age-by-yanny -terra-world-generator|Terra - 已经失效¨@terra +terra-world-generator|Terra - 已失效¨@terra omnis|灾厄村民拓展* omnis-backpacks @@ -4472,7 +4472,7 @@ travelers-titles@|旅人标题 (Traveler's Titles)¨travelers-titles-fabric|旅 expand-chinese-sword|中式剑拓展 (Arsenal Integration) littleframes@littlepictureframes|小画 (LittlePictureFrames) -lavalogged-blocks|岩浆充填 (Lavalogged blocks) +lavalogged-blocks@|岩浆充填 (Lavalogged blocks) awoken-world gt4-reimagined|格雷科技4:重构想 (GregTech 4 Reimagined) camouflaged-creepers @@ -4925,7 +4925,7 @@ illagers@illagers+|更多的灾厄村民 (Illagers+) villagers-follow-emeralds-fabric@|村民跟随绿宝石 (Villagers follow Emeralds) -diabloloot|暗黑破坏神战利品 (DiabloLoot) +diabloloot|暗黑破坏神战利品 (DiabloLoot - Bosses Update) yggdrasil|世界树* ftb-dripper-forge forge-snad|子沙1.14+ (Snad)¨fabric-snad|子沙1.14+ (Snad) @@ -4967,7 +4967,7 @@ happiness-is-a-warm-gun@ kvc-blocks|蛋挞君的原版补全方块篇 (KVCBlocks) enigtech2-util -environmental-creepers|环保型苦力怕* +environmental-creepers@|环保型苦力怕* look-at-that advanced-peripherals@advancedperipherals|高级外设* @@ -4986,9 +4986,9 @@ expandability squirrels|松鼠* ftb-power-pots the-graveyard-forge@|墓园 (The Graveyard)¨the-graveyard-fabric@|墓园 (The Graveyard) -nether-agriculture|下界农业* +nether-agriculture@netheragriculture|下界农业* conjuring@ -awesome-dungeon-forge@¨awesome-dungeon-fabric@ +awesome-dungeon-forge@awesome-dungeon¨awesome-dungeon-fabric¨awesome-dungeon-neoforge out-of-sight@ decorative-blocks-modded-compat|装饰方块模组兼容 (Decorative Blocks modded compat) camp-chair @@ -5283,7 +5283,7 @@ ore-prospecting-stick-forge|探矿之戒 (Rings Of Prospecting)¨ore-prospecting worldedit-express-forge¨worldedit-express-fabric awesome-dungeon-edition-ocean-forge@awesome-dungeon-edition-ocean¨awesome-dungeon-edition-ocean-fabric pistorder -escape-rope-pokemon-item-forge¨awesome-dungeon-neoforge +escape-rope-pokemon-item-forge awesome-flooring-forge@¨awesome-flooring-fabric@ medievial-entity-forge@medieval-entity-forge|中世纪生物 (Medieval Entity)¨medievial-entity-fabric@medieval-entity-fabric|中世纪生物 (Medieval Entity) upgraded-shulkers|更多潜影盒* @@ -5292,7 +5292,7 @@ bobby@|服务器区块缓存* boosted-brightness@|亮度增强* effective@¨effective-forge -voidtotem|虚空图腾 (Void Totem)¨voidtotem-fabric|虚空图腾 (Void Totem) +voidtotem@|虚空图腾 (Void Totem)¨voidtotem-fabric|虚空图腾 (Void Totem) tool-leveling-plus@tool-leveling|工具升级 (Tool Leveling+)¨tool-leveling-plus-fabric|工具升级 (Tool Leveling+) mythicmetals@|神话金属 (Mythic Metals) creeper-firework@|烟花苦力怕* @@ -5635,7 +5635,7 @@ just-enough-piglin-bartering|JEI猪灵以物易物* @aftersans53228-fabric-road|暗访谈的Fabric道路 (aftersans53228's fabric roads) primal-magick@|原初魔法* -ore-creeper|矿石苦力怕* +ore-creeper@|矿石苦力怕* panthalassa|泛古洋* stardew-armory|星露谷武器*¨stardew-armory-fabric|星露谷武器 (Stardew Armory) no-more-nether-desert-edition @@ -5693,13 +5693,13 @@ storage-drawers-crafting-recipe enhanced-attack-indicator@|增强攻击提示器* parasites-addon-overlast|寄生兽:末世扩展 (OverLast) cancel-block-update@|取消方块更新* -franciscofunari|中世纪工艺 (Medieval Craft) +franciscofunari@medieval-craft-(structures)|中世纪工艺 (Medieval Craft) d3core green-thumb-v1-2-03 greenthumb tfc-adventure|群峦冒险 (TFC+ Adventure) just-zoom-forge@just-zoom -@holograms|全息图 (Holograms) +server-holograms@holograms|全息图 (Holograms) eidolons-hexblades|幻梦咒剑 (Eidolon's Hexblades) monke-madness @@ -5770,7 +5770,7 @@ zettai-psi psicaster tweakermore@ legacy-display@ -the-backrooms|后室* +the-backrooms creatures-of-the-snow@creatures-from-the-snow-fabric|雪地里的生物! (Creatures From The Snow!)¨creatures-from-the-snow-forge|雪地里的生物! (Creatures From The Snow!) collisions-lib@ wooled-boots@|羊毛靴子* @@ -5827,10 +5827,10 @@ realistic-block-physics@ domestication-innovation@|驯养革新* snuffles@|魄罗* flan-forge@flan¨flan -awesome-dungeon-the-end-forge@¨awesome-dungeon-the-end-fabric@ +awesome-dungeon-the-end-forge@awesome-dungeon-the-end¨awesome-dungeon-the-end-fabric tehnuts-torcherino library-ferret-forge@library-ferret¨library-ferret-fabric¨library-ferret-neoforge -awesome-dungeon-nether-forge@¨awesome-dungeon-nether-fabric@ +awesome-dungeon-nether-forge@awesome-dungeon-nether¨awesome-dungeon-nether-fabric ae2-extended-life|应用能源非官方延续版 (AE2 Unofficial Extended Life) refined-cooking@|精致厨房* @@ -5996,7 +5996,7 @@ oedldoedl-resources oedldoedl-gear disguiseheads@ simple-tcon -enchanted-tooltips +enchanted-tooltips@ stackablepotions-forge¨stackablepotions mobifier¨mobifier-fabric art-of-forging-a-tetra-addon|锻造之艺 (Art of Forging) @@ -6084,7 +6084,7 @@ onastick-forge@onastick¨onastick tradernpcs more-pads|更多Pad* texture-dump -spartan-weaponry-ice-and-fire|斯巴达的武器:冰火传说 (Spartan Weaponry: Ice and Fire) +spartan-weaponry-ice-and-fire@|斯巴达的武器:冰火传说 (Spartan Weaponry: Ice and Fire) hefty-crops@ @strangefuelsmod|奇奇怪怪的燃料 (Strange Fuels Mod) custom-player-models@|自定义玩家模型 (Customizable Player Models)¨custom-player-models-fabric|自定义玩家模型 (Customizable Player Models) @@ -6482,7 +6482,7 @@ ninjaxxs-needs pixelmon-gui-blocks more-mekanism-processing@ -item-banning +item-banning@ probejs@ impaled@|更多三叉戟 (Impaled🔱) laserio @@ -6507,7 +6507,7 @@ advancements-enlarger better-muffling|更好的消音器* lightest-lamps@¨lightest-lamps-fabric bigbuckets|大铁桶 (Big Buckets)¨bigbuckets-fabric|大铁桶 (Big Buckets) -dimstorage +dimstorage@ spawner-imbuer@ unnamed-delight|无名乐事* @@ -6858,7 +6858,7 @@ the-nexus-deep-dark-dimension jepp|JEI绘画预览 (Just Enough Painting Previews) create-curios -ctm-refabricated +ctm-refabricated¨@ctm-refabricated placeable-pumpkin-pie|可放置南瓜派* birch-forest-upgrade|白桦林更新* ok-zoomer-forge @@ -7011,7 +7011,7 @@ withcoffee|咖啡相伴/天堂之路 (WithCoffee) emeraldstuff grass-slabs-carpets-stairs not-mutually-exclusive|不冲突*¨@not-mutually-exclusive|不冲突 (Not Mutually Exclusive) - 已失效 -builders-delight-forge +builders-delight-forge@builders-delight miners-minerals@ days-to-mine@7-days-to-mine|七日杀 (7 Days to Mine) pieces-of-ore @@ -7082,7 +7082,7 @@ auto-workstations-fabric@auto-workstations|自动化工作站 (Auto Workstations l2-backpack@l2backpack|莱特兰-背包* @mbp -capybara-fabric¨unnamed-animal-mod-capybara-only +capybara-uam¨unnamed-animal-mod-capybara-only just-enough-petroleum diamethysts@diamethysts! twigs@ @@ -7713,7 +7713,7 @@ odysseymod libipn@ hulsealib blues-dynamic-lights -gtc-expansion +gtc-expansion@ nether-depths-upgrade@|炽海生机* cloud-factory disc-holders-dj @@ -7901,7 +7901,7 @@ your-items-are-safe@¨your-items-are-safe-fabric techemistry the-missing-villages continents -yungs-better-ocean-monuments@|YUNG的海底神殿优化 (YUNG's Better Ocean Monuments)¨yungs-better-ocean-monuments-fabric|YUNG的海底神殿优化 (YUNG's Better Ocean Monuments)¨yungs-better-ocean-monuments-neoforge|YUNG的海底神殿优化 (YUNG's Better Ocean Monuments) +yungs-better-ocean-monuments@|YUNG 的海底神殿优化 (YUNG's Better Ocean Monuments)¨yungs-better-ocean-monuments-fabric|YUNG 的海底神殿优化 (YUNG's Better Ocean Monuments)¨yungs-better-ocean-monuments-neoforge|YUNG 的海底神殿优化 (YUNG's Better Ocean Monuments) echoing-depths advanced-finders @@ -7968,13 +7968,13 @@ status-effect-timer@statuseffecttimer logical-zoom@ the-space-age-mod|太空时代* -touhou-origins@|起源:东方project附加包* +touhou-origins@|起源:东方 Project 附加包* earth-mobs@earthmobs|地球生物* simpleores-tin just-enough-keys¨just-enough-keys-fabric why-am-i-on-fire@ -bouncing-balls-api@ +bouncing-balls-api@|弹跳球 API (Bouncing Balls API) bouncing-balls@|弹跳球* teletubbies-mod|天线宝宝* almost-unified@ @@ -7985,15 +7985,15 @@ time-arrow catch-me-if-you-can-cmiyc mc-modsis-one-way-glass|Alli的单向玻璃 (Alli's One Way Glass) sanguis -ender-trigon +ender-trigon@ litlaunch puzzle@ - +why-am-i-on-fire-refoxed @tdfp|暮色乐事:冰雪豪饮 (Twilight Delight: Frozen Pride) ftb-pack-companion teams-stages -kiwi-boi +kiwi-boi@ rubidium-toolkit@|铷 · 工具箱* advanced-combat|高级战斗装备* advanced-combat-revitalized@|高级战斗装备重置 (Advanced Combat (Revitalized)) @@ -8033,7 +8033,7 @@ better-stats@|更好的统计信息界面 (Better Statistics Screen) abyssalblocks|深渊国度幸运方块 (AbyssalBlocks) -archon +archon@ stackie @cullclouds @superfancyclouds @@ -8050,14 +8050,14 @@ berdinskiybears-armor-hud tiered-tooltips rgb-blocks-forge|调色方块 (RGB Blocks) -quicksand-fabric|流沙 (Quicksand) -better-durability|更好的耐久度* +quicksand-fabric@quicksand|流沙 (Quicksand) +better-durability@|更好的耐久度* passthrough-signs excorrelation@ packet-size-doubler @packet-size-double-forge arachnophobia-mode-for-minecraft@arachnophobia-mode -villagerconfig@|村民配置 (VillagerConfig) +villagerconfig@|村民配置 (Villager Config) jasm@speedometer paginated-advancements@paginatedadvancements|分页进度 (Paginated Advancements & Custom Frames) @backport-gamerules @@ -8070,7 +8070,7 @@ ingame-info-xml-addon-serene-seasons staff-of-building|建筑之杖 (Staff of Building) -dark-mode-everywhere|夜间模式无处不在* +dark-mode-everywhere@|夜间模式无处不在* custom-shop|自定义商店 (CustomShop) another-liquid-milk@ dark-mode-everywhere-fabric@|夜间模式无处不在Fabric版 (Dark Mode Everywhere - Fabric) @@ -8820,7 +8820,7 @@ glacier-ice gtnhmixins@ dawn-to-dusk open-tower-defence@|开放式塔防* -mtr-station-decoration@station-decoration|MTR车站装饰 (MTR Station Decoration) +mtr-station-decoration@station-decoration|MTR车站装饰 (Station Decoration) perviaminvenire silverbirch@silver-birch @@ -8841,7 +8841,7 @@ extended-slabs-plus brewin-and-chewin-fabric@|饮酒作乐 Fabric 版 (Brewin' And Chewin' [Fabric]) particular longer-login-times -broglis-plants +broglis-plants@ rlmixins@ simplehats@simple-hats|简单帽子 (Simple Hats) timeoutout-fabric@timeoutout @@ -8855,7 +8855,7 @@ create-industrial-chemistry@|机械动力:工业化学 (Create: Industrial Che cruelars-triforcemod @morespawneggs|更多刷怪蛋 (MoreSpawnEggs) -beautify-refabricated@|美化!Fabric版 (Beautify: Refabricated) +beautify-refabricated@|美化!重织 (Beautify: Refabricated) manatweaks chicken-nugget @@ -8908,7 +8908,7 @@ clear-skies-forge-port spell-power@ morecrashinfo|更多崩溃报告信息 (MoreCrashInfo) -epicfight-saopack@epicacg|史诗战斗:ACG附属包 (EpicFight ACG AddonPack) +epicfight-saopack|史诗战斗:ACG附属包 (EpicFight ACG AddonPack) screenshot-viewer@|截图查看器* gml@ @futurepack-additions|飞向未来附加 (Futurepack Additions) @@ -9981,13 +9981,13 @@ tskimi-seirans-fruit-wine@tskimiseirans-fruit-wine|月见清兰的果酒 (Tskimi graduated-cylinders@|刻度量筒* fps-monitor -stitch@ +athena@athena-mod calm-mornings@ fog-looks-good-now@ guarding@ cats-expanded@ modular-bosses -experience-obelisk@ +experience-obelisk@cognition here-be-no-dragons gnumus-settlement fading-night-vision @@ -10003,7 +10003,7 @@ mannequins simple-mango@ betterdrawhoveringtext|更好的工具信息显示 (betterDrawHoveringText) -badges-by-harmex +badges-by-harmex@cobblebadges2 terrarian-arsenal zombie-veterinarian|僵尸科兽医* just-enough-sculk-sensor @@ -10453,7 +10453,7 @@ easydropper|轻松投掷 (Easy Dropper) varied-adventure kubejs-delight block-physics-overhaul -searchlight-forge|探照灯 (Searchlight(& Wall Lights))¨searchlight|探照灯 (Searchlight(& Wall Lights)) +searchlight-forge|探照灯 (Searchlight (& Wall Lights))¨searchlight|探照灯 (Searchlight (& Wall Lights)) ancient-manuscripts@ gazebos@ scoreboard-get-time|记分板获取时间 (scoreboard get time) @@ -10705,7 +10705,7 @@ enhancedsnowman new-world-height-and-depth @inertiaanticheat -scroll-of-harvests +scroll-of-harvests@ @scripts-chunk-loaders clean-tooltips@ @@ -10893,7 +10893,7 @@ do-api@ grabby-mobs@ pandas-falling-trees@ iron-ender-chests@ -delightful-creators-fabric@|动力乐事 (Delightful Creators) +delightful-creators-forge@delightful-creators|动力乐事 (Delightful Creators)¨delightful-creators-fabric|动力乐事 (Delightful Creators) deathbutthree@death-but-three|逝不过三 (Death But Three) comparties|组队兼容* @@ -10906,7 +10906,7 @@ light-the-night tweakerge@ terrafirmaships@ better-ocelots -actually-useful-smithing-table +actually-useful-smithing-table@ denyblocks sculk-horn@-sculk-horn ydms-red-panda@ @@ -11052,7 +11052,7 @@ toomuchrain@ thirst-was-remade|口渴-重制*¨@thirst-was-remade|口渴-重制 (Thirst Was Remade) - 已失效 ies-tweaks-fabric@ brown-mooshrooms -@whetstones +whetstones@ @better-log4j-config @harvest wooden-hoppers @@ -11168,7 +11168,7 @@ shulker-meat accurate-block-placement-reborn@ favorite-items -@smart-villagers-follow-emeralds|见钱眼开 (Smart Villagers Follow Emeralds) +smart-villagers-follow-emeralds@|见钱眼开* @villager-pickup step-it-up@stepitup @@ -11307,7 +11307,7 @@ jagms-kiwis@ improved-trident@ mystic-bows forgiving-world -@skillcloaks +skill-cloaks@skillcloaks swordinthestone@ lazy-ae2-patch|懒人AE2补丁 (Lazy AE2 Patch) @@ -11322,7 +11322,7 @@ rei-custom-command|REI自定义命令 (REI Custom Command) copperative@|铜心协力* growable-storage-cells growable-cells-2 -cinchcraft +cinchcraft@ day-counter@ag-day-counter makecold|冷境 (MakeCold) @@ -11362,9 +11362,9 @@ cute-kiwi-birds-new-animal moremobheads@ ouchies@ @traditional-asphalt -@thaumic_boots +thaumic-boots@thaumic_boots carpeted-stairs@ -just-enough-archaeology +just-enough-archaeology@ bedrock_world world-preview@|世界预览* @@ -11426,7 +11426,7 @@ gigeresque lookaround projectileimmunityfix @betterzoom -@player-visibility +player-visibility@ bag-of-holding-forge@bag-of-holding @@ -11645,7 +11645,7 @@ simply-skills@ cctv-craft -redeco@ +redeco@|重铸家具 (Re:Deco) pocket-storage animated-player-mod|动画化玩家* its-thirst@ @@ -12254,7 +12254,7 @@ more-crafting-tables-mct@more-crafting-tables-lieonlion @cobblemon-quests akkamaddis-classical-alchemy|Classical Alchemy - 新 @big-pony|彩虹大马 (Big Pony) - +qraftyfied @theft akkamaddis-golden-glitter@ @obsidianbucket @@ -12331,7 +12331,7 @@ advancement-based-spawning@ heroic-armory-legacy yungs-menu-tweaks@|YUNG的菜单调整 (YUNG's Menu Tweaks)¨yungs-menu-tweaks-fabric|YUNG的菜单调整 (YUNG's Menu Tweaks)¨yungs-menu-tweaks-neoforge|YUNG的菜单调整 (YUNG's Menu Tweaks) -entity-distance-1-12-2|实体距离 (Entity Distance) +entity-distance-1-12-2@entity-distance-1.12.2|实体距离 (Entity Distance) coolesthardcore@coolest-hardcore taxcastlepillager pesky-pirates@ @@ -12412,7 +12412,7 @@ halloween-luckyblocks spooky-halloween isle-of-berk-variant-loader@ spooky-arms - +qraftys-end-villages bed-is-not-too-far-away@ @enderman-tweaks @@ -12542,7 +12542,7 @@ the-monkey-bomb@ @cobblemon-hunt ancient-animals beavery@ - +qraftys-halloween-villages vemerioraptor technique-to-kill-thrasher|毙鲨技 (technique to kill thrasher) the-open-sauce-toast-killer@ @@ -12552,7 +12552,7 @@ better-wake-up-position@|更好的起床位置 (Better Wake-up Position) railroad-blocks-forge@railroad-blocks¨railroad-blocks fossilmon@ -opack2reload|资源包惰性重载/抑验怠载 (0Pack2Reload) +opack2reload|资源包惰性重载/抑验怠载 (0Pack2Reload/OPack2Reload) wits@ @motleys-music-discs @@ -12678,7 +12678,7 @@ cheat-command pumpkinpal johnnys-biological-notes@johnnys-biological-notes-1.0-beta|Johnny的生物笔记 (Johnny's biological notes) -@autodrop +autodrop@ mutation-rerun @compactspawners @@ -12936,7 +12936,7 @@ combatify@ go-fish-updated|一起钓鱼吧!(更新版) (Go Fish (updated)) what-are-they-up-to@ -@fumo +fumofumo|Fumo - 仅 16.0.0+¨@fumo @elytraplus mcaic@ @zombification @@ -12994,7 +12994,7 @@ default-world-generator-ssp homyatos-explosives infchest@|无限箱子 (Inf Chest) @squashed -unremovableeffects +unremovableeffects@unremovable-effects traders-in-disguise-the-illager-assassin-project@ cherished-items verdantvibes@|绿意盎然 (VerdantVibes) @@ -13077,7 +13077,7 @@ rpg-parties@ astikor-carts-tfc@tfc-astikor-carts nanexs-mobs no-feather-trample@ -embers-extended-life|余烬非官方延续版 (Embers Unofficial Extended Life) +embers-extended-life@embers-unofficial-extended-life|余烬非官方延续版 (Embers Unofficial Extended Life) terrafirmajousting@ jujutsu-animation @@ -13199,12 +13199,12 @@ pescatore@ apocalypse-now@ cenozoic-nightmare-the-horror-of-prehistory -quickbackupmulti@|多槽位备份 (QuickBackupMulti-Fabric) +quickbackupmulti@|多槽位备份 (QuickBackupMulti) slashblade-japanese-addon-pack-reforked|拔刀剑日系附属重置版 (SlashBlade Japanese Addon Pack Reforked) @create-fabric-fixes crate-delight-forge@crate-delight|装箱乐事 (Crate Delight)¨crate-delight-fabric|装箱乐事 (Crate Delight) -cultural-creators-fabric-create-and-cultural +cultural-creators-forge-create-and-cultural@cultural-crators¨cultural-creators-fabric-create-and-cultural shuffle@ probejs-legacy create-destroy@destroy|坍毁化合 (Destroy) @@ -13256,7 +13256,7 @@ bagus-cosmetic@ floatingitems ars-ocultas@ tetracelium@ -fugue +fugue@ create-food@ @@ -13367,7 +13367,7 @@ magical-jewelry epicsoulsbosses epic-puss-in-boots soul-like-npc -epic-empires@ +epic-empires¨@epic-empires|Epic Empires - 已失效 @@ -13530,7 +13530,7 @@ timeless-heroes@superhero sky-origins@sky glitchcore@ light-level-overlay-reloaded -eirin-yagokoros-pharmacy@eirin-yagokoro-pharmacy|八意永琳的药房 (Eirin Yagokoro's Pharmacy) +eirin-yagokoros-pharmacy@eirin-yagokoro-pharmacy|蓬莱药局 (Eirin Yagokoro's Pharmacy) tfc-ore-excavation tac-interact-key|TAC交互优化 (TAC Interact Key) @@ -13687,7 +13687,7 @@ missions@ votemission@ immersive-vehicles-automobilwerke-schwikau-veb cheesemaking -cardiac +cardiac@ materialtweaker@ whirlwind@ warden-tools@ @@ -13888,7 +13888,7 @@ ad-astra-extra-additions@ infinite-fluid-bucket@|无限流体桶* @voxy -vmod|VMod - 已失效¨@vmod +vmod@ minestuck star-wars-planets-ad-astra@star-wars-planets @@ -13900,7 +13900,7 @@ cat_jam@ remastered-structure spacore fancyvideo-api -goatman-jar-v2-dweller +goatman-jar-v2-dweller@the-goatman-dwller mineral-overhaul-shellstone-tuff clear-gpu-cache@|清除GPU缓存* @@ -13958,7 +13958,7 @@ ash-of-sin-custom-entity-item|罪业余烬:自定义实体装备 (Ash Of Sin: ash-of-sin-eternal-entity|罪业余烬:永恒实体 (Ash Of Sin: Eternal Entity) fundamental@ -wendigo +wendigo-jar-dweller the-super-god-road@|超神之路 (TheSuperGodRoad) @backrooms @@ -14042,7 +14042,7 @@ melee-ex-machina-meexma@melee-ex-machina arc@ cores@ -@citymod|我的城市 (City Mod) +@citymod|我的城市:交通与生活 (CityMod:Traffic and life) too-hard-to-dig@|隐岩砥凿 (Too Hard to Dig) simplecobblestonegenerator@simple-cobble-gen natural-baby-animals @@ -14138,7 +14138,7 @@ mace-backport @steve-eat-stew imaginary kuvalich|赤毒玄骸 (KuvaLich) -ae2-import-export-card@ +ae2-import-export-card@|AE2输入输出卡 (AE2 Import Export Card) @magick-experience @repairable-disc-11 @@ -14255,7 +14255,7 @@ simple-dimensions|简单维度* portals-gui@|传送门GUI* interworlds-splashscreens@|进入维度加载界面* @creative-menu-tweaks -vampires-delight@ +vampires-delight@|血族乐事 (Vampire's Delight) thats-my-bed@ caligo@ @sharpenedswords @@ -14264,7 +14264,7 @@ donut-and-mochi ducky@ducky! lost-idols simple-trashcan@ -darwin-water-ambience +darwin-water-ambience@ decorative-wooden-lattices apotheotic-additions lithosphere @@ -14687,8 +14687,8 @@ bananarangs@ remorphed@ particle-core@ fermiumbooter@ -ytech -@bbrb +ytech@ +better-biome-reblend@bbrb mcterra@ siren-head-the-arrival classic-musical-discs@ @@ -14740,7 +14740,7 @@ seed-delight@|种子乐事* transmog@|幻化* nuclear-guitars cubic-racers - +lotr-ucp|魔戒非官方兼容性补丁 (LOTR UCP) delightful-sandwiches@ shader-fixer@|光影修复 (Shader fixer) resiever@ @@ -14842,7 +14842,7 @@ dwarven-realm|矮人诸国* renewed-eras-of-arda-addon|阿尔达纪元:复兴 (Eras of Arda: Renewed Addon (First and Second Age)) legendary-item@|魔戒传说物品* lotr-middleearth-tweaks|中洲微调 (MiddleEarth Tweaks) -thaumcraft-integration +thaumcraft-integration@ reach-display@ gravitation-suite-patcher anti-rat-dungeon @@ -14916,7 +14916,7 @@ frostbytes-improved-inventory@ mekanism-extras@mekanism_extra|通用机械:扩展* leaf-beds@ unidentified-enchantments@unidentified_enchantments -protection-pixel@|机素防护* +protection-pixel|机素防护*¨@protection-pixel|机素防护 (Protection Pixel) - 已失效 createdpcompat@ @@ -15313,7 +15313,7 @@ more-affordable-than-ever-never-too-expensive@more-affordable-than-ever what-am-i @camoverlay -autoplant +autoplant|自动种植 (AutoPlant) @skip-backup-screen @polysprint @crashpatch @@ -15458,7 +15458,7 @@ lush-cave-trader@ oceans-enhancements@ xp-jellies aromatic -onekeyminer-nf@onekeyminer_nf|一键连锁(Neo)Forge (OneKeyMiner(Forge/NeoForge)) +onekeyminer-nf@onekeyminer_nf|一键连锁(Neo)Forge (OneKeyMiner(Neo)Forge) retargetato@|约谊敌众 (ReTargetato) iceandfire-ce@|冰火传说社区版 (IceAndFire Community Edition) @@ -15485,7 +15485,7 @@ hungry-zombies @gravity-gourds usa-delight|USA Delight - 已失效¨@usa-delight experience-farm -ad-extendra-dandi2k8-version@ad_extendra-continuation +ad-extendra-dandi2k8-version|Dandi2k8's Ad Extendra - 已失效¨@ad_extendra-continuation nebulus-juice-trader@ cthulhu-fishing@ large-super-potato|大型超级马铃薯* @@ -15851,7 +15851,7 @@ nbt-tool -dglab-x-minecraft@ +dglab-x-minecraft¨@dglab-x-minecraft|Minecraft x DgLab - 已失效 twintails|双马尾 (TwinTails)¨twin-tails|双马尾 (TwinTails) gt-wireless|格雷无线科技 (GT Wireless) forcejava21@|强制 Java21 (ForceJava21) @@ -15946,7 +15946,7 @@ to-tweaks-irons-spells@ horde-moon@ laser-mod-2 -mekanism-lasers +mekanism-lasers@ wizards-reborn@ tinkervillager|工匠村民 (Tinker Villager) customnpc-contentback@cnpc-items @@ -15992,7 +15992,7 @@ refreshdisplaylists vulkanmod-android-libs @black-bar-concealer building-shift@ -mob-ai-tweaks +mob-ai-tweaks@ the-masquerade-illager-boss@the-masquerade-(illager-boss) better-armory-x sweetys-horse-armor-tweaks@ @@ -16163,7 +16163,7 @@ ynet-an-xnet-fork rosatech nutrition-gtceu@ nutrition-unofficial-extended-life@|营养学非官方延续版* -@manametalmod-tweaks|魔金微调 (ManaMetalMod Tweaks) +manametalmod-tweaks-m3-t@manametalmod-tweaks|魔金微调 (ManaMetalMod Tweaks) ae2-crafting-tree|合成树 (AE2: Crafting Tree) client-automatic-doors@client_automatic_doors|客户端自动门* @@ -16207,7 +16207,7 @@ fibers-guns-pack-for-tacz beams@ discarnate@ @fishmc -mob-armor-trims@ +mob-armor-trims bubbles-a-baubles-fork arst-motion-blur@ @mpalladium|钯 (Palladium) @@ -16469,7 +16469,7 @@ water-balloon@ cataclysm-spellbooks@ call-of-drowner@|溺亡者之嚎 (Call of Drowner) - +endofday|终焉之日 (Endofdays) fastfood-delight-unofficial|重启速食/快餐乐事非官方版 (FastFood Delight Unofficial) faster-fly-block-breaking|飞行速速破* @@ -16830,7 +16830,7 @@ languagereloadunofficial@ mekanism-covers@ enchanted-wilderness-elegant-countryside@enchanted-wilderness-elegant-countryside.|雅致乡下 (Elegant Countryside) better-durability-reforged|更好的耐久度:重铸* -sos|我来助你! (SOS) +fast-tpa|我来助你! (Fast TPA) cherry-on-1-12-2@cherry_on_1.12.2|1.12.2的樱花 (Cherry_on_1.12.2) scape-and-spartan-parasites|寄体斯巴达 (Scape and Spartan: Parasites) @ripples-of-the-past-extra-stands-addon @@ -16850,7 +16850,7 @@ rple@ reign-of-nether-rts-in-minecraft@reign-of-nether-rts|下界之治 (Reign of Nether RTS) the-secret-doors - +immersive-vehicles-iv-mts-veb-iav-improved-2000|“改进-2000” tame-tools@|驯兽工具* @bia vounierns-turrets @@ -16937,7 +16937,7 @@ better-brightness-slider-respawn@ animatica-foxified@ mcchatgpt@ @aimobs -ambiances@ambiance|氛围! (Ambiance!) +ambiances@aurae|氛围! (Aurae!) screw-your-items@ mace-port bloodlines @@ -16994,7 +16994,7 @@ rank-system|评分系统* @creative-one-punch-forge bundle-inventory|Bundle Inventory - 问题反馈¨@bundle-inventory scroll-tweaks@scrolltweaks|鼠标滚轮调整* -neko-server@ +st@server-tools|服务器工具 (Server Tools) ride-every-thing@|骑乘一切* cit-resewn-neopatcher@ legendary-creatures|传说生物* @@ -17019,7 +17019,7 @@ passive-shield@ trap-expansion roost-2-flying-higher @amber -@liteminer +liteminer@ @lvlz-better-nether @lvlz-better-end cc-shops@ @@ -17081,7 +17081,7 @@ iron-nugget-recycling re-exposer@|Exposer 重置版 (Re-Exposer) gtmoreoreprocessing@ computercraftedu -bibliocraft-legacy +bibliocraft-legacy@ simple-clouds@ @@ -17107,7 +17107,7 @@ creeping-woods dragon-mounts-2-expanded@dragon-mounts-2|龙骑士2:延续 (DragonMounts2: Expanded) life-fruits@|生命果* ati-structures -fantasy-armor@fantasy_armor +fantasy-armor@fantasy_armor|幻想铠甲* beautiful-enchanted-books@beautiful-enchanted-books-mod-edition @@ -17125,7 +17125,7 @@ paladins-oath roundabout-the-jojo-mod@roundabout_the_jojo_mod -enviromine-continuation@ +enviromine-continuation@|更多生存要素:延续 (EnviroMine continuation) @toffys-hooks mutants-buff @@ -17152,7 +17152,7 @@ mutils@ better-campfires@|更好的营火* @mtr-renfe-addon gt-community-additions@ -more-create-burners|机械动力:燃烧室附加* +more-create-burners|机械动力:更多燃烧室* create-logistics@ create-pneumatic-equipment@ collisiondamage|碰撞伤害 (CollisionDamage) @@ -17293,7 +17293,7 @@ storage-drawers-unofficial@|储物抽屉非官方版* centrifuge-tiers-reproduced@ dense-mekanism@ simple-missles@ -galosphere-spellbooks +galosphere-spellbooks@ discerning-the-eldritch @hexcassettes wardens-plus @@ -17302,7 +17302,7 @@ ender-wyrmlings new-classic-battle-towers chitin-equipment@|甲壳装备* -mowzies-cataclysm|Mowzie的灾变 (Mowzie's Cataclysm) +mowzies-cataclysm@|Mowzie的灾变 (Mowzie's Cataclysm) stardew-fishing-fabric@ piglin-slayer@ cataclysm-tools@ @@ -17460,7 +17460,7 @@ book-scroll@ -@qca +qualia-carpet-addition@qca mouse-tweaks-unofficial|鼠标手势非官方版* baubles-lts elysium-api@ @@ -17470,7 +17470,7 @@ antibat@ illage-and-spell-age origincore|起源核心* - +pet-connect|收容宠物* heaven-destiny-moment|天命时刻* industrial-foregoing-extra-upgrades|工业先锋:更多升级 (Industrial Foregoing: Extra Upgrades) growableores-extension@|甘蔗转换机 (GrowableOres Extension) @@ -17618,7 +17618,7 @@ nanny@ resource-library@ resource-config-api@ @threatengl -hybridfix|混合修复 (HybridFix) +hybridfix@|混合修复 (HybridFix) @disable-portal-checks eat-eat-eat|吃吃吃* @recipe-stages-js|配方阶段 (Recipe Stages JS) @@ -17678,7 +17678,7 @@ cute-companions-ducks loot-n-explore@ epic-knights-ice-and-fire medieval-origins-revival@ -construction-sticks@ +construction-sticks@|建筑棒* sophisticated-storage-in-motion@|精妙物流 (Sophisticated Storage in Motion) imgur-display@ extra-sponges@extrasponges|更多海绵* @@ -17939,10 +17939,10 @@ mythic-charms@|神话护符* minecraft-add@|原版补充* stacked-blocks@|捆扎方块* stacked-blocks-farmers-delight@|捆扎方块:农夫乐事 (Stacked Blocks: Farmer's Delight) -@fowlplay +fowlplay@ ender-totem -@faewufs-diversity +diversity@faewufs-diversity tonsofenchants @@ -17951,7 +17951,7 @@ cave-root whos-there-ghost-players@ the-cuckoo-clock final-samurai -classic-battle-towers|经典战斗高塔* +classic-battle-towers@|经典战斗高塔* sihywtcamd-extensions@difficulty-extensions @heart-crystals @@ -17995,7 +17995,7 @@ lost-cities-survive-the-dead-edition power-of-the-void|虚空之力 (Power of the Void) aerlune-rpg -hitboxbackport +hitboxbackport@ fsmm@ create-pantographs-and-wires@ footwork-api@footwork @@ -18018,7 +18018,7 @@ sky-breaker-blue-skies-limit-remover-1-18-2|天穹突破_1.18.2 (Sky Breaker_1.1 xiyus-lucky-block|饩雨的幸运方块 (Xiyu's Lucky Block) @epicfight_oldsolar|史诗战斗:旧版solar (EpicFight_oldsolar) reskillable-reimagined -renaissance-core +renaissance-core@ @startup-chime|启动音效 (Startup Chime) carpet-takeneko-addition@tnca|竹猫的地毯扩展* chain-mod @@ -18072,7 +18072,7 @@ irons-spell-book-mob-attribute-addon epic-fightexsilium-gladius|EpicFight—放逐之刃 (Epic Fight — Exsilium Gladius) @kamenriderweaponcraft|假面骑士武器大全集 (KamenRiderWeaponCraft) -advancearmy@|先遣部队 (AdvanceArmy) +advancearmy@|先遣部队 (Advance Army) @blood-blade @mineimpact|方神 (MineImpact) jadens-nether-expansion-delight@ @@ -18258,7 +18258,7 @@ create-picky-waterwheels@create-picky-wheels fancy-lamps resizing-potion miku -advanced-smelter|荒古炼金炉 (Advanced Alchemical Furnace) +advanced-smelter@|荒古炼金炉 (Advanced Alchemical Furnace) @@ -18361,8 +18361,8 @@ scopic memory-leak-fix-unofficial-remastered @distance-traveled-calculation -@control-craft -reforbidden-magic|禁忌魔法:重生 (ReForbidden Magic) +@control-craft|控制学 (Control Craft) +reforbidden-magic@|禁忌魔法:重生 (ReForbidden Magic) moses-mod craftable-animals|可合成动物* avaritia-1-1x-kedition @@ -18386,10 +18386,10 @@ rhyme-pvz@|PVZ:润 (Rhyme PVZ) ichorium-kit reforgotten-relics|失落遗物学:重生 (ReForgotten Relics) in-your-world@ -warpapocalypse +warpapocalypse@warp-apocalypse arcane-arteries-kedition|奥法献祭学非官方版* -thaumic-tinkerer-unofficial|神秘工匠非官方版* +thaumic-tinkerer-unofficial@|神秘工匠非官方版* asyncparticles@|异步粒子 (AsyncParticles) @dragonfly-model-library @@ -18457,11 +18457,11 @@ gud_coolers suppergerrie2s-drone-mod data-essence@ -nautec@ +nautec@|海蓝科技 (NauTec) thorny-bush-protection@ gudlib -reflex-antilag +reflex-antilag@ tfc-nei nolan @@ -18480,7 +18480,7 @@ apotheosis-totem tbone - +fastfurnace-decreased|熔炉性能优化-- (FastFurnace--) @cdnperspective3d @volume-fix @@ -18519,13 +18519,13 @@ tinkers-advanced@|前沿匠艺 (Tinkers' Advanced) more-structure-processors@ quick-stack-to-nearby-chests@quickstack|快速堆叠 (QuickStack / Quick Stack To Nearby Chests) - +@kallfix yggdrasilproxy@yggdrasil-proxy thaumic-meme|神秘吐槽* starlightxae|星光xAE2修复 (StarlightxAE) - +@levelclear @drops-into-shulker ftb-team-dimensions epicfight-resurrection|史诗战斗-重生 (EpicFight : Resurrection) @@ -18627,7 +18627,7 @@ loquat-forge@loquat¨loquat @customhealthhud @fix-horizontal-camera-lag create-cyber-goggles@|机械动力:赛博护目镜 (Create: Cyber Goggles) -mekanism-science +mekanism-elements bots-lib@ botaniaoverpowered@ @@ -18839,12 +18839,12 @@ health-bar see-the-rarities-str|查看稀有度 (See The Rarities) craftpilot@ @game-of-reborn|复活赛 (Game of Reborn) -legendary-slash|传说之刃* +rough-blade|无锋道* @dota.rg @appledog|苹狗 (Appledog) superb-warfare@|卓越前线* -aetherworks-extended-life +aetherworks-extended-life@aetherworks-unofficial-extended-life pomkots-mechs-extension-pack@ @monkey-utils some-more-blocks@ @@ -18896,7 +18896,7 @@ create-deep-dark@ create-ranged@ create-enlightend@ create-winery@ -create-filters-anywhere +create-filters-anywhere@ create-cheese@ create-copper-zinc@ create-ultimate-factory@ @@ -18930,7 +18930,7 @@ apothic-science-moa-stats ye-gamol-chattels-reborn@ -@my-more-enchantments|我的更多附魔 (My More Enchantments) +mme@my-more-enchantments|我的更多附魔 (My More Enchantments) @some-little-enchant|一些小附魔 (Some Little Enchant) minepulse@|一脉相挖 (Mine Pulse) @@ -18966,12 +18966,12 @@ cable-facades@ easy-storage@ezstorage|简易存储* @tmwin|问君何所需 (TellMeWhatINeed) elrols-gui-elevator -@minecraft-found-footage +backrooms-found-footage@minecraft-found-footage exposure-polaroid@ fallingalchemy|坠落炼金 (FallingAlchemy) -fluxloading +fluxloading@ inventory-swapping seamless-trading@ sophisticated-auto-walk @@ -19009,7 +19009,7 @@ gluttony-oversaturation-overeat overeat oversaturation -etheria +etheria@ legends-of-slugterra@ gussdx-decoration @@ -19156,7 +19156,7 @@ summer-cottage@ marius0x-furniture youssefs-currency@youssefs_currency bibliobiomes-legacy@ -sniffers-delight +sniffers-delight@sniffers_delight easters-delight@ @@ -19179,7 +19179,7 @@ disturb-not-my-dream@|勿扰吾梦 / 起床气* lootbagsrenewal@lootbags|战利品袋重制版 (LootBagsRenewal) - +autoswaplowdurabilityelytra|自动鞘翅替换 (AutoSwapLowDurabilityElytra) no-elytra-equip@no-elytra-mod no-elytra title-changer@ @@ -19249,7 +19249,7 @@ epic-fight-mesh-model|史诗战斗网格模型模组* monster-of-the-night-skies@ spooky-doors@ @mclientapi -@addonapi +moffs-addonapi-dynload@addonapi @shiv @tab-list dokimobs@|萌化生物 (DokiMobs) @@ -19286,7 +19286,7 @@ blades-derby@|骐骥刀剑风云* create-simple-generator@|机械动力:简单发电机 (Create: Simple Generator) sophisticated-backpacks-create-integration@ -@ticex +ticex-tinkers-construct-ex@ticex eternal-starlight-vanilla-ores@eternal-starlight-vo supercritical supercritical-gtqt @@ -19317,7 +19317,7 @@ expanded-ae modular-machinery-reborn-ars-nouveau@ bonsai-crops@|盆栽作物* playing-cards-chips|扑克牌与筹码 (Playing Cards & Chips) -enderdrives +enderdrives@ lucky77 i-dont-see-you@ @@ -19343,7 +19343,7 @@ whimcraft@|奇思妙想 (WhimCraft) recipeconflict-fixer|合成冲突消除:修复版 (RecipeConflict Fixer) dooglamoo-painter-mod|Dooglamoo 的绘画* notafreaks-plushies@ -enchanting-vanilla +enchanting-vanilla@|原韵新生* quest-items-rpg@quest-items @@ -19397,7 +19397,7 @@ apotheosis-x-irons-spellbooks-compat customtab@ nightmares|噩梦* graveyards -sky-arena +sky-arena@demis-sky-arena progressive-mechanics-library@ @shy @@ -19452,7 +19452,7 @@ slightly-newer-art-of-forging custom-treasure-maps@ evolved-mekanism|通用机械:进化* - +brain-delight|脑子乐事* villager-library|村民图书馆* trade-enchant-overhaul more-additional-paintings@ @@ -19513,7 +19513,7 @@ applied-web-terminal@|AE网络终端* itemzoommore @noitemtooltips shuttfup|Stfu - 已停更¨@shuttfup -baublesreforked|饰品重铸 (BaublesReforked) +baublesreforked@|饰品重铸 (BaublesReforked) @wills-lively-villages tmrv@ @@ -19521,7 +19521,7 @@ twilight-treehouses@ improved-rails@|更好的铁轨(可转弯の动力铁轨!) (Improved Rail (TURNABLE POWERED RAILS)) redstone-signal-bind-wand@|非Create版无线红石* - +@ingametranslator|游戏内聊天翻译 (In game Translator) carnivorous-plants-addition mekanism-curios tetra-compat @@ -19563,7 +19563,7 @@ scaffolding-backported hold-my-items-reforged@ distraction-free-recipes@ -seeking-immortals-nightmare@|求仙者:噩梦之章 (Seeking Immortals : Nightmare) +seeking-immortals-nightmare@|月之石:噩梦之章/求仙者:噩梦之章 (Moonstone :Nightmare/Seeking Immortals : Nightmare) enchanted-crystal-arrow|魔法水晶箭 (Enchanted Crystal Arrows) touhou-danmaku-kagura-core|东方弹幕神乐核心 (Touhou Danmaku Kagura core) hah-ueuh@hah!-ueuh @@ -19583,7 +19583,7 @@ dontstarve4@|不要饿死4 (Don't Starve 4) spark-core@|星火核心* nether-core-useful-nether-rock|下界核心 (Nether Core) slashblade-js|拔刀剑 JS (SlashBlade JS) -@caerula-arbor|方块与海嗣与深蓝之树 (Caerula Arbor) +caerula-arbor@|方块与深蓝之树* alices-doll|元歌 (Alice's Doll) bedrock-redux@|基岩再现* item-entity-control|掉落物清理* @@ -19600,12 +19600,12 @@ pokecube-alternative create-propulsion@|机械动力:推进工程 (Create: Propulsion) -event-wrapper|事件包装器*¨@event-wrapper|事件包装器 (Event Wrapper) - 审核中 +event-wrapper@|事件包装器* @modwhitelist|模组白名单 (ModWhiteList) beacon-conduit-tweaks|信标与潮涌核心调整 (Beacon & Conduit Tweaks) -@tfc-tools-trim|群峦传说:工具纹饰 (TFC Tools Trim) +tfc-tools-trim@|群峦传说:工具纹饰 (TFC Tools Trim) @kill-youkai-with-knives mo-bees@|更多蜜蜂 (Mo' Bees) @@ -19618,7 +19618,7 @@ create-unlimited@ skeleton-ai-fix@ climate-rivers@ dungeonsdelight@dungeons_delight|地牢乐事 (Dungeons Delight) -cleanroom-relauncher-unofficial|Cleanroom 模组式启动器非官方版* +cleanroom-relauncher-unofficial@|Cleanroom 模组式启动器非官方版* silents-power-scale@ trident-return-fabric resource-world@|资源世界* @@ -19702,7 +19702,7 @@ alienevo banit|干掉它! (BanIt) alexs-mobs-naturalist-compat@ - +tinkers-ingenuity|匠心之作 (Tinkers' Ingenuity) curiosities@|趣味物品* @cs2_c4|Qis的C4 (C4) @@ -19790,7 +19790,7 @@ verdant-wonders@ underlay@ lazy-item-generator|咸鱼物品生成器* -crab-street-light|螃蟹的路灯* +crab-street-light@|螃蟹的路灯* undertale-delight@|决心乐事* @@ -19828,7 +19828,7 @@ projecteteams@ battle-frenzy|越战越勇* @plane-advancements cosmopolitan@|四海一家* - +redtassel|红缨 (redtassel) sridr|拔刀剑锻造增伤改革 (SlashBlade Refine Increased Damage Reform) mianbaos-modernwarfare|面包军火库 (Mianbao's ModernWarfare) @@ -19838,7 +19838,7 @@ create-no-touching create-aether-industry|机械动力:天境工业* create-entitycontroller@create-entity-control|机械动力:实体控制 (Create: Entity Control) better-advancements-blessed-edtion|更好的进度 - 祝福版 (Better Advancements - Blessed Edtion) -@gloom-raider +@gloom-raiders herobrine-prime legend-of-the-dwerden@ dnt-stronghold-overhaul-lite-edition @@ -19859,7 +19859,7 @@ fluxed-core@ backpack-plus|背倍加* @hydration-mod -defiled-lands-reborn|污秽之地重置版* +defiled-lands-reborn@|污秽之地重置版* @copper-bulb-early|铜灯补充 (Copper Bulb Early) future-fireproof@|未来防火* @low-durability-switcher @@ -19888,11 +19888,11 @@ aesthetic-shelving arboreal-nature@ warborn-resurgence@warbornresurgence +@ceres - -super-creeper|智能爆破专家* +super-creeper|智能爆破专家 (Creeper Super) expanded-experience -reworked-phantoms +reworked-phantoms@ ex-nihilo-fabricio@ hybrid-delights@ create-clothes@|机械动力:服装 (Create: Clothes) @@ -19947,4 +19947,924 @@ tinkers-jewelry-ex|工匠珠宝拓展 (Tinkers' Jewelry EX) lovely-sparkle-pieces|璀璨饰品* yuns-weather@ -qliphoth-awakening@ \ No newline at end of file +qliphoth-awakening@ + + +universal-mod-localizer@universal_mod_localizer|通用模组汉化器* +smart-creeper@|智慧苦力怕* +peaceful-depletion@peaceful_depletion|和平消耗* +@everything-is-tnt +structure-pool-api@ +create-bluemap@ +tragicmc-2-continuation|悲惨世界2:延续 (TragicMC 2 Continuation) +nebula-parasites@ +bonsai-trees-unofficial-extended-life|盆栽非官方延续版* +@its-as-shrimple-as-that +worldedit-items@ +slashblade-skin@|拔刀皮肤 (SlashBlade Skin) +iron-door-key@ +just-enough-fishing-jef@just-enough-fishing-(jef) +containersearch@container-search +mousepets@ +backported-minecarts@ +simple-incubator@ +amethyst-stairs-slabs-and-walls +@vessels + +legendary-weapons-byititor +slender-reborn +craft-vania-lite +pollution-of-create +create-chocolate-fountain@|机械动力:巧克力喷泉 (Create: Chocolate Fountain) +create-currency-shops@|机械动力:货币商店 (Create: Currency Shops) +create-nether-industry@|机械动力:下界工业 (Create: Nether Industry) +backported-diamond-ore-gen +tfthreadsafetyaddon +serverautosaver +infinistack@|无限堆叠 (InfiniStack) +powerful-dummy|强力假人* +beyond-bosses@beyondbosses +mini-utilities-y +concoction@concoction! +zombietactics2@ +radiation-zone-reborn|辐射荒原:再行 (Radiation Zone: Reborn) + +@crumbling-hearts + +dye-the-world@ +modernmarkings@ +hololive-product@ +fetzis-displays@ +shadered@ +sweety-garden@ + +@twilight-forest-aurora-palace-regeared + + +medieval-buildings-nether-edition +@ribbits-croaks +echoes-of-time@ +horror-alexbrine +zzz-craft|绝区零·星见雅 (ZZZ Miyabi) + +cozy-cabins-and-cottages +servereye +deepseek@deepseek-neoforge +ai-command|AI指令生成 (AI Command Generator) + +flighthud-do-a-barrel-roll-fix + +@fast-container-placement|快速容器放置 (Fast Container Placement) +@teleport-mod +@what-meme +crackers-wither-storm-mod-v-sides-soundtrack@ + +roberts-game-tweaks|Robert的游戏调整 (Robert's Game Tweaks) + +@datapack-load-error-fix|数据包错误修复:重生 (Datapack Load Error Fix Reborn) +@whats-this +@additional-jewelryz +tacz-tes-compat@ + + +directionhud +raw-netherite-reforged +blast-travel-reborn@blasttravelreborn|旅行火炮·重生* +shanxi-skeleton@shanxiskeleton|山西骷髅* +@gunpowder-overhaul|火药改革 (Gunpowder Overhaul) +smoking-stuff-a-wizards-hobby +@alloy-smelter +@autocrafter-early +time-in-a-bottle-charger@ +just-a-sculk-vial@ +lockylocks@ +server-i18n-api¨@server-i18n-api|Server I18n API - 审核中 +fragmentum-forge@fragmentum¨fragmentum-neoforge¨fragmentum-fabric +@monument-data-fix|Monument 数据修复 (Monument Data Fix) +@better_tp +waystone-currencys@|消币则至 / 传送石碑:货币 (Waystone: Currencys) +@armor-stand|盔甲架 (ArmorStand) +threadtweak-reforged|ThreadTweak (Neo)Forge 移植版 (ThreadTweak Reforged) +@environmental-creepers-backport +com-bat +touhou-little-maid-rpg-class-task + +heat-and-climate-patch|热量与气候修复* + +@clientupdater + +modern-lucky-block@ +foxrecipemaker +@global-mob-health-multiplier|全局生物血量倍率 (Global Mob Health Multiplier) +chatbox-for-mc@chatbox|对话框 (ChatBox) +perfectly-balanced-bows +@playerex-alcohol|PlayerEx 酒精版 (PlayerEx: Alcohol) +hak-minepiece +grease@ +cleaver-compedium +phayriosis-parasite-infection +srp-calamity-catastrophe-cataclysm@|逃寄:无妄之灾 (SRP: Calamity Catastrophe Cataclysm) +moss-overgrowth +create-pillager-arise +create-qol@ +create-remote-terminal@|机械动力:远程终端 (Create: Remote Terminal) + + +songs-of-war@|战争之歌 (Songs of War) +cataclysm-summons@ +cutepuppymod@ +giant-swamp-tree|沼泽巨树* +big-oak-tree@|大橡树* +giant-tree-stump|大树桩* + +polars-mad-tweaks@ +cobblemon-ranked@|方块宝可梦-排位赛* +eiramoticons +horse-breeding-fix@ +tablistextension@|TAB 列表扩展 (TabListExtension) +rally-of-the-guard-guardvillagers +bncci +@recipe-maker +portaltransform@|传送门嬗变 (PortalTransform) +@a555sd|更多的画 (More Paintings) +unusual-furniture@ +xiaoanmooncake@|小安的月饼狂热 (Xiaoan's Mooncake Fever) +foragers-insight@ +palestinian-delight@ +mekanism-more-machine@mekanismmoremachine|通用机械:更多机器 (Mekanism: More Machine) +custom-battleroyale@|自定义大逃杀 (Custom BattleRoyale) +improved-pillager-outpost +rebalanced-enchanting@ +dark-doppelganger@ +enders-spellsandstuff +hazen-n-stuff +spongeforge@ + +@don%22t-die|补药趋势啊! (Don't Die!) +sdm-market@ +@omnilook + +survivalist-essentials@ +villager-trading-plus@trading+ +mending-fix|经验修补修复* + +colorwheel@ +tlib@ +smoothscreen@ + +@fuzz +advanced-loot-info@ +resourcepackcached@ +aotake-sweep|竹叶清* + +effectual@ +cold-light@|冷晖之枪* + +huanles-weapons@|Huanle的武器 (Huanle's weapons) +@clay-soldiers-remake +threateningly-mobs@ +basic-spinosaurus +european-wildlife +marvelous-menagerie@ +roman-weaponary +compat-structure@ +flower-bed@ +archery-expansion-squared +create-more-linked-remote@ + + + +gambagoons-better-emeralds +ingameime-vintage@|游戏内输入法-1.12.2 (IngameIME-Vintage) +extreme-sound-muffler-legacy@ +amazing-trophies + + +global-server-configs@global-server-config|全局服务器配置* +expandedbonemeal +@aireplyassistant|AI回复助手 (AIReplyAssistant) +utiljs +moon-info-updated@ +@server-market|服务器市场 (Server Market) +nbt-tooltip@nbttooltip +delicate-dyes@ +@modernmixins +sdm-economy +sdm-ui-lib@ +mcllm¨@mcllm|MCLLM - 审核中 +@inventory-pause-yipeekiyaay +chestsearch|容器检索 (ChestSearch) +clicktor|Clicktor连点器 (Clicktor - Auto Clicker) +extended-bone-meal@¨extended-bone-meal-fabric +show-me-the-enchantment|怎魔,你不附器* +better-sign-edit@ +disc-recipes@|唱片合成 (Disc Recipe) + + +scoutreforked|侦察兵 重构 (Scout Reforked)¨@scoutreforked|侦察兵 重构 (Scout Reforked) - 审核中 +immersion-in-traffic-context|沉浸交通道路 (Immersion in Traffic Context)¨@immersion-in-traffic-context|沉浸交通道路 (Immersion in Traffic Context) - 审核中 +arknightsfurniture@|明日方舟家具 (ArknightsFurniture) +gunsmith-lib + +experiencelib@ +mystical-mobs + +progressive-difficulty-chaos-integration@ +ottapomos-scps +scp-foundation-requisites@ +thermal-construct@ +war-wither|战争凋灵* +status-effect-bars-reforged +dark-tower-maze + +the-occult +wolftailui@ +better-client@better-client-enc|更好的客户端* +clientharvest@ +auto-afk@ +particle-effects-reforged +hold-my-items-refoxed +dont-claim-our-structures +cosy-critters-creepy-crawlies@cosy-critters-creepy-crawlies-neo +thin-air-ad-astra-compat +yyzsbackpack@yyzs-backpack|yyz的背包 (Yyz's Backpack) + +vital-delight + +@mining-in-place +pathfinder-navigation|寻路者导航* +adorable-eggs@ +food-addition@ +everything-totem|万物皆可图腾* +thaumic-renaissance@thaumcraft-renaissance +@executive +@make-i18n-great-again +steve-goes-fishing@ +voltaic-api@voltaic +boat-delete-begone +zs-packet +raise-them-hotbars +quick-leafdecay +footprint-particle-returns +inventory-crafter-returns +colorwheel-patcher@ + + + + +difficulty-lock@¨difficulty-lock-fabric +ryymr@ +@lazybeefix + +lazy-ae2-tweaks +coordinates-hud@coordinateshud +just-enough-botania +fumo-fumo +touhoupixelcanteen-a-farmers-delight-plugin@touhoupixelcanteen|东方像素食堂 (TouhouPixelCanteen) +perfect-parity-the-garden-awakens-edition@ +perfect-parity-spring-to-life-reforged +hypertubes@hypertube|机械动力:超级管道 (Create: Hypertubes) +perfect-parity-spring-to-life-edition@perfect-parity-1-21-5 +create-geography|机械动力:地理学 (Create: Geography) +create-apothic-enchanting@ +demis-enigmatic-dice@ + +@mpem|月夜性能优化 (Moonlit Performance Enhancement Module) +@eventbenchmark|事件性能测试 (EventBenchmark) +no-more-garbage-in-cell +pick-up-filter-puf@pick-up-filter + +identity-fix-morph@identity-fix + +stick-it@ +aimod +srp-reset-mod|逃逸寄生体:重置 +legendary-relics|传说遗物* + +true-power@|真正的力量 (True POWER) +ender-villages|末地村庄* +twilight-forest-villages@|暮色森林村庄* +poland-nature +amethyst-extra +villagers-windmill +extended-wrenches@ +why-stack-only-64|为什么才64个呢? (Why Stack Only 64?) +@digcooldown|挖掘冷却控制 (DigCoolDown) + + +potentials@ +deltaboxlib@ +gobbobs-animated-blocks|Gobbob 的动画方块 (GobBob's Animated Blocks) +glowingfootsteps|发光足迹粒子 (GlowingFootsteps) +simply-swords-overhaul@ +farms-and-foods@farms-foods +@achievement-fix|成就修复 (Achievement Fix) + +lang-magic-tweaker +spawn-dimension-choice|诞生维度自选* +reforge-stone@|重铸石* +numericalbotany +cameraoverhaul-vintage@ + + +advanced-hoppers + +ars-meteorites +the-hard-herobrine-mod + +tektopia-addons +jason-voorhees +biome-improvement-mindthemoods-pile-of-rocks +mochila@|简彩跃光* +soulytra +@advanced-tfc-blueprint|高级群峦蓝图 (Advanced TFC Blueprint) +@accesswidener-loader +improperui-forged@ + +enchantment-to-attack-faster|并非环取/攻击速度附魔非官方版 (Attack Speed Enchantment Unofficial) +@stopgrowth|停止生长 (StopGrowth) +squid-no-glitch +@permanent-night-vision|无痕夜视 (Permanent Night Vision) +@rems-carpet-addition + +colorful-hex@ + +bbl-no-rain-fog + +@be-quiet-negotiator +link15s-no-i-frames +jei-integration-reborn@|JEI扩展:重生 (JEI Integration: Reborn) +appliedsync +jei-uu-assembler@ +ominous-overlays +create-nuclear-shell@ +world-of-wonders +horrible-meteor-shower|陨石雨* +desertification@ +cinchs-abandoned-houses@ +curse-breaker@ +hundred-years-warfare@|百年战争* +biologica@ +oritech-things +potato-vehicle-industries +warfare-wings@ +avaritias-delight@|无尽乐事 (Avaritia's Delight) +mamas-herbs-and-harvest@ +vs-orbit@|瓦尔基里:轨道学 (VS Orbit) +touhou-little-maid-spell@ +despawn-notifier|余影待终/掉落物消失提醒* +customnpcs-unofficial-from-betazavr|自定义 NPC BetaZavr 非官方版 (CustomNPCs Unofficial from BetaZavr) + +efficient-core-automatic-mining|Efficient Core自动挖掘器* +@bento_box|便当盒 (Bento Box) +custom-100-day-boss@|自定义100天Boss (Custom 100-Day BOSS) + +cinchs-extra-torches@ +corpse-x-cosmetic-armor-reworked-compat +modular-angel-ring +magic-feather-replumed@magicfeather +essentialcraft-magic-reflux +ad-astra-star +neomopeds +create-more-parallel-pipes@ +create-garnished-reworked@ +create-shimmer|机械动力:微光 (Create: Shimmer) +blue-archive-school-banners +cialloblade +windows-keyboard-fixes-returns +aquatic-torches-returns +cratetech-crate-storage +bigger-and-better@ +blabber@ +reducedores@ +durabilityrarity@ +ironfist-lite +shear-chicken@shear-chickens +no-moon-jar@no_moon.jar +@deep_space +blue-grove +quarkponders@ +sussy-sniffers +firefly-bush-backport@ +agritech-trees-automated-trees@agritech-trees +agritech-evolved@ +wealizh|WLH工业故事* +@hydrometallurgy|湿法冶金学 (Hydrometallurgy) +mekanism-ecoenergistics-unofficial + +woodlandfoxverses@|林间狐咏 (WoodlandFoxVerses) + + +swaying-garden|摇曳花园* +time-feeds-villager@|逝者如饲:村民 (Time Feeds: Villager) +ftb-backups-3|FTB 备份 3 (FTB Backups 3) +kurolib@ +trimmed@ +free-camera-api-tripod@|自由相机API-三脚架 (Free Camera API Tripod) +abelia¨@abelia|Abelia - 审核中 + +simple-weather +simple-copy@ +natures-aura-render-fix@ +creakingchopperenchantment@ +daily-rewards@ +initialdimensionreborn + + + + +the-plugin-mod@ +cave-vision +@el-addon-retrieve-to-slot +aether-gloves-for-all +reducedloot +@irisfixes|Iris 修复 (IrisFixes) +musicjs + +suspendtheserver|自动挂起服务器 (Suspend The Server) +screenshot-layers +anti-spider-climbing +rechiseled-chipped@ + +weatherdisplay@ +radium-fabric|Radium - 已失效¨@radium-mod +cinnabar + +pquality@ + +mte-patches +happy-ghast-breeding +happy-ghast-flight +the-angry-ghast@ +@morfonica-in-minecraft +for-vanilla-flowers +@skillpractise|技能练习 (SkillPractise) + + + +bedrock-hotbar-offset¨@bedrock-hotbar|Bedrock Hotbar Offset - 审核中 +mss-more-slot-swap¨more-slot-swap +show-all-advancements|显示所有进度*¨@show-all-advancements|显示所有进度 (Show All Advancements) - 审核中 + +mana-display@ + +curse-forge|诅咒锻造* + + +disconnect-packet-fix@ +happyghast-on-1-12-2@happyghast_on_1.12.2|1.12.2的快乐恶魂 (HappyGhast_on_1.12.2) +automationera@|自动化时代 (Automation Era) +@tears-backport +lava-chicken-disc +lava-dennis +album-go-wall +forgotten-java +johanness-renaissance-rebirth@johanness-renaissancerebirth|约翰内斯的文艺复兴:火器重生 (Johannes's Renaissance:Musket Rebirth) +swarm-infection@ +necro-rooted +@mycelial-crisis|菌丝危机:崛起 (Mycelial Crisis: Mushroom Rising) + +lethalsteelproject|致命拔刀计划 (Lethal Steel Project) +lovecraft-girlfriends-3@ +@faithful-mace +bard-craft + +items-timer +neo-language-reload@ +@oxidizium +ixeris@ +substrate-sodium-addon@substrate +hide-item-frame@|隐藏物品展示框* +@smoothmaps +neoessentials@ +structure-layout-optimizer@ +mutant-creatures-legacy +dynamites-overhaul@ +dynamite-addon¨dynamite-addon-fabric +maid-mana-source|女仆魔源* +maidens-merry-making@mamas-merrymaking +bbl-invisible-lights@ +superior-trees@ +underground-rivers@ +improved-village-placement@ +@photosynthesis +@mineno +slashbladetetra + +irons-spells-n-spellbooks-dynamic-skill-trees@ +spell-elemental@ +ward-ring-extension-for-irons-spells-n-spellbooks +dungeons-and-combat-x-irons-spells +smallcolonies +farmers-cutting-regions-unexplored +serene-landscapes@ +blood-arsenal-reawakened@ + + +spell-colonies +nature-reimagined +ominous-bottle-add +only-hammers@ +auto-resource|自动资源* +iu-additions +rubiks-cube|魔方* +clockworklib + +fabridge + +true-fullbright +quickslots +hide-hud-in-third-person-view@hide-hud-third-person +automlg@auto_mlg +elytraautopilot@elytra_autopilot +simple-conveyor-belts@ +smidgeon-o-bliss-remastered +xl-food-reborn|超多食物:重生 (XL Food Mod Reborn) +create-spin-spawner +vs-rotanator +create-refilling-boxes +cbc-chemical-warfare|机械动力火炮:化学与生物战争 (CBC: Chemical Warfare) +cbc-warium-projectiles|机械动力火炮:Warium炮弹 (CBC: Warium Projectiles) +create-colored +create-law-and-order|机械动力:法律与秩序 (Create: Law and Order) +blockexporter +fix-attack-lag@|修复攻击卡顿* +@clienthings +@misinput +lavablocker@ +gildedarmors@gilded-armor|鎏金盔甲 (Gilded Armor) +inventory-management-deluxe +runningmapmusic|跑图音乐 (RunningMapMusic) +lava-chicken-music-disc +porting-dead-libs +panoramica¨panoramica-fabric +create-mt-integration|资源统合-机械动力配方附加* +@valkyrien-warpeace|瓦尔基里:战争与和平 (Valkyrien War and Peace) +sillys-auto-totem +repairables-anvil@|可修复的铁砧* +@throwable-bricks +@now-time|准点报时 (Now Time) +fluidjs¨@fluidjs|FluidJS - 审核中 +hybridcompat|混合兼容 (HybridCompat) +@recipecooldown +counter-mod +lotr-renewed-class-mod|魔戒种族 (LOTR Races) + +craftable-chain-armors +item-cooling-reduction@|物品冷却缩减* +yosbs + + +@no-bugs +dark-window-bar@ +sodium-core-shader-support@ +@anvilcraft-headtap|铁砧工艺:敲你脑袋 (AnvilCraft: HeadTap) +hearts-in-a-bottle@ +copper-tools-and-shears@ +windchime-unofficial-continued@ + +potionsplus +tinkers-wood@ +illuminated@ +galosphere-argent-edge +brutality-a-terramity-addon +free-epic-games@|FE 游戏框架 (FreeEpicGames) + +fabric-database-h2@|H2数据库* +tokien-theme-bq|更好的任务-托尔金主题 (Tolkien Theme [BQ]) +tpa-utilities +more-diamond-spawn|更多钻石生成* +shutup-opengl +maid-command|女仆指令* +speedy-hopper-vanilla +suggestions-fix-fabric +no-ixapi@no.ixmodapi + +epicfight-zylob|史诗战斗:刀光修改 (EpicFight Sword Light Modifications) +perfect-parity-pale-garden-awakens-neo +expressive-advanced +philia-amulet|友爱护符 (PhiLia Amulet) +stronger-fire-boss|原焰帝臻* +myec@|更多渴望:附魔与制造 (More of Yearn: Enchants & Crafts) +abandoned-urban|废弃城市 (Abandoned urban) +fungal-hazard|蕈骸迷途 +more-useful-copper-2-0@more-useful-copper|更有用的铜 (More Useful Copper) +boom-bombs@ +polars-exploration-additions@ + +ozymandias-sundries +tensura-enigmatic + +create-collection-bundles@ +create-enhanced-mastery +create-industrial-tools +create-smart-bounds +create-fantasizing-again@|机械动力:又在幻想了 (Create: Fantasizing Again) +crafting-station-jei-edition-updated +uncraft-everything@ +@videoplayer +@net-music-play-list|网络音乐机:播放列表 (NetMusicList) + +gregs-modern-construct + +smart-key-prompts@|灵活按键提示 (SmartKeyPrompts) +@zero-whitelist|Zero白名单 (Zero Whitelist) + +@pearlchunkloading|珍珠加载区块移植 (Pearl Chunk Loading) +clean-drops +auto-replace +@footprint + +simple-villager-follow@ +tinkers-experience +hedgehog-companion +i-want-to-spin@|我要开转 (I want to spin) +@kiss-fabric + + + +nuggets-repair-items@|矿粒修复物品* + + +terra-atmos|群峦环境音效* +tlm-true-power@true-power-of-maid|车万女仆:真正的力量 (TLM: True POWER) + + + +@splash-window + +@showcase +enhancedtooltips@ +locate-fixer +journeymap-fixes +ancient-structure@ancient-structures + +wizard-samurai-irons-spells-addon¨@wizard-samurai-irons-spells-addon|Wizard Samurai - Iron's Spells Addon - 更新较慢 +survival-instinct +enderzoo-patched +illager-keep +codex-of-champions +ars-controle@ +medieval-craft-historical-firearms +too-many-withers +reliquified-l-ender-s-cataclysm@ + +@log-creator-finder-findshit|找史大王 / 日志溯源 (findshit) +enchantment-lookup@|附魔查询* + + + + +@mods-checker +no-enchanting-xp-requirment +client-dynamic-light|客户端动态光源* + +multiyggdrasil@ +thaumcraft-4-patched +patchful +gtnh-customizer@ +view-sounds@ +ae-inventory-profiles +tooltips-reforged@|提示框:重铸* +@wyr +soaring-phantoms@ +tick128¨@tick128|Tick128 - 审核中 +ritchies-projectile-library@rpl +modopedia@ +@translate-allinone|一体化翻译 (Translate All in One) +button-fix@ +@birthday-fabric|生日模组 (Birthday Fabric) +bucketstacking +creeper-no-break-blocks@ +create-cog-hud@|机械动力:齿轮 HUD (Create: Cog HUD) + +create-pipe-networks + +multicolored-redstone-lamps +reliquified-twilight-forest@ +witch-tower +the-nightmare-000 +meowmere +@fallenflowers-server-economy|Fallenflower的服务器经济 (Fallenflower's Server Economy) +deadout-medical-supplies|死亡突围医疗用品 (Deadout Medical) +@thermal-shock +better-questing-npc-integration|更好的任务-NPC扩展 (Better Questing - NPC Integration) + +eu2emc|EU转EMC能量转换器 (EU2EMC) + +simplesorter@|简单整理 (SimpleSorter) +spawncursion|生成式入侵 (SpawnCursion) +grass-be-gone|不要草* +tacz-unidict|TACZ:铳械协议 (TACZ: Unidict) +gem-lichens|宝石地衣* +lethality-a-terramity-addon@ +lootr-fixes +no-name-provideds-potion-fruit@potion-fruit +fungus-stew +auto-sapling|自动树苗种植* +alans-bees +snack-sticks@ +fish-fix +stuttering-screen-lag-protection +tilefinder@ +immersive-furniture@|沉浸式家具* +modernnetworking +like1-8 +spoduos-future-mineration +enderio-continuous +enchantment-broker@ + +new-dawn +enhanced-glass +hospitals +comfy-cozy +epicnpc|史诗战斗NPC (epicnpc) +epic-fight-script-extension|史诗战斗:脚本扩展版* +@undead-transformation + +skullskinless|头颅无皮肤/易颜得帧 (SkullSkinless) +staynight|永夜定驻 (Stay Night) +blockblocker|方块放置阻止/抑用挡置 (BlockBlocker) +shoving-shovels@ +electric-coating|不止电池 / 电力镀层 (NotOnlyBattery / Electric Coating) +araxers-bestiary +better-questing-immersive-engineering-multiblock +bloodyquests +croaker@ +crawl-on-demand@ +gaze-a-malum-addon +osce|矿石菌种社区版 (OreSpawn Community Edition) +explosive-arrow +more-relics@ +no-sun@no-sun-mod|暗无天日* +opposing-force@ + +@pingfix +@volumescroll +talk-balloons@ +health-indicator-txf@ + +snowy-weather + + +fluidium|锍* + +peritia + + +corpse-kibou-no-hana|希望の花 (Corpse: Kibou no Hana) +redyeable +@natural-motion-blur +@modpack-checker +convenient-achievements +vintage-vibes@ + +@smelter-the-hedgehog +@hopper-the-hedgehog +custom-trades-mod|自定义村民交易* +tameable-zombie-horse-and-skeleton-horse|可驯服的僵尸马和骷髅马* +mi-tweaks +qa-villager-tweaks|Qa村调整* +multiblocked-extended-compatibility +enum-extender-js +@btc + +no-pigs +vanimals@ +wind-charged-weaponry@ +untagged-mobs +enchanted-potato +cit-for-nbt + +bonemealtweaker +hellstone-golem|狱岩魔像* +netherstar-crafting|可合成的下界之星* +tutes-cn-sweetinks-items|塔兹与甜墨的物品 (Tutes-cn & Sweetink's Items) +i-am-steve@i..am-steve +backported-stufff + +tumbleweeds¨@tumbleweeds|Tumbleweeds - 审核中 +mending-mirror|破镜重圆* + +natures-life +yggdrasils + + +@deepseeks-enchant|DeepSeek的附魔 (DeepSeek's Enchant) + + + +isitwaxed +simple-hp-bar +login-hp-fix +shape-shifter-curse|幻形者诅咒* + + +tinkers-planner-reborn|匠魂蓝图:重燃 (Tinker's Planner Reborn)¨@tinkers-planner-reborn|匠魂蓝图:重燃 (Tinker's Planner Reborn) - 审核中 +hunger-overflow +nocreeper +mo-creatures-extended +skippy-pearls +spelunkery-plus +forge-better-redstone +jeb-just-enough-book@justenoughbook +pal@ +data-anchor@ +elytra-hopping +oh-more-wandering-trades|更多游商交易*¨@oh-more-wandering-trades|更多游商交易 (Oh More Wandering Trades) - 审核中 +beacon-anti-phantom@|不时轻轻肘击幻翼的邻座信标同学 (Beacon Anti-Phantom) + + +cooler-animations + +hardcore-architect + +carpet-neoforged@neoforge-carpet +no-campfire-smoke +tiny-tasks +fancy-outline +echo-compass-hud@ +decorative-stands +confluence-otherworld-gun-fix@ + +sbm-cardboardboxes + + +bedrock-age|基岩时代* + + +@koniavacraft|娜拉工艺 (Koniavacraft) +emojicraft|Emoji工艺* +kylin-arm|麒麟臂* +server-hats@ +forgotten-ruins + +creeperhost-presents-steves-carts@ +perspatium@per-spatium +face-stealer +offlawn-legacy +metalborn +@wizards-mod +mo-creatures-nostalgia-edition@ +mocreatures-awakened +sterling +cuisine-tfc|料理群峦 (Cuisine TFC) +@natural-temperature +silent-gear-metalworks +treetap@ +better-cave-update +@affix +starry-end +dynamic-trees-for-cobblemon +immersive-portal-gun-for-forge@ +adorable-hamster-pets@ +infinite-lava@|无限熔岩* +ethereal-shots|虚无射击* + +epic-fight-super-golem|超级铁傀儡 (Epic Fight - Super Golem) +fallen-log-hideout +pastel@pastel-mod|彩绘世界* +mob-catcher-unofficial +retro-pet-items +confluence-dimension-patch|汇流来世维度补丁* +convenient-storage|便捷存储* +legendreliclib|传世遗产库 (LegendRelicLib) +jauml +nemexlib +cryonicconfig@ +@knight-lib + + +@okom + +craft-slabs-back-into-blocks@ +highland-statue +restore-ore@|复原矿石* +factory-blocks@|工厂方块* + +rotten-planks-and-logs + +create-unify-updated-to-create-6 +create-arm-made-cuisine|机械动力:臂力臂力炒菜 (Create: Arm-made Cuisine) +create-cultivation-craft@|机械动力:栽培工艺 +kaleidoscope-cookery@|森罗物语:烹饪 (kaleidoscope cookery) +retroemi-forge@ +@pearlecho +@mcdaycounter +minecolonies-war-n-taxes +falling-down@ +more-red-x-cc-tweaked-compat + + + +wither-reincarnated + +toros-auto-attack +creeperfire|自定义烧货 (CreeperFire) +fastspawner|刷怪笼渲染优化/产器速算 (Fast Spawner) +sophisticated-storage-plus|存取思深/精致存储扩容* +whaleborne + +newspaper-big-book-bibliocraft-legacy-backport +bic-clipboard +templates-2@ \ No newline at end of file diff --git a/Plain Craft Launcher 2/Resources/Newtonsoft.Json.dll b/Plain Craft Launcher 2/Resources/Newtonsoft.Json.dll index 80699020cce0b5140994fb1ac2b06547ab21fe84..341d08fc8b7ea5cda1f12b3d2756b539e1f94ed0 100644 GIT binary patch literal 711952 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
0O;K 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

D|0>6~5=A-sN(m`K7i$%JNQC>RPJqcXmv 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%0DXabbnX(CCbe`!iZ2g0u|Gex- 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

(T}H@mdam_OzOC!_o9?4{p$!2lpS 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 DhO?6O literal 662528 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�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

y#KQ zPuvGP+_g4@`^On!Y!|6|T!58a;Jt6af1ffVM)|8gB0cb9uF6MxU>$rJ_4HGc15+P` zbBt5c19UDz;i|q?bqhg0MOl z+G}G;#I~m8;R*YN$OVl3BA@n$ z%EP!HQ%>zLUz`U1>bmqD6z}FR`oqm(^n<&@xSyV)(_7tiiqRJOZzFRv`NFIDNVOEMHjL*#9#->hX(Ys8KZ@7! z7$Q;Aq}UXq{loFFU-wu>nvQQzMuv{>P)249?ssLz;C@#I#gnM(bEc6NgY}Y0_GIew zrI~PlNTuIA-LQthyyc2BGN~TQsoZmEA1sUF&!YG%bo<@ZEHjMvEUL`ELH}$F`}S%b z_thCy<~EI&Q$FqpRCj`Tkv&7-Lvgyz52$iz+HFw)*X@e}*#G7SF#jWB%I3g&uv-q% zT%vg~*dOy_RQui3ET77yfcP6UKC}C_m;*51hkI@s_wSB$X!oK(^7pF076n%IQnZl5 z=V>~wrQ9q&0Uwn|7|PPBsBQ>CWenp9A@ z%`sU1I9@DE?rF68qY!<2l!dmzIGP3YH8`)h31|}3^XwjY@8#|un`5Y7>2`6Iv4h&@ zZnD3I>br*OyOP?^Zpu$(4EFn4(yJxCImQuYrZ z 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 z

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 OYLfbz=fE+M@cMsZiZzh{ literal 0 HcmV?d00001 diff --git a/Plain Craft Launcher 2/Resources/java-wrapper.jar b/Plain Craft Launcher 2/Resources/java-wrapper.jar index bd14bd6aafdde3625f2850b9a2c6e2df3997aa78..9ab92b2c6769ae1e4713f757705ac360fe45a42d 100644 GIT binary patch delta 11395 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 L0>Z`j&)$CkY&YGz delta 10822 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 X|8)xu^UqqOzt1m7Ft8ime`fy$aU0)7