2.9.1
This commit is contained in:
@@ -87,6 +87,7 @@ Public Module ModDownloadLib
|
||||
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)
|
||||
Log("[Download] 开始分析原版支持库文件:" & VersionFolder)
|
||||
Task.Output = McLibFix(New McVersion(VersionFolder))
|
||||
End Sub) With {.ProgressWeight = 1, .Show = False})
|
||||
@@ -271,7 +272,7 @@ pause"
|
||||
Loaders.Add(New LoaderDownload("下载服务端文件", New List(Of NetFile)) With {.ProgressWeight = 5})
|
||||
|
||||
'启动
|
||||
Dim Loader As New LoaderCombo(Of String)("Minecraft " & Id & " 服务端下载", Loaders) With {.OnStateChanged = AddressOf DownloadStateSave}
|
||||
Dim Loader As New LoaderCombo(Of String)("Minecraft " & Id & " 服务端下载", Loaders) With {.OnStateChanged = AddressOf LoaderStateChangedHintOnly}
|
||||
Loader.Start(Id)
|
||||
LoaderTaskbarAdd(Loader)
|
||||
FrmMain.BtnExtraDownload.ShowRefresh()
|
||||
@@ -316,7 +317,7 @@ pause"
|
||||
Loaders.Add(New LoaderDownload("下载核心 JAR 文件", New List(Of NetFile)) With {.ProgressWeight = 5})
|
||||
|
||||
'启动
|
||||
Dim Loader As New LoaderCombo(Of String)("Minecraft " & Id & " 下载", Loaders) With {.OnStateChanged = AddressOf DownloadStateSave}
|
||||
Dim Loader As New LoaderCombo(Of String)("Minecraft " & Id & " 下载", Loaders) With {.OnStateChanged = AddressOf LoaderStateChangedHintOnly}
|
||||
Loader.Start(Id)
|
||||
LoaderTaskbarAdd(Loader)
|
||||
FrmMain.BtnExtraDownload.ShowRefresh()
|
||||
@@ -394,7 +395,7 @@ pause"
|
||||
Private Sub McDownloadOptiFineSave(DownloadInfo As DlOptiFineListEntry)
|
||||
Try
|
||||
Dim Id As String = DownloadInfo.NameVersion
|
||||
Dim Target As String = SelectAs("选择保存位置", DownloadInfo.NameFile, "OptiFine Jar (*.jar)|*.jar")
|
||||
Dim Target As String = SelectSaveFile("选择保存位置", DownloadInfo.NameFile, "OptiFine Jar (*.jar)|*.jar")
|
||||
If Not Target.Contains("\") Then Exit Sub
|
||||
|
||||
'重复任务检查
|
||||
@@ -404,7 +405,7 @@ pause"
|
||||
Exit Sub
|
||||
Next
|
||||
|
||||
Dim Loader As New LoaderCombo(Of DlOptiFineListEntry)("OptiFine " & DownloadInfo.NameDisplay & " 下载", McDownloadOptiFineSaveLoader(DownloadInfo, Target)) With {.OnStateChanged = AddressOf DownloadStateSave}
|
||||
Dim Loader As New LoaderCombo(Of DlOptiFineListEntry)("OptiFine " & DownloadInfo.NameDisplay & " 下载", McDownloadOptiFineSaveLoader(DownloadInfo, Target)) With {.OnStateChanged = AddressOf LoaderStateChangedHintOnly}
|
||||
Loader.Start(DownloadInfo)
|
||||
LoaderTaskbarAdd(Loader)
|
||||
FrmMain.BtnExtraDownload.ShowRefresh()
|
||||
@@ -454,7 +455,7 @@ pause"
|
||||
.CreateNoWindow = True,
|
||||
.RedirectStandardError = True,
|
||||
.RedirectStandardOutput = True,
|
||||
.WorkingDirectory = BaseMcFolderHome
|
||||
.WorkingDirectory = ShortenPath(BaseMcFolderHome)
|
||||
}
|
||||
If Info.EnvironmentVariables.ContainsKey("appdata") Then
|
||||
Info.EnvironmentVariables("appdata") = BaseMcFolderHome
|
||||
@@ -857,7 +858,7 @@ Retry:
|
||||
Private Sub McDownloadLiteLoaderSave(DownloadInfo As DlLiteLoaderListEntry)
|
||||
Try
|
||||
Dim Id As String = DownloadInfo.Inherit
|
||||
Dim Target As String = SelectAs("选择保存位置", DownloadInfo.FileName.Replace("-SNAPSHOT", ""), "LiteLoader 安装器 (*.jar)|*.jar")
|
||||
Dim Target As String = SelectSaveFile("选择保存位置", DownloadInfo.FileName.Replace("-SNAPSHOT", ""), "LiteLoader 安装器 (*.jar)|*.jar")
|
||||
If Not Target.Contains("\") Then Exit Sub
|
||||
|
||||
'重复任务检查
|
||||
@@ -893,7 +894,7 @@ Retry:
|
||||
End If
|
||||
Loaders.Add(New LoaderDownload("下载主文件", New List(Of NetFile) From {New NetFile(Address.ToArray, Target, New FileChecker(MinSize:=1024 * 1024))}) With {.ProgressWeight = 15})
|
||||
'启动
|
||||
Dim Loader As New LoaderCombo(Of DlLiteLoaderListEntry)("LiteLoader " & Id & " 安装器下载", Loaders) With {.OnStateChanged = AddressOf DownloadStateSave}
|
||||
Dim Loader As New LoaderCombo(Of DlLiteLoaderListEntry)("LiteLoader " & Id & " 安装器下载", Loaders) With {.OnStateChanged = AddressOf LoaderStateChangedHintOnly}
|
||||
Loader.Start(DownloadInfo)
|
||||
LoaderTaskbarAdd(Loader)
|
||||
FrmMain.BtnExtraDownload.ShowRefresh()
|
||||
@@ -1037,7 +1038,7 @@ Retry:
|
||||
|
||||
Public Sub McDownloadForgelikeSave(Info As DlForgelikeEntry)
|
||||
Try
|
||||
Dim Target As String = SelectAs("选择保存位置", $"{Info.LoaderName}-{Info.Inherit}-{Info.VersionName}.{Info.FileExtension}",
|
||||
Dim Target As String = SelectSaveFile("选择保存位置", $"{Info.LoaderName}-{Info.Inherit}-{Info.VersionName}.{Info.FileExtension}",
|
||||
$"{Info.LoaderName} 安装器 (*.{Info.FileExtension})|*.{Info.FileExtension}")
|
||||
Dim DisplayName As String = $"{Info.LoaderName} {Info.Inherit} - {Info.VersionName}"
|
||||
If Not Target.Contains("\") Then Exit Sub
|
||||
@@ -1072,7 +1073,7 @@ Retry:
|
||||
Loaders.Add(New LoaderDownload("下载主文件", Files) With {.ProgressWeight = 6})
|
||||
|
||||
'启动
|
||||
Dim Loader = New LoaderCombo(Of DlForgelikeEntry)(DisplayName & " 下载", Loaders) With {.OnStateChanged = AddressOf DownloadStateSave}
|
||||
Dim Loader = New LoaderCombo(Of DlForgelikeEntry)(DisplayName & " 下载", Loaders) With {.OnStateChanged = AddressOf LoaderStateChangedHintOnly}
|
||||
Loader.Start(Info)
|
||||
LoaderTaskbarAdd(Loader)
|
||||
FrmMain.BtnExtraDownload.ShowRefresh()
|
||||
@@ -1339,7 +1340,7 @@ Retry:
|
||||
If Json("data") IsNot Nothing AndAlso Json("data")("MOJMAPS") IsNot Nothing Then
|
||||
'下载原版 Json 文件
|
||||
Task.Progress = 0.4
|
||||
Dim RawJson As JObject = GetJson(NetGetCodeByDownload(DlSourceLauncherOrMetaGet(DlClientListGet(Inherit)), IsJson:=True))
|
||||
Dim RawJson As JObject = GetJson(NetGetCodeByLoader(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,7 +1642,7 @@ Retry:
|
||||
RunInNewThread(Sub()
|
||||
Try
|
||||
Log("[Download] 刷新 Forge 推荐版本缓存开始")
|
||||
Dim Result As String = NetGetCodeByDownload("https://bmclapi2.bangbang93.com/forge/promos")
|
||||
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)
|
||||
'获取所有推荐版本列表
|
||||
@@ -1789,7 +1790,7 @@ Retry:
|
||||
Dim Url As String = DownloadInfo("url").ToString
|
||||
Dim FileName As String = GetFileNameFromPath(Url)
|
||||
Dim Version As String = GetFileNameFromPath(DownloadInfo("version").ToString)
|
||||
Dim Target As String = SelectAs("选择保存位置", FileName, "Fabric 安装器 (*.jar)|*.jar")
|
||||
Dim Target As String = SelectSaveFile("选择保存位置", FileName, "Fabric 安装器 (*.jar)|*.jar")
|
||||
If Not Target.Contains("\") Then Exit Sub
|
||||
|
||||
'重复任务检查
|
||||
@@ -1807,7 +1808,7 @@ Retry:
|
||||
Address.Add(Url)
|
||||
Loaders.Add(New LoaderDownload("下载主文件", New List(Of NetFile) From {New NetFile(Address.ToArray, Target, New FileChecker(MinSize:=1024 * 64))}) With {.ProgressWeight = 15})
|
||||
'启动
|
||||
Dim Loader As New LoaderCombo(Of JObject)("Fabric " & Version & " 安装器下载", Loaders) With {.OnStateChanged = AddressOf DownloadStateSave}
|
||||
Dim Loader As New LoaderCombo(Of JObject)("Fabric " & Version & " 安装器下载", Loaders) With {.OnStateChanged = AddressOf LoaderStateChangedHintOnly}
|
||||
Loader.Start(DownloadInfo)
|
||||
LoaderTaskbarAdd(Loader)
|
||||
FrmMain.BtnExtraDownload.ShowRefresh()
|
||||
@@ -1974,6 +1975,20 @@ Retry:
|
||||
|
||||
End Class
|
||||
|
||||
''' <summary>
|
||||
''' 在加载器状态改变后显示一条提示。
|
||||
''' 不会进行任何其他操作。
|
||||
''' </summary>
|
||||
Public Sub LoaderStateChangedHintOnly(Loader)
|
||||
Select Case Loader.State
|
||||
Case LoadState.Finished
|
||||
Hint(Loader.Name & "成功!", HintType.Finish)
|
||||
Case LoadState.Failed
|
||||
Hint(Loader.Name & "失败:" & GetExceptionSummary(Loader.Error), HintType.Critical)
|
||||
Case LoadState.Aborted
|
||||
Hint(Loader.Name & "已取消!", HintType.Info)
|
||||
End Select
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' 安装加载器状态改变后进行提示和重载文件夹列表的方法。
|
||||
''' </summary>
|
||||
@@ -1992,21 +2007,6 @@ Retry:
|
||||
McInstallFailedClearFolder(Loader)
|
||||
LoaderFolderRun(McVersionListLoader, PathMcFolder, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\")
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' 安装加载器状态改变后进行提示的方法。它不会在失败时删除文件夹,也不会刷新 MC 文件夹。
|
||||
''' </summary>
|
||||
Public Sub DownloadStateSave(Loader)
|
||||
Select Case Loader.State
|
||||
Case LoadState.Finished
|
||||
Hint(Loader.Name & "成功!", HintType.Finish)
|
||||
Case LoadState.Failed
|
||||
Hint(Loader.Name & "失败:" & GetExceptionSummary(Loader.Error), HintType.Critical)
|
||||
Case LoadState.Aborted
|
||||
Hint(Loader.Name & "已取消!", HintType.Info)
|
||||
Case LoadState.Loading
|
||||
Exit Sub '不重新加载版本列表
|
||||
End Select
|
||||
End Sub
|
||||
Public Sub McInstallFailedClearFolder(Loader)
|
||||
Try
|
||||
Thread.Sleep(1000) '防止存在尚未完全释放的文件,导致清理失败(例如整合包安装)
|
||||
@@ -2053,26 +2053,12 @@ Retry:
|
||||
''' <exception cref="CancelledException" />
|
||||
Public Function McInstallLoader(Request As McInstallRequest, Optional DontFixLibraries As Boolean = False) As List(Of LoaderBase)
|
||||
'获取缓存目录
|
||||
Dim PathInstallTemp As String
|
||||
If PathTemp.Contains(" ") AndAlso (Request.OptiFineEntry IsNot Nothing OrElse Request.ForgeEntry IsNot Nothing OrElse Request.NeoForgeEntry IsNot Nothing) Then
|
||||
PathInstallTemp = OsDrive & "ProgramData\PCL\Install\"
|
||||
Else
|
||||
PathInstallTemp = PathTemp & "Install\"
|
||||
End If
|
||||
|
||||
'清理缓存
|
||||
Try
|
||||
If IsInstallTempCleared Then Exit Try
|
||||
IsInstallTempCleared = True
|
||||
DeleteDirectory(PathInstallTemp, True)
|
||||
Log("[Download] 已清理合并安装缓存")
|
||||
Catch ex As Exception
|
||||
Log(ex, "清理合并安装缓存失败")
|
||||
End Try
|
||||
Dim TempMcFolder As String = RequestTaskTempFolder(
|
||||
PathTemp.Contains(" ") AndAlso '要求路径不包含空格
|
||||
(Request.OptiFineEntry IsNot Nothing OrElse Request.ForgeEntry IsNot Nothing OrElse Request.NeoForgeEntry IsNot Nothing))
|
||||
|
||||
'获取参数
|
||||
Dim OutputFolder As String = PathMcFolder & "versions\" & Request.TargetVersionName & "\"
|
||||
Dim TempMcFolder As String = PathInstallTemp & Request.TargetVersionName.GetHashCode() & "\"
|
||||
If Directory.Exists(TempMcFolder) Then DeleteDirectory(TempMcFolder)
|
||||
Dim OptiFineFolder As String = Nothing
|
||||
If Request.OptiFineVersion IsNot Nothing Then
|
||||
@@ -2188,7 +2174,6 @@ Retry:
|
||||
'总加载器
|
||||
Return LoaderList
|
||||
End Function
|
||||
Private IsInstallTempCleared As Boolean = False
|
||||
|
||||
''' <summary>
|
||||
''' 将多个版本 Json 进行合并,如果目标已存在则直接覆盖。失败会抛出异常。
|
||||
|
||||
@@ -92,7 +92,6 @@
|
||||
NewButton.LabText.Margin = New Thickness(-2, 0, 8, 0)
|
||||
AddHandler NewButton.Check,
|
||||
Sub(sender As MyRadioButton, raiseByMouse As Boolean)
|
||||
PanScroll.ScrollToHome()
|
||||
VersionFilter = If(sender.Text = "全部", Nothing, sender.Text)
|
||||
UpdateFilterResult()
|
||||
End Sub
|
||||
@@ -379,7 +378,7 @@
|
||||
Sub()
|
||||
'弹窗要求选择保存位置
|
||||
Dim Target As String
|
||||
Target = SelectAs("选择保存位置", FileName,
|
||||
Target = SelectSaveFile("选择保存位置", FileName,
|
||||
Desc & "文件|" &
|
||||
If(Project.Type = CompType.Mod,
|
||||
If(File.FileName.EndsWith(".litemod"), "*.litemod", "*.jar"),
|
||||
@@ -391,7 +390,7 @@
|
||||
Dim Loaders As New List(Of LoaderBase)
|
||||
Loaders.Add(New LoaderDownload("下载文件", New List(Of NetFile) From {File.ToNetFile(Target)}) With {.ProgressWeight = 6, .Block = True})
|
||||
'启动
|
||||
Dim Loader As New LoaderCombo(Of Integer)(LoaderName, Loaders) With {.OnStateChanged = AddressOf DownloadStateSave}
|
||||
Dim Loader As New LoaderCombo(Of Integer)(LoaderName, Loaders) With {.OnStateChanged = AddressOf LoaderStateChangedHintOnly}
|
||||
Loader.Start(1)
|
||||
LoaderTaskbarAdd(Loader)
|
||||
FrmMain.BtnExtraDownload.ShowRefresh()
|
||||
@@ -410,7 +409,7 @@
|
||||
OpenWebsite("https://www.mcmod.cn/class/" & Project.WikiId & ".html")
|
||||
End Sub
|
||||
Private Sub BtnIntroCopy_Click(sender As Object, e As EventArgs) Handles BtnIntroCopy.Click
|
||||
ClipboardSet(CompItem.LabTitle.Text)
|
||||
ClipboardSet(CompItem.LabTitle.Text & CompItem.LabTitleRaw.Text)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -64,9 +64,11 @@
|
||||
End If
|
||||
|
||||
'如果在选择页面按了刷新键,选择页的东西可能会由于动画被隐藏,但不会由于加载结束而再次显示,因此这里需要手动恢复
|
||||
For Each Card In GetAllAnimControls(PanSelect)
|
||||
Card.Opacity = 1
|
||||
Card.RenderTransform = New TranslateTransform
|
||||
For Each Control In GetAllAnimControls(PanSelect)
|
||||
Control.Opacity = 1
|
||||
If Control.RenderTransform Is Nothing OrElse TypeOf Control.RenderTransform Is TranslateTransform Then
|
||||
Control.RenderTransform = New TranslateTransform
|
||||
End If
|
||||
Next
|
||||
|
||||
'启动 Forge 加载
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
Exit Sub
|
||||
End If
|
||||
Try
|
||||
Dim FileAddress As String = SelectAs("选取保存皮肤的位置", GetFileNameFromPath(Address), "皮肤图片文件(*.png)|*.png")
|
||||
Dim FileAddress As String = SelectSaveFile("选取保存皮肤的位置", GetFileNameFromPath(Address), "皮肤图片文件(*.png)|*.png")
|
||||
If FileAddress.Contains("\") Then
|
||||
File.Delete(FileAddress)
|
||||
If Address.StartsWith(PathImage) Then
|
||||
|
||||
@@ -53,10 +53,10 @@
|
||||
'自动整合包安装
|
||||
If PackInstallPath IsNot Nothing Then
|
||||
Try
|
||||
Dim InstallLoader = ModpackInstall(PackInstallPath, GetFolderNameFromPath(Path))
|
||||
Dim InstallLoader = ModpackInstall(PackInstallPath)
|
||||
Log("[Launch] 自动安装整合包已开始:" & PackInstallPath)
|
||||
InstallLoader.WaitForExit()
|
||||
If InstallLoader.State = LoadState.Finished Then
|
||||
If InstallLoader.State = LoadState.Finished AndAlso File.Exists(PackInstallPath) Then
|
||||
Log("[Launch] 自动安装整合包成功,删除安装包:" & PackInstallPath)
|
||||
File.Delete(PackInstallPath)
|
||||
End If
|
||||
|
||||
@@ -234,7 +234,7 @@ Download:
|
||||
PanCustom.Children.Add(GetObjectFromXML(Content))
|
||||
Catch ex As Exception
|
||||
Log("[Page] 加载失败的自定义主页内容:" & vbCrLf & Content)
|
||||
If MyMsgBox($"自定义主页内容编写有误,请根据下列错误信息进行检查:{vbCrLf}{ex.Message}", "加载自定义主页失败", "重试", "取消") = 1 Then
|
||||
If MyMsgBox($"自定义主页内容编写有误,请根据下列错误信息进行检查:{vbCrLf}{GetExceptionSummary(ex)}", "加载自定义主页失败", "重试", "取消") = 1 Then
|
||||
GoTo Refresh '防止 SyncLock 死锁
|
||||
End If
|
||||
End Try
|
||||
|
||||
@@ -113,6 +113,7 @@ Retry:
|
||||
'获取新皮肤地址
|
||||
Log("[Skin] 皮肤修改返回值:" & vbCrLf & Result)
|
||||
Dim ResultJson As JObject = GetJson(Result)
|
||||
If ResultJson.ContainsKey("errorMessage") Then Throw New Exception(ResultJson("errorMessage").ToString) '#5309
|
||||
For Each Skin As JObject In ResultJson("skins")
|
||||
If Skin("state").ToString = "ACTIVE" Then
|
||||
MySkin.ReloadCache(Skin("url"))
|
||||
|
||||
@@ -104,120 +104,195 @@
|
||||
</local:MyCard>
|
||||
<local:MyCard Margin="0,0,0,15" Title="赞助者">
|
||||
<StackPanel Margin="25,40,10,20">
|
||||
<TextBlock HorizontalAlignment="Left" Text="以下是 2024 年 12 月的高级赞助者们!感谢各位对 PCL 和伟大的咕咕咕事业的支持!" Margin="0,0,25,5.5" TextTrimming="None" TextWrapping="WrapWithOverflow" />
|
||||
<TextBlock HorizontalAlignment="Left" Text="以下是 2025 年 1 月的高级赞助者们!感谢各位对 PCL 和伟大的咕咕咕事业的支持!" Margin="0,0,25,5.5" TextTrimming="None" TextWrapping="WrapWithOverflow" />
|
||||
<WrapPanel Margin="0,0,0,10">
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="是阿改哦" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="dingyaa1" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="李白" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Xpinger" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="执念" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="张一凡" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="yu" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="quer" />
|
||||
<TextBlock Width="240" Margin="0,1.5" Text="SHALLOW_SUMMER" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="AnLingHai" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="The_Ren" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="阿彪" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="汤圆不胖" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="凑热闹的顶针" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="德凯" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="凌肆玖" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="破星辰只寻你" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="飞猫FlyingCat" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Jethro_Y" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="浩天" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="redston_8788" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="羽毛球awa" />
|
||||
<TextBlock Width="240" Margin="0,1.5" Text="maximum zombie" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="可塔Kita" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="染桐" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="飞蛙" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="团长" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="妙天纸袋君" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="YJL" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="天水" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Anonymism" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="佳明" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="小创世peng" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="炽热的钢铁" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="小邓子" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="QianYirui" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Korica" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="司徒牺痕" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="流萤" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="神愆" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="44379" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="cool" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="白凌" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="弓虽女干亻尔女马" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="是雾霭啊233" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="小豆" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="整天摸鱼的Dx" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="LEVI" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="虚空" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Mako" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="禾鳥" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="MILA_326" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="韩大仙尊" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="僭苏寒" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="福渡恒" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Yu氚" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="限制_limited" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="麦克斯韦妖" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="承挨" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="略略略zbc" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="CYOSK" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Atmoon" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="DBTB" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Bongocat1337" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="AD_AIR" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="KenshenLove" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="晚柠" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="H.Jane" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="tanolin" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="乐高漫画君" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="白起床了" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="ClassicNT" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="土地的誓言" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="nanamik" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="阿宸大大" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="渡边贤人" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="千羽星语" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="喵~" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="路过的没心人" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="牢轮" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Littleduan" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Sta_Rain_Wx" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="大西几" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="阿道" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Smile_Cindy" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Yi_Zhi" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="耿一闲" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="我是露娜的√" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="EagleEye" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Cherry林" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="心海鱼豆腐" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="墨染" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="物流2051 朱叶" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="二月霜" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="祈喵" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="阿斯塔" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="夜长梦梦多" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="汐洺ao" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="塞巴斯蒂安" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="琅山先生" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="123" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Alans1gn" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="迷茫LTQ" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Raveniume" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="D六菌" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="WHITE" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="warmaQwQ" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Haroinfather" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="赫乐瑢音" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="陈坤城" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="史莱姆SAMA" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="ciallp" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="步衷" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="雨沫" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Tabula" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="黑宇" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="awawa" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Yi_Joy" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="津竹捏" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="LinusWu" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="LizTtxs" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="徐正阳" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Nxvblack" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="夏弥·零" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="诗云白" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="danall" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="TySNow_" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="悲戚霜雪" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="GThistle-Frddy" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="INTOMETE." />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="千秋" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="原来这里是四宫啊" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="TianDLG" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="隐”" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="瑶龍龘" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="小小" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="憨憨游云" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="名字要六个字" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="牢大是我" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="伊卡律泽斯" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="stars.夜冰" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="匿名用户" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Fancy" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="唯一白色" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="伊利丹的父亲" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="千星yousa" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Axet." />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Ares" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="ding_i" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="林逝a" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="wihz" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="11034" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="xi0st" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="空无" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Andywyl" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="g~m" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="雁枫" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="YX修行" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="雇佣兵v" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="背着氧气的鱼" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="......." />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="艾因·斯芬克斯" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="威宝" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="真言之归" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="奈斯特" />
|
||||
<TextBlock Width="240" Margin="0,1.5" Text="青春没有售价,扣一复活牢大" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="GuZhuJing" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="情鼠啾啾" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="蛇蛇W" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="蜜汁青柠檬" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="纸先生" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="CLOUD079" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="xiaoioax" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="CH土块警长" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="CHENJUN551" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Ezzo" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="夜抱?吃火炉" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Rn_Og" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="六个芙桃" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="月月月子喵" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Kuang3lian" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="烨芽" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="王ZEAN" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="CCYY" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="19921454753" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="房非缝" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Ashburn" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="绯念" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="PseudoStar" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="符之渡尘" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="singegg" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="白泽麒麟" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="拥抱烟霞不太专心" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="风起" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="白羽" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="所求化如愿" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="小小抱枕" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Horrizen" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="浮光" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="songhy" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="任我被回忆捉弄" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="飘飘ppiao" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="EnerG4" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="tiredl" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="有梦想的罐头" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Hasturnyth" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="犇犇" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="初晴" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="just ugly" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="宇ovo" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="斑马" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="? AXH" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="璃音233" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="凌源羡辰" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="雨巷" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="NoDoors" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="幕若" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="星期六" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="感念" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="凉城uwu" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="栀玖夕夏" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="X11aou" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Bobo_s1" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="玛卡巴卡" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="鸱影" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="一曲明清" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="曹予" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="kk" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="XDDDD" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="梵星" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="梦师A" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="傻傻" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="西柚味儿小猫" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="樱花成雨(烟雨)" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="瑞云生" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="桑什么鸟" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="桂花" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="stone devil" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="乄心" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="渡白" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="鬼鬼" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="菠萝飞走惹" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="陆山君" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="张无忧" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="缄默" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="影铉" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="酸菜鱼鱼" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="哈哈哈嗝" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="鸡逆苔煤" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="许柯" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="ChuaLinyZ" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="墨依小夕" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="柚可喝" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="m1350096708" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="猫南北丶QAQ" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="此时彼刻" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Yukino" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Paveway" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="明月栞那" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="默默无为" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="屑喵" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="枫雪" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="孩子气" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="纳西妲的狗" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Barb" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="小镰刀菌" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="DiceA" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="朴振澈" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="YinYang_SHI" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="网底游鱼" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="xc_xiaoxian" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="playermin" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="祈听神命" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="嘎子" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="柠檬爱恰柠檬水" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="游戏人生" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="Lunaunde" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="UKasumigaoka" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="梦不依" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="绫波丽" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="桃子" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="方村明" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="苏离" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="EnergyBeta" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="邵寒洛" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="雨下雫" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="HoshinoAlice" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="1121" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="1742" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="奥顿" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="LYSGBZL" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="X_Lu" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="细雪" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="虎牙该隐" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="坎儿井窖藏咸鱼" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="ClarkeTAT" />
|
||||
<TextBlock Width="120" Margin="0,1.5" Text="matin" />
|
||||
</WrapPanel>
|
||||
<Grid Height="35">
|
||||
<Grid.ColumnDefinitions>
|
||||
|
||||
@@ -171,6 +171,9 @@
|
||||
Log(ex, "添加文件夹失败(" & NewFolder & ")", LogLevel.Feedback)
|
||||
End Try
|
||||
End Sub
|
||||
''' <summary>
|
||||
''' 将指定文件夹添加到 Minecraft 文件夹列表,并选中它。
|
||||
''' </summary>
|
||||
Public Shared Sub AddFolder(FolderPath As String, DisplayName As String, ShowHint As Boolean)
|
||||
RunInThread(
|
||||
Sub()
|
||||
@@ -328,23 +331,24 @@
|
||||
Next
|
||||
Setup.Set("LaunchFolders", If(Not Folders.Any(), "", Join(Folders.ToArray, "|")))
|
||||
End If
|
||||
RunInNewThread(Sub()
|
||||
'删除文件夹
|
||||
Try
|
||||
Hint("正在" & DeleteText & "文件夹 " & Folder.Name & "!", HintType.Info)
|
||||
DeleteDirectory(Folder.Path)
|
||||
If DeleteText = "清空" Then Directory.CreateDirectory(Folder.Path)
|
||||
Hint("已" & DeleteText & "文件夹 " & Folder.Name & "!", HintType.Finish)
|
||||
Catch ex As Exception
|
||||
Log(ex, DeleteText & "文件夹 " & Folder.Name & " 失败", LogLevel.Hint)
|
||||
Finally
|
||||
'刷新列表
|
||||
McFolderListLoader.Start(IsForceRestart:=True)
|
||||
End Try
|
||||
End Sub, "Folder Delete " & GetUuid(), ThreadPriority.BelowNormal)
|
||||
RunInNewThread(
|
||||
Sub()
|
||||
'删除文件夹
|
||||
Try
|
||||
Hint("正在" & DeleteText & "文件夹 " & Folder.Name & "!", HintType.Info)
|
||||
DeleteDirectory(Folder.Path)
|
||||
If DeleteText = "清空" Then Directory.CreateDirectory(Folder.Path)
|
||||
Hint("已" & DeleteText & "文件夹 " & Folder.Name & "!", HintType.Finish)
|
||||
Catch ex As Exception
|
||||
Log(ex, DeleteText & "文件夹 " & Folder.Name & " 失败", LogLevel.Hint)
|
||||
Finally
|
||||
'刷新列表
|
||||
McFolderListLoader.Start(IsForceRestart:=True)
|
||||
End Try
|
||||
End Sub, "Folder Delete " & GetUuid(), ThreadPriority.BelowNormal)
|
||||
End Sub
|
||||
Public Sub Open_Click(sender As Object, e As RoutedEventArgs)
|
||||
OpenExplorer("""" & CType(CType(CType(sender.Parent, ContextMenu).Parent, Primitives.Popup).PlacementTarget, MyListItem).Info & """")
|
||||
OpenExplorer(CType(CType(CType(sender.Parent, ContextMenu).Parent, Primitives.Popup).PlacementTarget, MyListItem).Info)
|
||||
End Sub
|
||||
Public Sub Refresh_Click(sender As Object, e As RoutedEventArgs)
|
||||
Dim Data As McFolder = CType(CType(CType(sender.Parent, ContextMenu).Parent, Primitives.Popup).PlacementTarget, MyListItem).Tag
|
||||
|
||||
@@ -20,11 +20,13 @@
|
||||
{"HintBuy", New SetupEntry(False, Source:=SetupSource.Registry)},
|
||||
{"HintClearRubbish", New SetupEntry(0, Source:=SetupSource.Registry)},
|
||||
{"HintUpdateMod", New SetupEntry(False, Source:=SetupSource.Registry)},
|
||||
{"HintCustomCommand", New SetupEntry(False, Source:=SetupSource.Registry)},
|
||||
{"TestSetupReader", New SetupEntry("", Source:=SetupSource.Registry, Encoded:=True)},
|
||||
{"SystemEula", New SetupEntry(False, Source:=SetupSource.Registry)},
|
||||
{"SystemCount", New SetupEntry(0, Source:=SetupSource.Registry, Encoded:=True)},
|
||||
{"SystemLaunchCount", New SetupEntry(0, Source:=SetupSource.Registry, Encoded:=True)},
|
||||
{"SystemLastVersionReg", New SetupEntry(0, Source:=SetupSource.Registry, Encoded:=True)},
|
||||
{"SystemHighestSavedBetaVersionReg", New SetupEntry(0, Source:=SetupSource.Registry, Encoded:=True)},
|
||||
{"SystemHighestBetaVersionReg", New SetupEntry(0, Source:=SetupSource.Registry, Encoded:=True)},
|
||||
{"SystemHighestAlphaVersionReg", New SetupEntry(0, Source:=SetupSource.Registry, Encoded:=True)},
|
||||
{"SystemSetupVersionReg", New SetupEntry(VersionSetup, Source:=SetupSource.Registry)},
|
||||
@@ -37,6 +39,7 @@
|
||||
{"SystemSystemCache", New SetupEntry("", Source:=SetupSource.Registry)},
|
||||
{"SystemSystemUpdate", New SetupEntry(0)},
|
||||
{"SystemSystemActivity", New SetupEntry(0)},
|
||||
{"CacheExportConfig", New SetupEntry("", Source:=SetupSource.Registry)},
|
||||
{"CacheSavedPageUrl", New SetupEntry("", Source:=SetupSource.Registry)},
|
||||
{"CacheSavedPageVersion", New SetupEntry("", Source:=SetupSource.Registry)},
|
||||
{"CacheMsOAuthRefresh", New SetupEntry("", Source:=SetupSource.Registry, Encoded:=True)},
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
Private Sub BtnSkinDelete_Click(sender As Object, e As EventArgs) Handles BtnSkinDelete.Click
|
||||
Try
|
||||
File.Delete(PathAppdata & "CustomSkin.png")
|
||||
RadioSkinType0.SetChecked(True, True, True)
|
||||
RadioSkinType0.SetChecked(True, True)
|
||||
Hint("离线皮肤已清空!", HintType.Finish)
|
||||
Catch ex As Exception
|
||||
Log(ex, "清空离线皮肤失败", LogLevel.Msgbox)
|
||||
@@ -194,11 +194,11 @@
|
||||
If LabRamGame Is Nothing OrElse LabRamUsed Is Nothing OrElse FrmMain.PageCurrent <> FormMain.PageType.Setup OrElse FrmSetupLeft.PageID <> FormMain.PageSubType.SetupLaunch Then Exit Sub
|
||||
'获取内存情况
|
||||
Dim RamGame As Double = GetRam(McVersionCurrent, False)
|
||||
Dim RamTotal As Double = Math.Round(My.Computer.Info.TotalPhysicalMemory / 1024 / 1024 / 1024 * 10) / 10
|
||||
Dim RamAvailable As Double = Math.Round(My.Computer.Info.AvailablePhysicalMemory / 1024 / 1024 / 1024 * 10) / 10
|
||||
Dim RamGameActual As Double = Math.Min(RamGame, RamAvailable)
|
||||
Dim RamUsed As Double = RamTotal - RamAvailable
|
||||
Dim RamEmpty As Double = Math.Round(MathClamp(RamTotal - RamUsed - RamGame, 0, 1000) * 10) / 10
|
||||
Dim RamTotal As Double = Math.Round(My.Computer.Info.TotalPhysicalMemory / 1024 / 1024 / 1024, 1)
|
||||
Dim RamAvailable As Double = Math.Round(My.Computer.Info.AvailablePhysicalMemory / 1024 / 1024 / 1024, 1)
|
||||
Dim RamGameActual As Double = Math.Round(Math.Min(RamGame, RamAvailable), 5)
|
||||
Dim RamUsed As Double = Math.Round(RamTotal - RamAvailable, 5)
|
||||
Dim RamEmpty As Double = Math.Round(MathClamp(RamTotal - RamUsed - RamGame, 0, 1000), 1)
|
||||
'设置最大可用内存
|
||||
If RamTotal <= 1.5 Then
|
||||
SliderRamCustom.MaxValue = Math.Max(Math.Floor((RamTotal - 0.3) / 0.1), 1)
|
||||
|
||||
@@ -45,11 +45,6 @@
|
||||
End Sub
|
||||
|
||||
Private Sub BtnHiperLog_Click(sender As Object, e As EventArgs) Handles BtnHiperLog.Click
|
||||
If File.Exists(PageLinkHiper.PathHiper & "logs\hiper.log") Then
|
||||
OpenExplorer("/select,""" & PageLinkHiper.PathHiper & "logs\hiper.log""")
|
||||
Else
|
||||
Hint("没有找到 HiPer 联机模块的日志!")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" Text="标题栏文本" Margin="0,0,25,0" />
|
||||
<local:MyTextBox x:Name="TextLogoText" Tag="UiLogoText" Grid.Column="1" MaxLength="30" />
|
||||
<local:MyTextBox x:Name="TextLogoText" Tag="UiLogoText" Grid.Column="1" MaxLength="100" />
|
||||
</Grid>
|
||||
<Grid x:Name="PanLogoChange" Margin="0,14,0,5" Height="35" Visibility="Collapsed">
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -247,7 +247,7 @@
|
||||
<local:MyComboBoxItem Content="PCL 主页市场(作者:凌云)" />
|
||||
<local:MyComboBoxItem Content="PCL 新闻速报(作者:Joker2184)" />
|
||||
<local:MyComboBoxItem Content="PCL 新功能说明书(作者:WForst-Breeze)" />
|
||||
<local:MyComboBoxItem Content="OpenMCIM 仪表盘(作者:SALTWOOD)" />
|
||||
<local:MyComboBoxItem Content="OpenMCIM 仪表盘(作者:SALTWOOD)" Visibility="Collapsed" />
|
||||
<local:MyComboBoxItem Content="杂志主页(作者:CreeperIsASpy)" />
|
||||
</local:MyComboBox>
|
||||
</Grid>
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
|
||||
'背景图片
|
||||
Private Sub BtnUIBgOpen_Click(sender As Object, e As EventArgs) Handles BtnBackgroundOpen.Click
|
||||
OpenExplorer("""" & Path & "PCL\Pictures""")
|
||||
OpenExplorer(Path & "PCL\Pictures\")
|
||||
End Sub
|
||||
Private Sub BtnBackgroundRefresh_Click(sender As Object, e As EventArgs) Handles BtnBackgroundRefresh.Click
|
||||
BackgroundRefresh(True, True)
|
||||
@@ -335,7 +335,7 @@ Refresh:
|
||||
Private Sub BtnLogoDelete_Click(sender As Object, e As EventArgs) Handles BtnLogoDelete.Click
|
||||
Try
|
||||
File.Delete(Path & "PCL\Logo.png")
|
||||
RadioLogoType1.SetChecked(True, True, True)
|
||||
RadioLogoType1.SetChecked(True, True)
|
||||
Hint("标题栏图片已清空!", HintType.Finish)
|
||||
Catch ex As Exception
|
||||
Log(ex, "清空标题栏图片失败", LogLevel.Msgbox)
|
||||
@@ -344,7 +344,7 @@ Refresh:
|
||||
|
||||
'背景音乐
|
||||
Private Sub BtnMusicOpen_Click(sender As Object, e As EventArgs) Handles BtnMusicOpen.Click
|
||||
OpenExplorer("""" & Path & "PCL\Musics""")
|
||||
OpenExplorer(Path & "PCL\Musics\")
|
||||
End Sub
|
||||
Private Sub BtnMusicRefresh_Click(sender As Object, e As EventArgs) Handles BtnMusicRefresh.Click
|
||||
MusicRefreshPlay(True)
|
||||
@@ -407,7 +407,7 @@ Refresh:
|
||||
End If
|
||||
WriteFile(Path & "PCL\Custom.xaml", GetResources("Custom"))
|
||||
Hint("教学文件已生成!", HintType.Finish)
|
||||
OpenExplorer("/select,""" & Path & "PCL\Custom.xaml""")
|
||||
OpenExplorer(Path & "PCL\Custom.xaml")
|
||||
Catch ex As Exception
|
||||
Log(ex, "生成教学文件失败", LogLevel.Feedback)
|
||||
End Try
|
||||
|
||||
@@ -5,117 +5,267 @@
|
||||
xmlns:System="clr-namespace:System;assembly=mscorlib"
|
||||
mc:Ignorable="d" x:Class="PageVersionExport"
|
||||
PanScroll="{Binding ElementName=PanBack}">
|
||||
<local:MyScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
|
||||
<StackPanel Margin="25,10">
|
||||
<local:MyHint Margin="0,10,0,0" IsWarn="False" Text="当前页面导出的整合包是 Modrinth 格式(.mrpack)。" />
|
||||
|
||||
<local:MyCard Margin="0,15" Title="导出预览">
|
||||
<StackPanel Margin="25,38,15,15">
|
||||
<Grid Margin="-10,-5,10,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*" />
|
||||
<ColumnDefinition Width="150" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Margin="10,7,10,7" Name="PanDisplayItem" Grid.Column="0" />
|
||||
<local:MyButton x:Name="BtnExportExport" Grid.Column="1" HorizontalAlignment="Right"
|
||||
Text="导出整合包" Width="150" Height="35" ColorType="Highlight" />
|
||||
</Grid>
|
||||
<Grid Margin="0,5,10,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="Name" />
|
||||
<ColumnDefinition Width="1*" />
|
||||
<ColumnDefinition Width="60" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="28" />
|
||||
<RowDefinition Height="9" />
|
||||
<RowDefinition Height="28" />
|
||||
<!--<RowDefinition Height="9" />
|
||||
<RowDefinition Height="28" />-->
|
||||
<RowDefinition Height="9" />
|
||||
<RowDefinition Height="28" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Left" Text="整合包名称" Margin="0,0,25,0" />
|
||||
<local:MyTextBox Grid.Row="0" x:Name="TbExportName" Grid.ColumnSpan="2" Grid.Column="1" MaxLength="100" ShowValidateResult="True" />
|
||||
<TextBlock Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Left" Text="整合包版本" Margin="0,0,25,0" />
|
||||
<local:MyTextBox Grid.Row="2" x:Name="TbExportVersion" HintText="1.0.0" Grid.ColumnSpan="2" Tag="VersionArgumentTitle" Grid.Column="1" MaxLength="100" />
|
||||
<!--<TextBlock Grid.Row="4" VerticalAlignment="Center" HorizontalAlignment="Left" Text="图标" Margin="0,0,25,0" />
|
||||
<local:MyComboBox x:Name="ComboDisplayLogo" Grid.Row="4" Grid.ColumnSpan="2" Grid.Column="1">
|
||||
<local:MyComboBoxItem Content="自动" IsSelected="True" Tag="" />
|
||||
<local:MyComboBoxItem x:Name="ItemDisplayLogoCustom" Content="自定义..." />
|
||||
<local:MyComboBoxItem Content="圆石" Tag="pack://application:,,,/images/Blocks/CobbleStone.png" />
|
||||
<local:MyComboBoxItem Content="命令方块" Tag="pack://application:,,,/images/Blocks/CommandBlock.png" />
|
||||
<local:MyComboBoxItem Content="金块" Tag="pack://application:,,,/images/Blocks/GoldBlock.png" />
|
||||
<local:MyComboBoxItem Content="草方块" Tag="pack://application:,,,/images/Blocks/Grass.png" />
|
||||
<local:MyComboBoxItem Content="草径" Tag="pack://application:,,,/images/Blocks/GrassPath.png" />
|
||||
<local:MyComboBoxItem Content="铁砧" Tag="pack://application:,,,/images/Blocks/Anvil.png" />
|
||||
<local:MyComboBoxItem Content="红石块" Tag="pack://application:,,,/images/Blocks/RedstoneBlock.png" />
|
||||
<local:MyComboBoxItem Content="红石灯(开)" Tag="pack://application:,,,/images/Blocks/RedstoneLampOn.png" />
|
||||
<local:MyComboBoxItem Content="红石灯(关)" Tag="pack://application:,,,/images/Blocks/RedstoneLampOff.png" />
|
||||
<local:MyComboBoxItem Content="鸡蛋" Tag="pack://application:,,,/images/Blocks/Egg.png" />
|
||||
<local:MyComboBoxItem Content="布料(Fabric)" Tag="pack://application:,,,/images/Blocks/Fabric.png" />
|
||||
<local:MyComboBoxItem Content="狐狸(NeoForge)" Tag="pack://application:,,,/images/Blocks/NeoForge.png" />
|
||||
</local:MyComboBox>-->
|
||||
<TextBlock Grid.Row="4" VerticalAlignment="Center" HorizontalAlignment="Left" Text="描述" Margin="0,0,25,0" />
|
||||
<local:MyTextBox Grid.Row="4" x:Name="TbExportDesc" Grid.ColumnSpan="2" Grid.Column="1" TextWrapping="Wrap" VerticalContentAlignment="Top" Padding="0,5" />
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</local:MyCard>
|
||||
|
||||
<local:MyCard x:Name="CardSwitch" Margin="0,0,0,15" Title="基础选项">
|
||||
<StackPanel Margin="25,38,15,15">
|
||||
<TextBlock x:Name="TbHint" Margin="0,1,0,1" Text="你可以在此勾选需要包含进整合包的文件或文件夹,其他文件或文件夹在高级选项添加。" TextWrapping="Wrap" />
|
||||
<!-- 注意:以上 TextBlock 的 Text 属性可能会在代码中被改动。 -->
|
||||
<Grid x:Name="PanCommonFiles">
|
||||
<local:MyPageRight.Resources>
|
||||
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
|
||||
</local:MyPageRight.Resources>
|
||||
<Grid x:Name="PanAllBack">
|
||||
<Grid.Resources>
|
||||
<Style TargetType="local:MyCheckBox">
|
||||
<Setter Property="Height" Value="26" />
|
||||
</Style>
|
||||
</Grid.Resources>
|
||||
<local:MyScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" x:Name="PanBack">
|
||||
<StackPanel Margin="25,10,25,65">
|
||||
<local:MyHint Margin="0,15,0,0" Text="受 Modrinth 整合包规范限制,导出的整合包中暂不包含 OptiFine。" IsWarn="False" x:Name="HintOptiFine" />
|
||||
<local:MyCard Margin="0,15">
|
||||
<Grid Margin="22,15,25,15">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="18" />
|
||||
<ColumnDefinition Width="1.7*" />
|
||||
<ColumnDefinition Width="1.9*" />
|
||||
<ColumnDefinition Width="1.4*" />
|
||||
<ColumnDefinition Width="1.0*" />
|
||||
<ColumnDefinition Width="1.0*" />
|
||||
<ColumnDefinition Width="1.0*" />
|
||||
<ColumnDefinition Width="1*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="0.3*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="4" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="28" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="游戏配置" VerticalAlignment="Center" Grid.Column="0" Grid.Row="1" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="2" Text="服务器列表"
|
||||
Tag="servers.dat" ToolTip="servers.dat 文件" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="3" Text="Mod 配置"
|
||||
Tag="config" ToolTip="config 文件夹" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="4" Text="游戏配置"
|
||||
Tag="options.txt" ToolTip="options.txt 文件" />
|
||||
<TextBlock Text="游戏文件" VerticalAlignment="Center" Grid.Column="0" Grid.Row="2" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="2" Grid.Column="2" Text="存档"
|
||||
Tag="saves" ToolTip="saves 文件夹" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="2" Grid.Column="3" Text="资源包"
|
||||
Tag="resourcepacks" ToolTip="resourcepacks 文件夹" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="2" Grid.Column="4" Text="光影包"
|
||||
Tag="shaderpacks" ToolTip="shaderpacks 文件夹" />
|
||||
<TextBlock Text="PCL 配置" VerticalAlignment="Center" Grid.Column="0" Grid.Row="3" />
|
||||
<local:MyCheckBox x:Name="CheckIncludePCL" Height="22" VerticalAlignment="Center" Grid.Row="3" Grid.Column="2" Text="包含启动器"
|
||||
Tag="" ToolTip="将 PCL 程序包含在整合包内" />
|
||||
<local:MyCheckBox x:Name="CheckIncludeSetup" Height="22" VerticalAlignment="Center" Grid.Row="3" Grid.Column="3" Text="PCL 全局配置"
|
||||
Tag="" ToolTip="将 PCL 全局配置包含在整合包内" />
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Left" Text="整合包名称" Margin="0,0,20,0" />
|
||||
<local:MyTextBox Grid.Row="0" Grid.Column="1" x:Name="TextExportName" MaxLength="100" />
|
||||
<TextBlock Grid.Row="0" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Left" Text="整合包版本" Margin="30,0,20,0" />
|
||||
<local:MyTextBox Grid.Row="0" Grid.Column="3" x:Name="TextExportVersion" Tag="VersionArgumentTitle" MaxLength="100" />
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
|
||||
</local:MyCard>
|
||||
<local:MyCard x:Name="CardMore" Title="高级选项" Margin="0,0,0,15" CanSwap="True" IsSwaped="True">
|
||||
<StackPanel x:Name="PanFileList" Margin="25,40,23,15">
|
||||
<TextBlock Margin="0,1,0,10" Text="你可以在此勾选其他需要包含进整合包的内容。
请注意:部分必须包含在整合包中的内容(如 Mods 等),以及被排除的冗余文件(如游戏日志等),将不会在列表中展示。" TextWrapping="Wrap" />
|
||||
<local:MyListItem Type="CheckBox" Title="游戏存档" Height="35" Logo="M889.018182 418.909091H884.363636V316.509091a93.090909 93.090909 0 0 0-99.607272-89.832727h-302.545455l-93.090909-76.334546A46.545455 46.545455 0 0 0 358.865455 139.636364H146.152727A93.090909 93.090909 0 0 0 46.545455 229.469091V837.818182a46.545455 46.545455 0 0 0 46.545454 46.545454 46.545455 46.545455 0 0 0 16.756364-3.258181 109.381818 109.381818 0 0 0 25.134545 3.258181h586.472727a85.178182 85.178182 0 0 0 87.04-63.301818l163.374546-302.545454a46.545455 46.545455 0 0 0 5.585454-21.876364A82.385455 82.385455 0 0 0 889.018182 418.909091z m-744.727273-186.181818h198.283636l93.09091 76.334545a46.545455 46.545455 0 0 0 29.323636 10.705455h319.301818a12.101818 12.101818 0 0 1 6.516364 0V418.909091H302.545455a85.178182 85.178182 0 0 0-87.04 63.301818L139.636364 622.778182V232.727273a19.549091 19.549091 0 0 1 6.516363 0z m578.094546 552.029091a27.461818 27.461818 0 0 0-2.792728 6.516363H154.530909l147.083636-272.290909a27.461818 27.461818 0 0 0 2.792728-6.981818h565.061818z" />
|
||||
<local:MyListItem Type="CheckBox" Title="游戏存档" Height="35" Logo="M586.9 436h-74.7V62.4H177.1c-20.6 0-37.4 16.7-37.4 37.4v821.9c0 20.6 16.7 37.4 37.4 37.4h672.5c20.6 0 37.4-16.7 37.4-37.4V436H586.9z m0-74.7h297.8c-7.3-57.4-31.2-70.9-58.4-98.1l-66.5-66.5-0.1-0.1 0.1 0.1-0.9-0.9-22.8-22.8-0.9-0.9 0.1 0.1-0.1-0.1-66.5-66.5c-21.8-21.8-38.8-36.5-81.7-41.4l-0.1 297.1z" />
|
||||
<local:MyListItem Type="CheckBox" Title="游戏存档" Height="35" Logo="M757.792745 435.407215L419.597482 96.904967c-40.010393-40.010393-104.886579-40.010393-144.896972 0-40.010393 40.010393-40.010393 104.988908 0 144.9993L540.344959 507.855701 274.70051 773.807135c-40.010393 40.112721-40.010393 104.988908 0 144.9993 40.010393 40.010393 104.886579 40.010393 144.896972 0l338.092935-338.39992c40.112721-40.010393 40.112721-104.988908 0.102328-144.9993z" />
|
||||
</StackPanel>
|
||||
</local:MyCard>
|
||||
|
||||
</StackPanel>
|
||||
</local:MyScrollViewer>
|
||||
</local:MyPageRight>
|
||||
</local:MyCard>
|
||||
<local:MyCard Margin="0,0,0,15" x:Name="CardOptions" MinHeight="39">
|
||||
<local:MyIconTextButton x:Name="BtnOverrideCancel" Height="24" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,5,0"
|
||||
IsHitTestVisible="False" Opacity="0.5"
|
||||
Text="重置" 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" />
|
||||
<StackPanel Margin="25,38,15,15" Name="PanOptions">
|
||||
<local:MyCheckBox IsEnabled="False" x:Name="CheckOptionsBasic">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="游戏本体"
|
||||
DefaultChecked="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox x:Name="CheckOptionsOptions" Margin="30,0,0,0">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="游戏本体设置"
|
||||
Description="键位、音量、视频设置等"
|
||||
Rules="options.txt|configureddefaults/"
|
||||
DefaultChecked="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox Margin="30,0,0,0">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="游戏本体个人信息"
|
||||
Description="命令历史、已保存的快捷栏"
|
||||
Rules="hotbar.nbt|command_history.txt"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox Margin="30,0,0,0">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="OptiFine 设置"
|
||||
Rules="optionsof.txt|optionsshaders.txt"
|
||||
DefaultChecked="True"
|
||||
RequireOptiFine="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox x:Name="CheckOptionsMod">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="Mod"
|
||||
Description="模组"
|
||||
Rules="mods/|!mods/*.disabled|!mods/*.old|!mods/.connector/|coremods/|lib/"
|
||||
DefaultChecked="True"
|
||||
RequireModLoader="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<StackPanel Margin="30,0,0,0"
|
||||
Visibility="{Binding Checked, ElementName=CheckOptionsMod, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="已禁用的 Mod"
|
||||
Rules="mods/*.disabled|mods/*.old" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="整合包重要数据"
|
||||
Description="脚本文件、内置资源包、数据包等"
|
||||
Rules="addons/|multiblocked/|modpack-update-checker/|global_packs/|global_resource_packs/|global_data_packs/|optional_data_packs/|maps/|icon.png|mods-resourcepacks/|matmos/|resource_assorts/|resource_assorts.json|patchouli_books/|datapacks/|kubejs*/|!kubejs*/probe/|!kubejs*/exported/|!kubejs*/jsconfig.json|!kubejs*/README.txt|openloader/|worldshape/|resources/|scripts/|structures/|fontfiles/|oresources/|packmenu/|craftpresence/|pointblanks/|template*/|!template*/playerdata/|!template*/stats/"
|
||||
DefaultChecked="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="Mod 设置"
|
||||
Rules="config/|!config/jei/world/|!config/worldedit/|config/worldedit/worldedit.properties|!config/spark/|config/spark/config.json|defaultconfigs/|journeymap/config/|journeymap/server/|TrashSlotSaveState.json|customfov.txt|gg.essential.mod/|essential/|!essential/*/|!essential/*.jar*|!essential/screenshot-checksum-caches.json|!essential/microsoft_accounts.json|paragliderSettings.nbt|local/client_config.json|local/ftbl.json|local/client/sidebar_buttons.json|local/client/ftbutilities.cfg|local/client/ftblib.cfg|local/client/xencraft.cfg|liteloader.properties|default_reference.xml|CustomSkinLoader/CustomSkinLoader.json"
|
||||
DefaultChecked="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="已绘制的地图"
|
||||
Description="地图类 Mod 为现有的存档、服务器记录的地图、路标点等"
|
||||
Rules="journeymap/data/|xaero/"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="JEI 个人信息"
|
||||
Description="物品收藏夹等"
|
||||
Rules="config/jei/world/"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="EMI 个人信息"
|
||||
Description="物品收藏夹、默认配方、合成历史记录等"
|
||||
Rules="emi.json"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="帕秋莉手册个人信息"
|
||||
Description="教程书的已读记录、书签、阅读历史记录等"
|
||||
Rules="patchouli_data.json"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
</StackPanel>
|
||||
<local:MyCheckBox x:Name="CheckOptionsResourcePacks">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="资源包"
|
||||
Description="纹理包/材质包"
|
||||
ShowRules="resourcepacks/|texturepacks/"
|
||||
DefaultChecked="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<StackPanel Margin="30,0,0,0" x:Name="PanOptionsResourcePacks"
|
||||
Visibility="{Binding Checked, ElementName=CheckOptionsResourcePacks, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||
</StackPanel>
|
||||
<local:MyCheckBox x:Name="CheckOptionsShaderPacks">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="光影包"
|
||||
ShowRules="shaderpacks/"
|
||||
DefaultChecked="True"
|
||||
RequireModLoaderOrOptiFine="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<StackPanel Margin="30,0,0,0" x:Name="PanOptionsShaderPacks"
|
||||
Visibility="{Binding Checked, ElementName=CheckOptionsShaderPacks, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||
</StackPanel>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="截图"
|
||||
Rules="screenshots/"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="导出的结构"
|
||||
Description="schematics 文件夹"
|
||||
Rules="schematics/"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="录像回放"
|
||||
Description="Replay Mod 的录像文件"
|
||||
Rules="replay_recordings/|replay_videos/"
|
||||
RequireModLoader="True"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox x:Name="CheckOptionsSaves">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="单人游戏存档"
|
||||
Description="世界/地图"
|
||||
ShowRules="saves/"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<StackPanel Margin="30,0,0,0" x:Name="PanOptionsSaves"
|
||||
Visibility="{Binding Checked, ElementName=CheckOptionsSaves, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||
</StackPanel>
|
||||
<local:MyCheckBox>
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="多人游戏服务器列表"
|
||||
Rules="servers.dat"
|
||||
DefaultChecked="False" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<local:MyCheckBox x:Name="CheckOptionsPcl">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="PCL 启动器程序"
|
||||
Description="打包正式版 PCL,以便没有启动器的玩家安装整合包"
|
||||
DefaultChecked="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
<StackPanel Margin="30,0,0,0"
|
||||
Visibility="{Binding Checked, ElementName=CheckOptionsPcl, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||
<local:MyCheckBox x:Name="CheckOptionsPclCustom">
|
||||
<local:MyCheckBox.Tag>
|
||||
<local:ExportOption
|
||||
Title="PCL 个性化内容"
|
||||
Description="功能隐藏设置、主页、背景音乐和图片等"
|
||||
DefaultChecked="True" />
|
||||
</local:MyCheckBox.Tag>
|
||||
</local:MyCheckBox>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</local:MyCard>
|
||||
<local:MyCard Title="高级选项" Margin="0,0,0,15" CanSwap="True" IsSwaped="True">
|
||||
<StackPanel Margin="25,37,23,20">
|
||||
<local:MyHint Text="建议仅在无法稳定连接 CurseForge 或 Modrinth 时才打包资源文件。
二次分发可能违反使用协议,请尽量不要公开发布包含资源文件的整合包!"
|
||||
IsWarn="False" Margin="0,0,0,4"
|
||||
Visibility="{Binding Checked, ElementName=CheckAdvancedInclude, Converter={StaticResource BooleanToVisibilityConverter}}" />
|
||||
<local:MyCheckBox Text="打包资源文件,以避免在导入时下载" x:Name="CheckAdvancedInclude"
|
||||
ToolTip="将 Mod、资源包、光影包的文件直接放入整合包中,这样在导入时就无需联网下载它们。
建议仅在无法稳定连接 CurseForge 或 Modrinth 时才考虑勾选。" />
|
||||
<local:MyCheckBox Text="Modrinth 上传模式" x:Name="CheckAdvancedModrinth"
|
||||
ToolTip="如果你想要打包上传到 Modrinth,勾选此项会生成完全符合 Modrinth 要求的整合包文件。
由于 Modrinth 要求,只能从 CurseForge 下载的资源将无法联网下载,会被直接放入整合包中。
此外,勾选后也不能在整合包中包含 PCL 启动器文件。" />
|
||||
<Rectangle Height="1" Fill="{StaticResource ColorBrushGray5}" Margin="0,15,0,15" />
|
||||
<TextBlock Text="通过配置文件,你可以精准地控制导出内容的范围,或是保存当前的配置以便之后使用。" TextWrapping="WrapWithOverflow" />
|
||||
<Grid Height="35" Margin="0,12,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
|
||||
<ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<local:MyButton Grid.Column="0" x:Name="BtnAdvancedImport" MinWidth="140" Text="读取配置" Padding="13,0" Margin="0,0,20,0" ColorType="Highlight" />
|
||||
<local:MyButton Grid.Column="1" x:Name="BtnAdvancedExport" MinWidth="140" Text="保存配置" Padding="13,0" Margin="0,0,20,0" />
|
||||
<local:MyButton Grid.Column="2" MinWidth="140" Text="整合包制作指南" Padding="13,0" Margin="0,0,20,0" x:Name="BtnAdvancedHelp"
|
||||
EventType="打开帮助" />
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</local:MyCard>
|
||||
</StackPanel>
|
||||
</local:MyScrollViewer>
|
||||
<local:MyExtraTextButton HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="20"
|
||||
x:Name="BtnExport" Text="开始导出"
|
||||
LogoScale="1.1" Logo="M511.488 995.328a128.654222 128.654222 0 0 1-57.116444-13.112889L70.769778 791.808a126.833778 126.833778 0 0 1-70.769778-113.777778V311.608889a126.179556 126.179556 0 0 1 15.36-60.103111V248.604444c1.479111-2.901333 3.356444-5.603556 5.518222-8.021333a127.630222 127.630222 0 0 1 49.891556-42.325333L454.371556 13.368889a128.739556 128.739556 0 0 1 112.981333 0l383.601778 190.407111a126.862222 126.862222 0 0 1 72.049777 113.379556v360.874666a126.805333 126.805333 0 0 1-70.769777 115.939556L568.604444 984.32c-17.92 7.964444-37.461333 11.747556-57.116444 11.008z m42.638222-470.897778v370.204445l360.192-178.545778c14.449778-7.253333 23.552-21.987556 23.438222-38.087111v-335.928889L554.097778 524.430222zM85.248 330.666667v347.335111a42.268444 42.268444 0 0 0 23.438222 38.087111l360.192 178.545778V523.576889L85.248 330.666667zM135.537778 260.835556l375.950222 189.952 137.671111-65.564445L286.435556 188.074667 135.537778 260.864z m245.105778-118.471112l363.576888 197.973334 150.897778-71.480889-365.283555-180.224a42.922667 42.922667 0 0 0-37.518223 0l-111.672888 53.731555z" />
|
||||
</Grid>
|
||||
</local:MyPageRight>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,8 +23,13 @@
|
||||
</local:MyListItem>
|
||||
<local:MyListItem x:Name="ItemModDisabled" IsScaleAnimationEnabled="False" Type="RadioBox" Tag="3" MinPaddingRight="35" Height="36" VerticalAlignment="Top" Title="Mod 管理"
|
||||
Logo="M789.504 912.896h-195.072a35.328 35.328 0 0 1-34.816-35.328v-77.312a39.936 39.936 0 0 0-40.448-39.936H481.28a40.448 40.448 0 0 0-40.448 39.936v77.312a34.816 34.816 0 0 1-34.816 35.328H204.8a41.984 41.984 0 0 1-40.448-42.496v-200.192a35.328 35.328 0 0 1 35.328-35.328h72.704a39.936 39.936 0 0 0 39.936-39.936v-37.888a39.936 39.936 0 0 0-39.936-40.448H199.68a35.328 35.328 0 0 1-35.328-35.328V287.744A41.984 41.984 0 0 1 204.8 245.76h176.64v-32.768a102.4 102.4 0 0 1 102.4-102.4h33.792a102.4 102.4 0 0 1 102.4 102.4v32.768h170.496a41.984 41.984 0 0 1 41.984 41.984V460.8h28.672a102.4 102.4 0 0 1 102.4 102.4v33.792a102.4 102.4 0 0 1-102.4 102.4h-28.672V870.4a41.984 41.984 0 0 1-43.008 42.496z m-159.744-70.144h131.584V665.6a34.304 34.304 0 0 1 34.816-34.816h64a31.744 31.744 0 0 0 31.744-31.744V563.2a31.744 31.744 0 0 0-31.744-31.744h-64a34.816 34.816 0 0 1-34.816-35.328V316.416h-177.152a35.328 35.328 0 0 1-35.328-35.328V212.992a31.744 31.744 0 0 0-31.744-31.744h-33.792a31.744 31.744 0 0 0-31.744 31.744v68.096a35.328 35.328 0 0 1-34.816 35.328H234.496v130.048h37.888a110.592 110.592 0 0 1 110.08 110.592v37.888a110.592 110.592 0 0 1-110.08 110.592h-37.888v137.216h136.192v-42.496a110.592 110.592 0 0 1 110.592-110.08h37.888a110.592 110.592 0 0 1 110.592 110.08z" />
|
||||
<local:MyListItem x:Name="ItemExport" IsScaleAnimationEnabled="False" Type="RadioBox" Tag="4" MinPaddingRight="35" Height="36" VerticalAlignment="Top" Title="导出整合包"
|
||||
Logo="M511.488 995.328a128.654222 128.654222 0 0 1-57.116444-13.112889L70.769778 791.808a126.833778 126.833778 0 0 1-70.769778-113.777778V311.608889a126.179556 126.179556 0 0 1 15.36-60.103111V248.604444c1.479111-2.901333 3.356444-5.603556 5.518222-8.021333a127.630222 127.630222 0 0 1 49.891556-42.325333L454.371556 13.368889a128.739556 128.739556 0 0 1 112.981333 0l383.601778 190.407111a126.862222 126.862222 0 0 1 72.049777 113.379556v360.874666a126.805333 126.805333 0 0 1-70.769777 115.939556L568.604444 984.32c-17.92 7.964444-37.461333 11.747556-57.116444 11.008z m42.638222-470.897778v370.204445l360.192-178.545778c14.449778-7.253333 23.552-21.987556 23.438222-38.087111v-335.928889L554.097778 524.430222zM85.248 330.666667v347.335111a42.268444 42.268444 0 0 0 23.438222 38.087111l360.192 178.545778V523.576889L85.248 330.666667zM135.537778 260.835556l375.950222 189.952 137.671111-65.564445L286.435556 188.074667 135.537778 260.864z m245.105778-118.471112l363.576888 197.973334 150.897778-71.480889-365.283555-180.224a42.922667 42.922667 0 0 0-37.518223 0l-111.672888 53.731555z" >
|
||||
<local:MyListItem x:Name="ItemExport" IsScaleAnimationEnabled="False" Type="RadioBox" Tag="4" MinPaddingRight="35" Height="36" VerticalAlignment="Top" Title="导出"
|
||||
Logo="M511.488 995.328a128.654222 128.654222 0 0 1-57.116444-13.112889L70.769778 791.808a126.833778 126.833778 0 0 1-70.769778-113.777778V311.608889a126.179556 126.179556 0 0 1 15.36-60.103111V248.604444c1.479111-2.901333 3.356444-5.603556 5.518222-8.021333a127.630222 127.630222 0 0 1 49.891556-42.325333L454.371556 13.368889a128.739556 128.739556 0 0 1 112.981333 0l383.601778 190.407111a126.862222 126.862222 0 0 1 72.049777 113.379556v360.874666a126.805333 126.805333 0 0 1-70.769777 115.939556L568.604444 984.32c-17.92 7.964444-37.461333 11.747556-57.116444 11.008z m42.638222-470.897778v370.204445l360.192-178.545778c14.449778-7.253333 23.552-21.987556 23.438222-38.087111v-335.928889L554.097778 524.430222zM85.248 330.666667v347.335111a42.268444 42.268444 0 0 0 23.438222 38.087111l360.192 178.545778V523.576889L85.248 330.666667zM135.537778 260.835556l375.950222 189.952 137.671111-65.564445L286.435556 188.074667 135.537778 260.864z m245.105778-118.471112l363.576888 197.973334 150.897778-71.480889-365.283555-180.224a42.922667 42.922667 0 0 0-37.518223 0l-111.672888 53.731555z">
|
||||
<local:MyListItem.Buttons>
|
||||
<x:Array Type="{x:Type local:MyIconButton}">
|
||||
<local:MyIconButton Tag="4" ToolTip="刷新" ToolTipService.Placement="Right" ToolTipService.InitialShowDelay="200" ToolTipService.VerticalOffset="-1" Click="Refresh" LogoScale="0.85" Logo="M875.52 148.48C783.36 56.32 655.36 0 512 0 291.84 0 107.52 138.24 30.72 332.8l122.88 46.08C204.8 230.4 348.16 128 512 128c107.52 0 199.68 40.96 271.36 112.64L640 384h384V0L875.52 148.48zM512 896c-107.52 0-199.68-40.96-271.36-112.64L384 640H0v384l148.48-148.48C240.64 967.68 368.64 1024 512 1024c220.16 0 404.48-138.24 481.28-332.8L870.4 645.12C819.2 793.6 675.84 896 512 896z" />
|
||||
</x:Array>
|
||||
</local:MyListItem.Buttons>
|
||||
</local:MyListItem>
|
||||
</StackPanel>
|
||||
</local:MyPageLeft>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Public Class PageVersionLeft
|
||||
Implements IRefreshable
|
||||
|
||||
''' <summary>
|
||||
''' 当前显示设置的 MC 版本。
|
||||
@@ -91,7 +92,20 @@
|
||||
#End Region
|
||||
|
||||
Public Sub Refresh(sender As Object, e As EventArgs) '由边栏按钮匿名调用
|
||||
PageVersionMod.Refresh()
|
||||
Refresh(Val(sender.Tag))
|
||||
End Sub
|
||||
Public Sub Refresh() Implements IRefreshable.Refresh
|
||||
Refresh(FrmMain.PageCurrentSub)
|
||||
End Sub
|
||||
Public Sub Refresh(SubType As FormMain.PageSubType)
|
||||
Select Case SubType
|
||||
Case FormMain.PageSubType.VersionMod
|
||||
PageVersionMod.Refresh()
|
||||
ItemMod.Checked = True
|
||||
Case FormMain.PageSubType.VersionExport
|
||||
If FrmVersionExport IsNot Nothing Then FrmVersionExport.RefreshAll()
|
||||
ItemExport.Checked = True
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Public Sub Reset(sender As Object, e As EventArgs)
|
||||
|
||||
@@ -289,7 +289,7 @@
|
||||
Private Sub BtnManageOpen_Click(sender As Object, e As EventArgs) Handles BtnManageOpen.Click, BtnHintOpen.Click
|
||||
Try
|
||||
Directory.CreateDirectory(PageVersionLeft.Version.PathIndie & "mods\")
|
||||
OpenExplorer("""" & PageVersionLeft.Version.PathIndie & "mods\""")
|
||||
OpenExplorer(PageVersionLeft.Version.PathIndie & "mods\")
|
||||
Catch ex As Exception
|
||||
Log(ex, "打开 Mods 文件夹失败", LogLevel.Msgbox)
|
||||
End Try
|
||||
@@ -856,10 +856,8 @@ Install:
|
||||
'打开文件所在的位置
|
||||
Public Sub Open_Click(sender As MyIconButton, e As EventArgs)
|
||||
Try
|
||||
|
||||
Dim ListItem As MyLocalModItem = sender.Tag
|
||||
OpenExplorer("/select,""" & ListItem.Entry.Path & """")
|
||||
|
||||
OpenExplorer(ListItem.Entry.Path)
|
||||
Catch ex As Exception
|
||||
Log(ex, "打开 Mod 文件位置失败", LogLevel.Feedback)
|
||||
End Try
|
||||
|
||||
@@ -235,21 +235,21 @@
|
||||
OpenVersionFolder(PageVersionLeft.Version)
|
||||
End Sub
|
||||
Public Shared Sub OpenVersionFolder(Version As McVersion)
|
||||
OpenExplorer("""" & Version.Path & """")
|
||||
OpenExplorer(Version.Path)
|
||||
End Sub
|
||||
|
||||
'存档文件夹
|
||||
Private Sub BtnFolderSaves_Click() Handles BtnFolderSaves.Click
|
||||
Dim FolderPath As String = PageVersionLeft.Version.PathIndie & "saves\"
|
||||
Directory.CreateDirectory(FolderPath)
|
||||
OpenExplorer("""" & FolderPath & """")
|
||||
OpenExplorer(FolderPath)
|
||||
End Sub
|
||||
|
||||
'Mod 文件夹
|
||||
Private Sub BtnFolderMods_Click() Handles BtnFolderMods.Click
|
||||
Dim FolderPath As String = PageVersionLeft.Version.PathIndie & "mods\"
|
||||
Directory.CreateDirectory(FolderPath)
|
||||
OpenExplorer("""" & FolderPath & """")
|
||||
OpenExplorer(FolderPath)
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
@@ -260,7 +260,7 @@
|
||||
Private Sub BtnManageScript_Click() Handles BtnManageScript.Click
|
||||
Try
|
||||
'弹窗要求指定脚本的保存位置
|
||||
Dim SavePath As String = SelectAs("选择脚本保存位置", "启动 " & PageVersionLeft.Version.Name & ".bat", "批处理文件(*.bat)|*.bat")
|
||||
Dim SavePath As String = SelectSaveFile("选择脚本保存位置", "启动 " & PageVersionLeft.Version.Name & ".bat", "批处理文件(*.bat)|*.bat")
|
||||
If SavePath = "" Then Exit Sub
|
||||
'检查中断(等玩家选完弹窗指不定任务就结束了呢……)
|
||||
If McLaunchLoader.State = LoadState.Loading Then
|
||||
|
||||
@@ -153,11 +153,11 @@
|
||||
If LabRamGame Is Nothing OrElse LabRamUsed Is Nothing OrElse FrmMain.PageCurrent <> FormMain.PageType.VersionSetup OrElse FrmVersionLeft.PageID <> FormMain.PageSubType.VersionSetup Then Exit Sub
|
||||
'获取内存情况
|
||||
Dim RamGame As Double = GetRam(PageVersionLeft.Version)
|
||||
Dim RamTotal As Double = Math.Round(My.Computer.Info.TotalPhysicalMemory / 1024 / 1024 / 1024 * 10) / 10
|
||||
Dim RamAvailable As Double = Math.Round(My.Computer.Info.AvailablePhysicalMemory / 1024 / 1024 / 1024 * 10) / 10
|
||||
Dim RamGameActual As Double = Math.Min(RamGame, RamAvailable)
|
||||
Dim RamUsed As Double = RamTotal - RamAvailable
|
||||
Dim RamEmpty As Double = Math.Round(MathClamp(RamTotal - RamUsed - RamGame, 0, 1000) * 10) / 10
|
||||
Dim RamTotal As Double = Math.Round(My.Computer.Info.TotalPhysicalMemory / 1024 / 1024 / 1024, 1)
|
||||
Dim RamAvailable As Double = Math.Round(My.Computer.Info.AvailablePhysicalMemory / 1024 / 1024 / 1024, 1)
|
||||
Dim RamGameActual As Double = Math.Round(Math.Min(RamGame, RamAvailable), 5)
|
||||
Dim RamUsed As Double = Math.Round(RamTotal - RamAvailable, 5)
|
||||
Dim RamEmpty As Double = Math.Round(MathClamp(RamTotal - RamUsed - RamGame, 0, 1000), 1)
|
||||
'设置最大可用内存
|
||||
If RamTotal <= 1.5 Then
|
||||
SliderRamCustom.MaxValue = Math.Max(Math.Floor((RamTotal - 0.3) / 0.1), 1)
|
||||
|
||||
Reference in New Issue
Block a user