This commit is contained in:
LTCat
2026-08-06 22:30:13 +08:00
parent 7fb6e5d68e
commit 0ce35fe7e5
17 changed files with 167 additions and 151 deletions
@@ -11,6 +11,7 @@ Public Module ModDownloadLib
Dim VersionFolder As String = McFolderSelected & "versions\" & InstanceName & "\"
Dim Loaders As New List(Of LoaderBase)
Dim NewInstance As McInstance = Nothing
'下载版本 Json 文件
If JsonUrl Is Nothing Then
@@ -23,14 +24,19 @@ Public Module ModDownloadLib
Loaders.Add(New LoaderDownload(McDownloadClientJsonName, New List(Of NetFile) From {
New NetFile(DlSourceLauncherOrMetaGet(If(JsonUrl, "")), VersionFolder & InstanceName & ".json", New FileChecker With {.IsJson = True})
}) With {.ProgressWeight = 3})
'读取 Json 文件并创建实例
Loaders.Add(New LoaderTask(Of String, String)("读取 json 文件",
Sub(Task As LoaderTask(Of String, String))
NewInstance = New McInstance(VersionFolder)
NewInstance.Load()
End Sub) With {.ProgressWeight = 0, .Show = False})
'下载支持库文件
Dim LoadersLib As New List(Of LoaderBase)
LoadersLib.Add(New LoaderTask(Of String, List(Of NetFile))("分析原版支持库文件(副加载器)",
Sub(Task As LoaderTask(Of String, List(Of NetFile)))
Thread.Sleep(50) '等待 JSON 文件实际写入硬盘(#3710)
Logger.Info($"开始分析原版支持库文件:{VersionFolder}")
Task.Output = McLibNetFilesFromInstance(New McInstance(VersionFolder))
Task.Output = McLibNetFilesFromInstance(NewInstance)
End Sub) With {.ProgressWeight = 1, .Show = False})
LoadersLib.Add(New LoaderDownload("下载原版支持库文件(副加载器)", New List(Of NetFile)) With {.ProgressWeight = 13, .Show = False})
Loaders.Add(New LoaderCombo(Of String)(McDownloadClientLibName, LoadersLib) With {.Block = False, .ProgressWeight = 14})
@@ -40,7 +46,7 @@ Public Module ModDownloadLib
LoadersAssets.Add(New LoaderTask(Of String, List(Of NetFile))("分析资源文件索引地址(副加载器)",
Sub(Task As LoaderTask(Of String, List(Of NetFile)))
Try
Dim AssetIndex = DlClientAssetIndexGet(New McInstance(VersionFolder))
Dim AssetIndex = DlClientAssetIndexGet(NewInstance)
Task.Output = If(AssetIndex Is Nothing, New List(Of NetFile), New List(Of NetFile) From {AssetIndex})
Catch ex As Exception
Throw New Exception("分析资源文件索引地址失败", ex)
@@ -56,7 +62,7 @@ Public Module ModDownloadLib
End Sub) With {.ProgressWeight = 1, .Show = False})
LoadersAssets.Add(New LoaderDownload("下载资源文件索引(副加载器)", New List(Of NetFile)) With {.ProgressWeight = 3, .Show = False})
LoadersAssets.Add(New LoaderTask(Of String, List(Of NetFile))("分析所需资源文件(副加载器)",
Sub(Task) Task.Output = McAssetsFixList(New McInstance(VersionFolder), True, Task)) With {.ProgressWeight = 0.01, .Show = False})
Sub(Task) Task.Output = McAssetsFixList(NewInstance, True, Task)) With {.ProgressWeight = 0.01, .Show = False})
LoadersAssets.Add(New LoaderDownload("下载资源文件(副加载器)", New List(Of NetFile)) With {.ProgressWeight = 14, .Show = False})
Loaders.Add(New LoaderCombo(Of String)("下载原版资源文件", LoadersAssets) With {.Block = False, .ProgressWeight = 18})
@@ -307,7 +307,7 @@ Public Class PageInstanceOverall
Dim IsShiftPressed As Boolean = My.Computer.Keyboard.ShiftKeyDown
Dim IsHintIndie As Boolean = PageInstanceLeft.Instance.State <> McInstanceState.Error AndAlso PageInstanceLeft.Instance.PathIndie <> McFolderSelected
Dim SavesFolder = DirectoryUtils.GetInfo(PageInstanceLeft.Instance.PathIndie & "saves\")
Dim SaveEntries = If(SavesFolder.Exists, SavesFolder.EnumerateDirectories.OrderByDescending(Function(Save) Save.LastWriteTime).Select(Function(Save) $"{Save.Name}(上次修改:{StringUtils.FormatTimeSpan(Save.LastWriteTime - Date.Now, False)})").ToList, New List(Of String))
Dim SaveEntries = If(IsHintIndie AndAlso SavesFolder.Exists, SavesFolder.EnumerateDirectories.OrderByDescending(Function(Save) Save.LastWriteTime).Select(Function(Save) $"{Save.Name}(上次修改:{StringUtils.FormatTimeSpan(Save.LastWriteTime - Date.Now, False)})").ToList, New List(Of String))
Select Case MyMsgBox($"你确定要{If(IsShiftPressed, "永久", "")}删除版本 {PageInstanceLeft.Instance.Name} 吗?" &
If(IsHintIndie, vbCrLf & "该版本对应的存档、资源包、Mod 等文件也将被一并删除!" &
If(SaveEntries.Any, vbCrLf & vbCrLf & "这会删除以下存档:" & vbCrLf & "· " & SaveEntries.Join(vbCrLf & "· "), ""), ""),
@@ -134,8 +134,10 @@
<WrapPanel Margin="0,0,0,10">␍ <TextBlock Margin="0,1.5,6,0" Text="L" />
<TextBlock Margin="0,1.5,6,0" Text="Z" />
<TextBlock Margin="0,1.5,6,0" Text="N" />
<TextBlock Margin="0,1.5,6,0" Text="P." />
<TextBlock Margin="0,1.5,6,0" Text="...:" />
<TextBlock Margin="0,1.5,6,0" Text="妖" />
<TextBlock Margin="0,1.5,6,0" Text="FL" />
<TextBlock Margin="0,1.5,6,0" Text="萧" />
<TextBlock Margin="0,1.5,6,0" Text="乔" />
<TextBlock Margin="0,1.5,6,0" Text="cc" />
@@ -150,6 +152,7 @@
<TextBlock Margin="0,1.5,6,0" Text="33" />
<TextBlock Margin="0,1.5,6,0" Text="kk" />
<TextBlock Margin="0,1.5,6,0" Text="jjb" />
<TextBlock Margin="0,1.5,6,0" Text="狮." />
<TextBlock Margin="0,1.5,6,0" Text="+1" />
<TextBlock Margin="0,1.5,6,0" Text="Iirs" />
<TextBlock Margin="0,1.5,6,0" Text="Lio" />
@@ -158,16 +161,22 @@
<TextBlock Margin="0,1.5,6,0" Text="Sht" />
<TextBlock Margin="0,1.5,6,0" Text="Nul" />
<TextBlock Margin="0,1.5,6,0" Text="250" />
<TextBlock Margin="0,1.5,6,0" Text="Life" />
<TextBlock Margin="0,1.5,6,0" Text="kile" />
<TextBlock Margin="0,1.5,6,0" Text="pbc" />
<TextBlock Margin="0,1.5,6,0" Text="Aya" />
<TextBlock Margin="0,1.5,6,0" Text="mjp" />
<TextBlock Margin="0,1.5,6,0" Text="azzt" />
<TextBlock Margin="0,1.5,6,0" Text="小小" />
<TextBlock Margin="0,1.5,6,0" Text="冒子" />
<TextBlock Margin="0,1.5,6,0" Text="王道" />
<TextBlock Margin="0,1.5,6,0" Text="鸡人" />
<TextBlock Margin="0,1.5,6,0" Text="喵根" />
<TextBlock Margin="0,1.5,6,0" Text="折花" />
<TextBlock Margin="0,1.5,6,0" Text="归墟" />
<TextBlock Margin="0,1.5,6,0" Text="墨渊" />
<TextBlock Margin="0,1.5,6,0" Text="键来" />
<TextBlock Margin="0,1.5,6,0" Text="睚眦" />
<TextBlock Margin="0,1.5,6,0" Text="而后" />
<TextBlock Margin="0,1.5,6,0" Text="南安" />
<TextBlock Margin="0,1.5,6,0" Text="曰久" />
@@ -213,7 +222,21 @@
<TextBlock Margin="0,1.5,6,0" Text="哈哈" />
<TextBlock Margin="0,1.5,6,0" Text="小洛" />
<TextBlock Margin="0,1.5,6,0" Text="璃辰" />
<TextBlock Margin="0,1.5,6,0" Text="茉莉" />
<TextBlock Margin="0,1.5,6,0" Text="旅人" />
<TextBlock Margin="0,1.5,6,0" Text="航卡" />
<TextBlock Margin="0,1.5,6,0" Text="班总" />
<TextBlock Margin="0,1.5,6,0" Text="小圆" />
<TextBlock Margin="0,1.5,6,0" Text="梨子" />
<TextBlock Margin="0,1.5,6,0" Text="风?" />
<TextBlock Margin="0,1.5,6,0" Text="瓜瓜" />
<TextBlock Margin="0,1.5,6,0" Text="阳光" />
<TextBlock Margin="0,1.5,6,0" Text="菜菜" />
<TextBlock Margin="0,1.5,6,0" Text="副连" />
<TextBlock Margin="0,1.5,6,0" Text="如舟" />
<TextBlock Margin="0,1.5,6,0" Text="bow" />
<TextBlock Margin="0,1.5,6,0" Text="Byet" />
<TextBlock Margin="0,1.5,6,0" Text="Kian" />
<TextBlock Margin="0,1.5,6,0" Text="ZDD" />
<TextBlock Margin="0,1.5,6,0" Text="Um1" />
<TextBlock Margin="0,1.5,6,0" Text="2514" />
@@ -224,21 +247,26 @@
<TextBlock Margin="0,1.5,6,0" Text="joker" />
<TextBlock Margin="0,1.5,6,0" Text="RXZY" />
<TextBlock Margin="0,1.5,6,0" Text="白成y" />
<TextBlock Margin="0,1.5,6,0" Text="mww" />
<TextBlock Margin="0,1.5,6,0" Text="Rofni" />
<TextBlock Margin="0,1.5,6,0" Text="mzqc" />
<TextBlock Margin="0,1.5,6,0" Text="jason" />
<TextBlock Margin="0,1.5,6,0" Text="youzi" />
<TextBlock Margin="0,1.5,6,0" Text="xxlzta" />
<TextBlock Margin="0,1.5,6,0" Text="end_x" />
<TextBlock Margin="0,1.5,6,0" Text="QWYJ" />
<TextBlock Margin="0,1.5,6,0" Text="qwqw" />
<TextBlock Margin="0,1.5,6,0" Text="Angel" />
<TextBlock Margin="0,1.5,6,0" Text="15041" />
<TextBlock Margin="0,1.5,6,0" Text="晓空er" />
<TextBlock Margin="0,1.5,6,0" Text="kaoyu" />
<TextBlock Margin="0,1.5,6,0" Text="肥富帅" />
<TextBlock Margin="0,1.5,6,0" Text="小王子" />
<TextBlock Margin="0,1.5,6,0" Text="狐狸涩" />
<TextBlock Margin="0,1.5,6,0" Text="大涡流" />
<TextBlock Margin="0,1.5,6,0" Text="无名氏" />
<TextBlock Margin="0,1.5,6,0" Text="紫风狐" />
<TextBlock Margin="0,1.5,6,0" Text="杨巨焕" />
<TextBlock Margin="0,1.5,6,0" Text="范桂圆" />
<TextBlock Margin="0,1.5,6,0" Text="芸芸云" />
<TextBlock Margin="0,1.5,6,0" Text="快夏波" />
@@ -255,6 +283,7 @@
<TextBlock Margin="0,1.5,6,0" Text="乐永昶" />
<TextBlock Margin="0,1.5,6,0" Text="lingke" />
<TextBlock Margin="0,1.5,6,0" Text="东雪莲" />
<TextBlock Margin="0,1.5,6,0" Text="殷疯子" />
<TextBlock Margin="0,1.5,6,0" Text="伊文斯" />
<TextBlock Margin="0,1.5,6,0" Text="丁乙恒" />
<TextBlock Margin="0,1.5,6,0" Text="朔望月" />
@@ -273,12 +302,22 @@
<TextBlock Margin="0,1.5,6,0" Text="浮千傀" />
<TextBlock Margin="0,1.5,6,0" Text="恰啦啦" />
<TextBlock Margin="0,1.5,6,0" Text="梦痕丿" />
<TextBlock Margin="0,1.5,6,0" Text="三叶铭" />
<TextBlock Margin="0,1.5,6,0" Text="卿姬昉" />
<TextBlock Margin="0,1.5,6,0" Text="疯一回" />
<TextBlock Margin="0,1.5,6,0" Text="李困困" />
<TextBlock Margin="0,1.5,6,0" Text="厄尔萨" />
<TextBlock Margin="0,1.5,6,0" Text="伏拉夫" />
<TextBlock Margin="0,1.5,6,0" Text="α-蒎烯" />
<TextBlock Margin="0,1.5,6,0" Text="你的JK" />
<TextBlock Margin="0,1.5,6,0" Text="jiujinh" />
<TextBlock Margin="0,1.5,6,0" Text="慕qwq" />
<TextBlock Margin="0,1.5,6,0" Text="Twicat" />
<TextBlock Margin="0,1.5,6,0" Text="stenac" />
<TextBlock Margin="0,1.5,6,0" Text="JOKER" />
<TextBlock Margin="0,1.5,6,0" Text="半日谣." />
<TextBlock Margin="0,1.5,6,0" Text="EX星辞" />
<TextBlock Margin="0,1.5,6,0" Text="Tefrish" />
<TextBlock Margin="0,1.5,6,0" Text="Triple9" />
<TextBlock Margin="0,1.5,6,0" Text="gediao" />
<TextBlock Margin="0,1.5,6,0" Text="Zen1th" />
@@ -292,12 +331,18 @@
<TextBlock Margin="0,1.5,6,0" Text="Yi_xuan" />
<TextBlock Margin="0,1.5,6,0" Text="MC芬达" />
<TextBlock Margin="0,1.5,6,0" Text="shallow" />
<TextBlock Margin="0,1.5,6,0" Text="ETL蓝夢" />
<TextBlock Margin="0,1.5,6,0" Text="𝕳轩辕氏" />
<TextBlock Margin="0,1.5,6,0" Text="谜茶360" />
<TextBlock Margin="0,1.5,6,0" Text="颜沐Jun" />
<TextBlock Margin="0,1.5,6,0" Text="CS2七松" />
<TextBlock Margin="0,1.5,6,0" Text="Eventful" />
<TextBlock Margin="0,1.5,6,0" Text="Molioos" />
<TextBlock Margin="0,1.5,6,0" Text="logicum" />
<TextBlock Margin="0,1.5,6,0" Text="Mr_loba" />
<TextBlock Margin="0,1.5,6,0" Text="一叶知秋" />
<TextBlock Margin="0,1.5,6,0" Text="我妻狗卷" />
<TextBlock Margin="0,1.5,6,0" Text="御神凌霜" />
<TextBlock Margin="0,1.5,6,0" Text="狼烟居士" />
<TextBlock Margin="0,1.5,6,0" Text="千风伶羽" />
<TextBlock Margin="0,1.5,6,0" Text="mumiao" />
@@ -332,11 +377,16 @@
<TextBlock Margin="0,1.5,6,0" Text="春山如笑" />
<TextBlock Margin="0,1.5,6,0" Text="幻天阿绝" />
<TextBlock Margin="0,1.5,6,0" Text="忘道蜂枫" />
<TextBlock Margin="0,1.5,6,0" Text="深海无渊" />
<TextBlock Margin="0,1.5,6,0" Text="心软的神" />
<TextBlock Margin="0,1.5,6,0" Text="砂锅豆腐" />
<TextBlock Margin="0,1.5,6,0" Text="好人好逝" />
<TextBlock Margin="0,1.5,6,0" Text="登峰破晓" />
<TextBlock Margin="0,1.5,6,0" Text="东隅未殁" />
<TextBlock Margin="0,1.5,6,0" Text="星花银影" />
<TextBlock Margin="0,1.5,6,0" Text="往事如昔" />
<TextBlock Margin="0,1.5,6,0" Text="林克之空" />
<TextBlock Margin="0,1.5,6,0" Text="0X00001" />
<TextBlock Margin="0,1.5,6,0" Text="MuMAA" />
<TextBlock Margin="0,1.5,6,0" Text="溯枫qwq" />
<TextBlock Margin="0,1.5,6,0" Text="Tacenda" />
@@ -344,6 +394,7 @@
<TextBlock Margin="0,1.5,6,0" Text="👁👄👃" />
<TextBlock Margin="0,1.5,6,0" Text="秋慕owo" />
<TextBlock Margin="0,1.5,6,0" Text="船长Yuki" />
<TextBlock Margin="0,1.5,6,0" Text="HIMEKO" />
<TextBlock Margin="0,1.5,6,0" Text="是小61呀" />
<TextBlock Margin="0,1.5,6,0" Text="47号虾球" />
<TextBlock Margin="0,1.5,6,0" Text="Alancnel" />
@@ -360,6 +411,7 @@
<TextBlock Margin="0,1.5,6,0" Text="MselQAQ" />
<TextBlock Margin="0,1.5,6,0" Text="UZQueen" />
<TextBlock Margin="0,1.5,6,0" Text="hihospital" />
<TextBlock Margin="0,1.5,6,0" Text="cutegirl3k" />
<TextBlock Margin="0,1.5,6,0" Text="Prifo_lone" />
<TextBlock Margin="0,1.5,6,0" Text="有....暗星!" />
<TextBlock Margin="0,1.5,6,0" Text="Hitsser 1.0" />
@@ -382,11 +434,13 @@
<TextBlock Margin="0,1.5,6,0" Text="离人如飘萍" />
<TextBlock Margin="0,1.5,6,0" Text="秋葉逐殘夏" />
<TextBlock Margin="0,1.5,6,0" Text="水星有海吗" />
<TextBlock Margin="0,1.5,6,0" Text="吃饱爱睡觉" />
<TextBlock Margin="0,1.5,6,0" Text="ac纯萌新cy" />
<TextBlock Margin="0,1.5,6,0" Text="岁月suiyue" />
<TextBlock Margin="0,1.5,6,0" Text="陌然MajorC" />
<TextBlock Margin="0,1.5,6,0" Text="-Pareidolia." />
<TextBlock Margin="0,1.5,6,0" Text="蛙蛙大王Kzr" />
<TextBlock Margin="0,1.5,6,0" Text="Aurorawalk" />
<TextBlock Margin="0,1.5,6,0" Text="Yhcmdbfwz" />
<TextBlock Margin="0,1.5,6,0" Text="Ayers赜蠹嬭" />
<TextBlock Margin="0,1.5,6,0" Text="We1J1uSh1" />
@@ -405,6 +459,7 @@
<TextBlock Margin="0,1.5,6,0" Text="小田love白子" />
<TextBlock Margin="0,1.5,6,0" Text="Sasha_Xiong" />
<TextBlock Margin="0,1.5,6,0" Text="赤狸_crisnow" />
<TextBlock Margin="0,1.5,6,0" Text="dorod月gour" />
<TextBlock Margin="0,1.5,6,0" Text="Name0emaN" />
<TextBlock Margin="0,1.5,6,0" Text="happypickles" />
<TextBlock Margin="0,1.5,6,0" Text="无中生有为dd" />
@@ -439,13 +494,17 @@
<TextBlock Margin="0,1.5,6,0" Text="没什么名字好取" />
<TextBlock Margin="0,1.5,6,0" Text="Wanderer5147" />
<TextBlock Margin="0,1.5,6,0" Text="取个名字耗阳寿" />
<TextBlock Margin="0,1.5,6,0" Text="北熊何时与狼行" />
<TextBlock Margin="0,1.5,6,0" Text="向着有风的地方" />
<TextBlock Margin="0,1.5,6,0" Text="AAA神秘人批发" />
<TextBlock Margin="0,1.5,6,0" Text="Bangbang2025" />
<TextBlock Margin="0,1.5,6,0" Text="贝吉蒙Begimon" />
<TextBlock Margin="0,1.5,6,0" Text="取个名字真难0.0" />
<TextBlock Margin="0,1.5,6,0" Text="NoTuring_Steve" />
<TextBlock Margin="0,1.5,6,0" Text="VividerCafe2379" />
<TextBlock Margin="0,1.5,6,0" Text="冰冰watermelon" />
<TextBlock Margin="0,1.5,6,0" Text="DOODOODOOD" />
<TextBlock Margin="0,1.5,6,0" Text="怕做苦力的苦力怕" />
<TextBlock Margin="0,1.5,6,0" Text="小句号就是小句号" />
<TextBlock Margin="0,1.5,6,0" Text="弹跳爆炸小鱼珠🐟" />
<TextBlock Margin="0,1.5,6,0" Text="Xanadu Silk Fable" />
@@ -186,7 +186,7 @@ Public Class PageSelectRight
Dim IsShiftPressed As Boolean = My.Computer.Keyboard.ShiftKeyDown
Dim IsHintIndie As Boolean = Instance.State <> McInstanceState.Error AndAlso Instance.PathIndie <> McFolderSelected
Dim SavesFolder = DirectoryUtils.GetInfo(Instance.PathIndie & "saves\")
Dim SaveEntries = If(SavesFolder.Exists, SavesFolder.EnumerateDirectories.OrderByDescending(Function(Save) Save.LastWriteTime).Select(Function(Save) $"{Save.Name}(上次修改:{StringUtils.FormatTimeSpan(Save.LastWriteTime - Date.Now, False)})").ToList, New List(Of String))
Dim SaveEntries = If(IsHintIndie AndAlso SavesFolder.Exists, SavesFolder.EnumerateDirectories.OrderByDescending(Function(Save) Save.LastWriteTime).Select(Function(Save) $"{Save.Name}(上次修改:{StringUtils.FormatTimeSpan(Save.LastWriteTime - Date.Now, False)})").ToList, New List(Of String))
Select Case MyMsgBox($"你确定要{If(IsShiftPressed, "永久", "")}删除版本 {Instance.Name} 吗?" &
If(IsHintIndie, vbCrLf & "该版本对应的存档、资源包、Mod 等文件也将被一并删除!", "") &
If(SaveEntries.Any, vbCrLf & vbCrLf & "这会删除以下存档:" & vbCrLf & "· " & SaveEntries.Join(vbCrLf & "· "), ""),