diff --git a/Plain Craft Launcher 2/Controls/MyCard.vb b/Plain Craft Launcher 2/Controls/MyCard.vb index 08ced68d5..abd1dc274 100644 --- a/Plain Craft Launcher 2/Controls/MyCard.vb +++ b/Plain Craft Launcher 2/Controls/MyCard.vb @@ -148,11 +148,11 @@ Public Class MyCard '不能使用 AddressOf,这导致了 #535,原因完全不明,疑似是编译器 Bug Stack.Children.Add(McDownloadListItem(Data, Sub(sender, e) FrmDownloadInstall.MinecraftSelected(sender, e), False)) Case 8 - '若存在重复的版本名,则显示文件名而非版本名(#1344) + '若存在重复的实例名,则显示文件名而非实例名(#1344) Stack.Children.Add(CType(Data, ResourceVersion).ToListItem( AddressOf FrmDownloadResourceDetail.Save_Click, IsBadDisplay:=HasDuplicates)) Case 9 - '若存在重复的版本名,则显示文件名而非版本名(#1344) + '若存在重复的实例名,则显示文件名而非实例名(#1344) Stack.Children.Add(CType(Data, ResourceVersion).ToListItem( AddressOf FrmDownloadResourceDetail.Install_Click, AddressOf FrmDownloadResourceDetail.Save_Click, IsBadDisplay:=HasDuplicates)) Case 10 diff --git a/Plain Craft Launcher 2/FormMain.xaml.vb b/Plain Craft Launcher 2/FormMain.xaml.vb index 49e51e8b5..07147b701 100644 --- a/Plain Craft Launcher 2/FormMain.xaml.vb +++ b/Plain Craft Launcher 2/FormMain.xaml.vb @@ -12,14 +12,14 @@ Public Class FormMain '统计更新日志条目 If BuildType = BuildTypes.Release Then If LastVersion < 408 Then 'Release 2.13.1.1 - FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化:版本设置中,添加打开截图文件夹的快捷方式")) + FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化:实例设置中,添加打开截图文件夹的快捷方式")) FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化:导出整合包时,可以勾选导出光影设置文件")) FeatureCount += 23 BugCount += 28 End If If LastVersion < 406 Then 'Release 2.13.0.1 FeatureList.Add(New KeyValuePair(Of Integer, String)(4, "新增:重做 Java 管理与相关设置,允许调整 Java 优先级、指定 Java 版本范围等")) - FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "优化:导出整合包时允许自动导出版本文件夹中的 Java")) + FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "优化:导出整合包时允许自动导出实例文件夹中的 Java")) FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "优化:重做弹出提示的样式以及动画,以更符合现代 UI 审美")) FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:可能无法安装 OptiFine 26.1.2")) FeatureCount += 35 @@ -99,7 +99,7 @@ Public Class FormMain BugCount += 6 End If If LastVersion < 409 Then 'Snapshot 2.13.1.0 - FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化:版本设置中,添加打开截图文件夹的快捷方式")) + FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化:实例设置中,添加打开截图文件夹的快捷方式")) FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化:导出整合包时,可以勾选导出光影设置文件")) FeatureCount += 21 BugCount += 22 @@ -108,7 +108,7 @@ Public Class FormMain If LastVersion = 405 Then FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:使用部分主页预设时崩溃")) FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:无法删除部分文件夹")) - FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:版本设置中指定的 Java 无法被保存")) + FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:实例设置中指定的 Java 无法被保存")) FeatureCount += 1 BugCount += 3 End If @@ -116,7 +116,7 @@ Public Class FormMain End If If LastVersion < 405 Then 'Snapshot 2.13.0.0 FeatureList.Add(New KeyValuePair(Of Integer, String)(4, "新增:重做 Java 管理与相关设置,允许调整 Java 优先级、指定 Java 版本范围等")) - FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "优化:导出整合包时允许自动导出版本文件夹中的 Java")) + FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "优化:导出整合包时允许自动导出实例文件夹中的 Java")) FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "优化:重做弹出提示的样式以及动画,以更符合现代 UI 审美")) FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:可能无法安装 OptiFine 26.1.2")) FeatureCount += 35 @@ -160,7 +160,7 @@ Public Class FormMain End If If LastVersion < 386 Then 'Snapshot 2.12.6 FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "修复:Minecraft 使用 Java 25+ 时的一个性能问题")) - If LastVersion = 384 OrElse LastVersion = 385 Then FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "修复:无法正常重命名游戏版本")) + If LastVersion = 384 OrElse LastVersion = 385 Then FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "修复:无法正常重命名游戏实例")) If LastVersion = 385 Then FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:无法显示 Modrinth 整合包的版本列表")) BugCount += 1 End If @@ -196,7 +196,7 @@ Public Class FormMain End If If LastVersion < 378 Then 'Snapshot 2.12.1 If LastVersion >= 377 Then - FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:在版本列表中存在 OptiFine 时可能无法加载版本列表")) + FeatureList.Add(New KeyValuePair(Of Integer, String)(1, "修复:在实例列表中存在 OptiFine 时可能无法加载实例列表")) BugCount += 2 End If End If @@ -276,16 +276,16 @@ Public Class FormMain '触发降级 DowngradeSub(LastVersion) End If - '版本隔离设置迁移 + '实例隔离设置迁移 If Not Settings.HasSaved("LaunchArgumentIndieV2") Then If Settings.HasSaved("LaunchArgumentIndie") Then - Logger.Info("从老 PCL 迁移版本隔离") + Logger.Info("从老 PCL 迁移实例隔离") Settings.Set("LaunchArgumentIndieV2", Settings.Get(Of Integer)("LaunchArgumentIndie")) ElseIf HasIniKey("Setup", "LaunchVersionSelect") Then - Logger.Info("从老 PCL 升级,但此前未调整版本隔离,使用老的版本隔离默认值") + Logger.Info("从老 PCL 升级,但此前未调整实例隔离,使用老的实例隔离默认值") Settings.Set("LaunchArgumentIndieV2", Settings.GetDefault("LaunchArgumentIndie")) Else - Logger.Info("全新的 PCL,使用新的版本隔离默认值") + Logger.Info("全新的 PCL,使用新的实例隔离默认值") Settings.Set("LaunchArgumentIndieV2", Settings.GetDefault("LaunchArgumentIndieV2")) End If End If @@ -811,7 +811,7 @@ Public Class FormMain TriggerPageBack() End If End If - '更改隐藏版本可见性 + '更改隐藏实例可见性 If e.Key = Key.F11 AndAlso PageCurrent = FormMain.PageType.InstanceSelect Then FrmSelectRight.ShowHidden = Not FrmSelectRight.ShowHidden LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") @@ -872,7 +872,7 @@ Public Class FormMain '更新当前选用的 Java PageInstanceLeft.ReloadCurrentJava() ElseIf PageCurrent = PageType.InstanceSelect Then - '版本选择 + '实例选择 LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.RunOnUpdated, MaxDepth:=1, ExtraPath:="versions\") End If Catch ex As Exception @@ -955,8 +955,8 @@ Public Class FormMain End If If AuthlibServer = "https://littleskin.cn/api/yggdrasil" Then 'LittleSkin - If MyMsgBox($"是否要在版本 {Target.Name} 中开启 LittleSkin 登录?" & vbCrLf & - "你可以在 版本设置 → 设置 → 服务器选项 中修改登录方式。", "第三方登录开启确认", "确定", "取消") = 2 Then + If MyMsgBox($"是否要在实例 {Target.Name} 中开启 LittleSkin 登录?" & vbCrLf & + "你可以在 实例设置 → 设置 → 服务器选项 中修改登录方式。", "第三方登录开启确认", "确定", "取消") = 2 Then Return End If Settings.Set("VersionServerLogin", 4, Instance:=Target) @@ -965,9 +965,9 @@ Public Class FormMain Settings.Set("VersionServerAuthName", "LittleSkin 登录", Instance:=Target) Else '第三方 Authlib 服务器 - If MyMsgBox($"是否要在版本 {Target.Name} 中开启第三方登录?" & vbCrLf & + If MyMsgBox($"是否要在实例 {Target.Name} 中开启第三方登录?" & vbCrLf & $"登录服务器:{AuthlibServer}" & vbCrLf & vbCrLf & - "你可以在 版本设置 → 设置 → 服务器选项 中修改登录方式。", "第三方登录开启确认", "确定", "取消") = 2 Then + "你可以在 实例设置 → 设置 → 服务器选项 中修改登录方式。", "第三方登录开启确认", "确定", "取消") = 2 Then Return End If Settings.Set("VersionServerLogin", 4, Instance:=Target) @@ -1183,7 +1183,7 @@ Public Class FormMain ''' Other = 4 ''' - ''' 版本选择。这是一个副页面。 + ''' 实例选择。这是一个副页面。 ''' InstanceSelect = 5 ''' @@ -1191,7 +1191,7 @@ Public Class FormMain ''' TaskManager = 6 ''' - ''' 版本设置。这是一个副页面。 + ''' 实例设置。这是一个副页面。 ''' InstanceSetup = 7 ''' @@ -1235,11 +1235,11 @@ Public Class FormMain Private Function PageNameGet(Stack As PageStackData) As String Select Case Stack.Page Case PageType.InstanceSelect - Return "版本选择" + Return "实例选择" Case PageType.TaskManager Return "任务管理" Case PageType.InstanceSetup - Return "版本设置 - " & If(PageInstanceLeft.Instance Is Nothing, "未知版本", PageInstanceLeft.Instance.Name) + Return "实例设置 - " & If(PageInstanceLeft.Instance Is Nothing, "未知实例", PageInstanceLeft.Instance.Name) Case PageType.ResourceDetail Return CType(Stack.Additional(0), ResourceProject).TranslatedName Case PageType.HelpDetail @@ -1455,7 +1455,7 @@ Public Class FormMain Case PageType.Other '更多 If FrmOtherLeft Is Nothing Then FrmOtherLeft = New PageOtherLeft PageChangeAnim(FrmOtherLeft, FrmOtherLeft.PageGet(SubType)) - Case PageType.InstanceSelect '版本选择 + Case PageType.InstanceSelect '实例选择 If FrmSelectLeft Is Nothing Then FrmSelectLeft = New PageSelectLeft If FrmSelectRight Is Nothing Then FrmSelectRight = New PageSelectRight PageChangeAnim(FrmSelectLeft, FrmSelectRight) @@ -1463,7 +1463,7 @@ Public Class FormMain If FrmSpeedLeft Is Nothing Then FrmSpeedLeft = New PageSpeedLeft If FrmSpeedRight Is Nothing Then FrmSpeedRight = New PageSpeedRight PageChangeAnim(FrmSpeedLeft, FrmSpeedRight) - Case PageType.InstanceSetup '版本设置 + Case PageType.InstanceSetup '实例设置 If FrmInstanceLeft Is Nothing Then FrmInstanceLeft = New PageInstanceLeft PageChangeAnim(FrmInstanceLeft, FrmInstanceLeft.PageGet(SubType)) Case PageType.ResourceDetail '社区资源详情 diff --git a/Plain Craft Launcher 2/Modules/Base/ModBase.vb b/Plain Craft Launcher 2/Modules/Base/ModBase.vb index c591cc6f5..0745b8668 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModBase.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModBase.vb @@ -6,7 +6,7 @@ Public Module ModBase #Region "声明" '下列版本信息由更新器自动修改 - Public Const VersionBaseName As String = "2.13.1.1" '显示用版本名 + Public Const VersionBaseName As String = "2.13.1.1" '显示用实例名 Public Const CommitHash As String = "" 'Commit Hash,由 GitHub Workflow 自动替换 #If RELEASE Then Public Const VersionCode As Integer = 408 '正式版 diff --git a/Plain Craft Launcher 2/Modules/Base/ModNet.vb b/Plain Craft Launcher 2/Modules/Base/ModNet.vb index 34c994e2d..99f100ec5 100644 --- a/Plain Craft Launcher 2/Modules/Base/ModNet.vb +++ b/Plain Craft Launcher 2/Modules/Base/ModNet.vb @@ -1474,7 +1474,7 @@ FinishExCatch: Private Sub CheckExistingFiles(Files As List(Of NetFile), FolderList As List(Of String)) Try Logger.Trace(Function() $"文件检查开始,本线程负责 {Files.Count} 个文件,首个文件为 {Files.FirstOrDefault?.LocalName}") - '列出 MC 文件夹中的各个版本文件夹 + '列出 MC 文件夹中的各个实例文件夹 Dim VersionFolders As New List(Of String) For Each McFolder In FolderList For Each VersionFolder In DirectoryUtils.EnumerateDirectories(McFolder & "versions\") @@ -1545,7 +1545,7 @@ FinishExCatch: Next Return Nothing Case "versions\" - '版本 jar 或 json:查找 MC 文件夹下的各个版本文件夹 + '版本 jar 或 json:查找 MC 文件夹下的各个实例文件夹 For Each VersionFolder In VersionFolders For Each Candidate In DirectoryUtils.EnumerateFiles(VersionFolder, searchPattern:="*." & PathUtils.GetLastPart(File.LocalPath).AfterLast(".").Lower) If CheckCandidate(Candidate, File.Check) Then Return Candidate diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb index 4b30a0b1a..bd8aaf5c6 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb @@ -949,13 +949,13 @@ NextStack: Case CrashReason.内存不足 Results.Add("Minecraft 内存不足,导致其无法继续运行。\n这很可能是因为电脑内存不足、游戏分配的内存不足,或是配置要求过高。\n\n你可以尝试在 更多 → 百宝箱 中选择 内存优化,然后再启动游戏。\n如果还是不行,请在启动设置中增加为游戏分配的内存,并删除配置要求较高的材质、Mod、光影。\n如果依然不奏效,请在开始游戏前尽量关闭其他软件,或者……换台电脑?\h") Case CrashReason.使用OpenJ9 - Results.Add("游戏因为使用 OpenJ9 而崩溃了。\n请在版本设置的 Java 选项中改用非 OpenJ9 的 Java,然后再启动游戏。") + Results.Add("游戏因为使用 OpenJ9 而崩溃了。\n请在实例设置的 Java 选项中改用非 OpenJ9 的 Java,然后再启动游戏。") Case CrashReason.使用JDK - Results.Add("游戏似乎因为使用 JDK,或 Java 版本过高而崩溃了。\n请在版本设置的 Java 选项中改用 Java 8,然后再启动游戏。\n如果你没有安装 Java 8,可以从网络中下载、安装一个。") + Results.Add("游戏似乎因为使用 JDK,或 Java 版本过高而崩溃了。\n请在实例设置的 Java 选项中改用 Java 8,然后再启动游戏。\n如果你没有安装 Java 8,可以从网络中下载、安装一个。") Case CrashReason.Java版本过高 - Results.Add("游戏似乎因为你所使用的 Java 版本过高而崩溃了。\n请在版本设置的 Java 选项中改用较低版本的 Java,然后再启动游戏。\n如果没有,可以从网络中下载、安装一个。") + Results.Add("游戏似乎因为你所使用的 Java 版本过高而崩溃了。\n请在实例设置的 Java 选项中改用较低版本的 Java,然后再启动游戏。\n如果没有,可以从网络中下载、安装一个。") Case CrashReason.Java版本不兼容 - Results.Add("游戏不兼容你当前使用的 Java。\n请在版本设置的 Java 选项中改用合适版本的 Java,然后再启动游戏。\n如果你没有安装任何 Mod 并且因此崩溃,请向 PCL 提交反馈。") + Results.Add("游戏不兼容你当前使用的 Java。\n请在实例设置的 Java 选项中改用合适版本的 Java,然后再启动游戏。\n如果你没有安装任何 Mod 并且因此崩溃,请向 PCL 提交反馈。") Case CrashReason.Mod名称包含特殊字符 Results.Add("由于有 Mod 的名称包含特殊字符,导致游戏崩溃。\n请尝试修改 Mod 文件名,让它只包含英文字母、数字、减号(-)、下划线(_)和小数点,然后再启动游戏。") Case CrashReason.MixinBootstrap缺失 diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb index 67490af90..4822c51d3 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb @@ -357,7 +357,7 @@ Public Module ModDownload ''' Public FileName As String ''' - ''' 对应的版本名称,如“1.13.2-OptiFine_HD_U_E6”。 + ''' 对应的实例名称,如“1.13.2-OptiFine_HD_U_E6”。 ''' Public InstanceName As String ''' @@ -567,7 +567,7 @@ Public Module ModDownload ''' Public Version As Version ''' - ''' 可读的非格式化版本名。 + ''' 可读的非格式化实例名。 ''' Forge:如 “50.1.9”、“14.22.1.2478”(Legacy)。 ''' NeoForge:如 “20.4.30-beta”、“47.1.99”(Legacy)。 ''' @@ -606,7 +606,7 @@ Public Module ModDownload ''' Public Category As String ''' - ''' 用于下载的文件版本名。可能在 Version 的基础上添加了分支。 + ''' 用于下载的文件实例名。可能在 Version 的基础上添加了分支。 ''' Public FileVersion As String diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModJava.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModJava.vb index 7ce900d02..d7c049598 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModJava.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModJava.vb @@ -14,7 +14,7 @@ Public Module ModJava Dim OldJavaList = Settings.Get(Of String)("LaunchArgumentJavaAll").DeserializeJson(Of JArray). Select(Function(JavaObject) New Java(JavaObject("Path").ToString)).ToList() OldJavaList = JavaUtils.SortAsync(OldJavaList).Run() - Logger.Info($"已从老版本设置中发现 {OldJavaList.Count} 个 Java") + Logger.Info($"已从老实例设置中发现 {OldJavaList.Count} 个 Java") '强制选择的 Java Dim SelectedJavaSetting = Settings.Get(Of String)("LaunchArgumentJavaSelect") Dim SelectedJava = If(SelectedJavaSetting.StartsWithF("{"), SelectedJavaSetting.DeserializeJson(Of JObject)()("Path").ToString, "") @@ -22,7 +22,7 @@ Public Module ModJava If Match IsNot Nothing Then OldJavaList.Remove(Match) OldJavaList.Insert(0, Match) - Logger.Info($"已将老版本设置中强制选择的 Java 置顶:{Match}") + Logger.Info($"已将老实例设置中强制选择的 Java 置顶:{Match}") End If Configs.JavaList.Set(New ConcurrentList(Of Java)(OldJavaList)) '完成迁移 @@ -127,13 +127,13 @@ Public Module ModJava ''' Public Function GetJavaRequirement(Instance As McInstance) As (Range As ValueRange(Of Version), RecommendedComponent As String) - '版本设置已经强制指定了 Java 版本要求 + '实例设置已经强制指定了 Java 版本要求 If Settings.Get(Of Integer)("VersionArgumentJavaV2", Instance) = 1 Then Try Dim Range = ValueRange(Of Version).FromString(Settings.Get(Of String)("VersionArgumentJavaRange", Instance), Function(s) StringUtils.ParseVersionWithDefaults(s)) Return (Range, Nothing) Catch ex As Exception - Logger.Warn($"版本设置中指定的 Java 版本范围有误({Settings.Get(Of String)("VersionArgumentJavaRange", Instance)}),这可能是因为首次修改此设置,尚未初始化") + Logger.Warn($"实例设置中指定的 Java 版本范围有误({Settings.Get(Of String)("VersionArgumentJavaRange", Instance)}),这可能是因为首次修改此设置,尚未初始化") End Try End If @@ -144,7 +144,7 @@ Public Module ModJava Sub(Constraint As ValueRange(Of Version)) JavaRange = JavaRange?.Intersect(Constraint) If JavaRange.IsEmpty Then - Logger.Warn($"Java 版本要求冲突,若启动失败请在版本设置手动指定 Java:当前追加的要求为 {Constraint},游戏版本为 {Instance.VersionDisplayName}", LogBehavior.Toast) + Logger.Warn($"Java 版本要求冲突,若启动失败请在实例设置手动指定 Java:当前追加的要求为 {Constraint},游戏版本为 {Instance.VersionDisplayName}", LogBehavior.Toast) JavaRange = Constraint End If End Sub @@ -284,19 +284,19 @@ Public Module ModJava Dim Instance As McInstance = If(Target.Is(Of McInstance), Target.As(Of McInstance), Nothing) Select Case If(Instance Is Nothing, 0, Settings.Get(Of Integer)("VersionArgumentJavaV2", Instance)) - Case 2 '============================= 使用版本文件夹中的 Java ============================= + Case 2 '============================= 使用实例文件夹中的 Java ============================= - '查找版本文件夹下的 Java - Logger.Info($"版本设置要求使用版本文件夹中的 Java:{Instance.PathVersion}") + '查找实例文件夹下的 Java + Logger.Info($"实例设置要求使用实例文件夹中的 Java:{Instance.PathVersion}") Dim JavaFound = JavaUtils.SearchFoldersAsync(True, {Instance.PathVersion}, c, p?.SplitTo(1)).Run().FirstOrDefault() If JavaFound IsNot Nothing Then - Logger.Info($"已发现版本文件夹中的 Java:{JavaFound}") + Logger.Info($"已发现实例文件夹中的 Java:{JavaFound}") Return JavaFound End If '未能找到 If TryFixOrHint Then SwitchToInstanceSetup(Instance) - MyMsgBox($"该版本的版本设置选择了 {vbLQ}使用版本文件夹中的 Java{vbRQ},但版本文件夹里没能找到 Java。{vbCrLf}请先修改启动选项中的 Java 设置,或在版本文件夹中放一个 Java,然后再试。", + MyMsgBox($"该实例的实例设置选择了 {vbLQ}使用实例文件夹中的 Java{vbRQ},但实例文件夹里没能找到 Java。{vbCrLf}请先修改启动选项中的 Java 设置,或在实例文件夹中放一个 Java,然后再试。", "未找到 Java", IsWarn:=True, ForceWait:=True) End If Return Nothing @@ -304,11 +304,11 @@ Public Module ModJava Case 3 '=============================== 强制指定特定 Java =============================== Dim ChosenJava = Configs.JavaForced.Get(Instance.Config) - Logger.Info($"版本设置中强制指定的 Java:{Instance.PathVersion} → {ChosenJava}") + Logger.Info($"实例设置中强制指定的 Java:{Instance.PathVersion} → {ChosenJava}") If ChosenJava Is Nothing Then If TryFixOrHint Then SwitchToInstanceSetup(Instance) - MyMsgBox($"该版本的版本设置选择了 {vbLQ}使用指定的 Java{vbRQ},但还没有指定任何 Java。{vbCrLf}请先选择你想使用的 Java,然后再试。", + MyMsgBox($"该实例的实例设置选择了 {vbLQ}使用指定的 Java{vbRQ},但还没有指定任何 Java。{vbCrLf}请先选择你想使用的 Java,然后再试。", "未选择 Java", IsWarn:=True, ForceWait:=True) End If p?.Skip() : Return Nothing '<==== 设置中未指定 Java @@ -318,7 +318,7 @@ Public Module ModJava UpdateJavaLists() If TryFixOrHint Then SwitchToInstanceSetup(Instance) - Logger.Error("版本设置中指定的 Java 不在 Java 列表中,请重新选择一个 Java!", LogBehavior.Alert) + Logger.Error("实例设置中指定的 Java 不在 Java 列表中,请重新选择一个 Java!", LogBehavior.Alert) End If p?.Skip() : Return Nothing '<==== 设置中指定的 Java 不在列表中 End If @@ -327,9 +327,9 @@ Public Module ModJava UpdateJavaLists() If TryFixOrHint Then SwitchToInstanceSetup(Instance) - Logger.Error("版本设置中指定的 Java 已无法使用,请重新选择一个 Java,然后再试。", LogBehavior.Alert) + Logger.Error("实例设置中指定的 Java 已无法使用,请重新选择一个 Java,然后再试。", LogBehavior.Alert) Else - Logger.Error("版本设置中指定的 Java 已无法使用,请重新选择一个 Java!", LogBehavior.Toast) + Logger.Error("实例设置中指定的 Java 已无法使用,请重新选择一个 Java!", LogBehavior.Toast) End If p?.Finish() : Return Nothing '<==== 指定的 Java 存在异常 End If @@ -511,8 +511,8 @@ Public Module ModJava NoForcedJava: Dim JavaFound = JavaUtils.SearchFoldersAsync(True, {Instance.PathVersion}, c, p?.SplitTo(1)).Run() If JavaFound.Any() Then - '从版本文件夹中发现了 Java - Logger.Info($"在版本文件夹中发现了 Java,将版本独立设置改为优先使用版本文件夹的 Java:{JavaFound}") + '从实例文件夹中发现了 Java + Logger.Info($"在实例文件夹中发现了 Java,将版本独立设置改为优先使用实例文件夹的 Java:{JavaFound}") Settings.Set("VersionArgumentJavaV2", 2, Instance) Else '自动选择 diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb index 71bedf71f..9dada742c 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb @@ -6,7 +6,7 @@ Public Module ModLaunch Public Class McLaunchOptions ''' ''' 强制指定在启动后进入的服务器 IP。 - ''' 默认值:Nothing。使用版本设置的值。 + ''' 默认值:Nothing。使用实例设置的值。 ''' Public ServerIp As String = Nothing ''' @@ -15,7 +15,7 @@ Public Module ModLaunch ''' Public SaveBatch As String = Nothing ''' - ''' 强行指定启动的 MC 版本。 + ''' 强行指定启动的 MC 实例。 ''' 默认值:Nothing。使用 McInstanceCurrent。 ''' Public Instance As McInstance = Nothing @@ -36,29 +36,29 @@ Public Module ModLaunch Hint("已有游戏正在启动中!", HintType.Red) Return False End If - '强制切换需要启动的版本 + '强制切换需要启动的实例 If CurrentLaunchOptions.Instance IsNot Nothing AndAlso McInstanceSelected <> CurrentLaunchOptions.Instance Then - McLaunchLog("在启动前切换到版本 " & CurrentLaunchOptions.Instance.Name) - '检查版本是否存在 + McLaunchLog("在启动前切换到实例 " & CurrentLaunchOptions.Instance.Name) + '检查实例是否存在 Try CurrentLaunchOptions.Instance.GetJsonPath() Catch - Hint($"无法启动 {CurrentLaunchOptions.Instance.Name}:当前 Minecraft 文件夹中尚未安装该版本!", HintType.Red) + Hint($"无法启动 {CurrentLaunchOptions.Instance.Name}:当前 Minecraft 文件夹中尚未安装该实例!", HintType.Red) Return False End Try - '检查版本 + '检查实例 CurrentLaunchOptions.Instance.Load() If CurrentLaunchOptions.Instance.State = McInstanceState.Error Then Hint($"无法启动 {CurrentLaunchOptions.Instance.Name}:{CurrentLaunchOptions.Instance.Info}", HintType.Red) Return False End If - '切换版本 + '切换实例 McInstanceSelected = CurrentLaunchOptions.Instance FrmLaunchLeft.RefreshButtonsUI() FrmLaunchLeft.RefreshPage(False, False) End If FrmMain.AprilGiveup() - '禁止进入版本选择页面(否则就可以在启动中切换 McInstanceSelected 了) + '禁止进入实例选择页面(否则就可以在启动中切换 McInstanceSelected 了) FrmMain.PageStack = FrmMain.PageStack.Where(Function(p) p.Page <> FormMain.PageType.InstanceSelect).ToList '实际启动加载器 McLaunchLoader.Start(Options, IsForceRestart:=True) @@ -246,8 +246,8 @@ NextInner: '检查路径 If McInstanceSelected.PathIndie.Contains("!") OrElse McInstanceSelected.PathIndie.Contains(";") Then Throw New Exception("游戏路径中不可包含 ! 或 ;(" & McInstanceSelected.PathIndie & ")") If McInstanceSelected.PathVersion.Contains("!") OrElse McInstanceSelected.PathVersion.Contains(";") Then Throw New Exception("游戏路径中不可包含 ! 或 ;(" & McInstanceSelected.PathVersion & ")") - '检查版本 - If McInstanceSelected Is Nothing Then Throw New Exception("未选择 Minecraft 版本!") + '检查实例 + If McInstanceSelected Is Nothing Then Throw New Exception("未选择 Minecraft 实例!") McInstanceSelected.Load() If McInstanceSelected.State = McInstanceState.Error Then Throw New Exception("Minecraft 存在问题:" & McInstanceSelected.Info) '检查输入信息 @@ -2091,7 +2091,7 @@ IgnoreCustomSkin: End Try End If If CustomCommandVersion <> "" Then - McLaunchLog("正在执行版本自定义命令:" & CustomCommandVersion) + McLaunchLog("正在执行实例自定义命令:" & CustomCommandVersion) Dim CustomProcess As Process = Nothing Try CustomProcess = StartProcess(New ProcessStartInfo With { @@ -2107,7 +2107,7 @@ IgnoreCustomSkin: Loop End If Catch ex As Exception - Logger.Error(ex, "执行版本自定义命令失败", LogBehavior.Toast) + Logger.Error(ex, "执行实例自定义命令失败", LogBehavior.Toast) Finally If CustomProcess IsNot Nothing AndAlso Not CustomProcess.HasExited AndAlso Loader.IsCanceled Then McLaunchLog("由于取消启动,已强制结束自定义命令 CMD 进程") '#1183 @@ -2177,8 +2177,8 @@ IgnoreCustomSkin: McLaunchLog("版本继承:" & If(McInstanceSelected.InheritName = "", "无", McInstanceSelected.InheritName)) McLaunchLog("分配的内存:" & PageInstanceSetup.GetRam(McInstanceSelected) & " GB(" & Math.Round(PageInstanceSetup.GetRam(McInstanceSelected) * 1024) & " MB)") McLaunchLog("MC 文件夹:" & McFolderSelected) - McLaunchLog("版本文件夹:" & McInstanceSelected.PathVersion) - McLaunchLog("版本隔离:" & (McInstanceSelected.PathIndie = McInstanceSelected.PathVersion)) + McLaunchLog("实例文件夹:" & McInstanceSelected.PathVersion) + McLaunchLog("实例隔离:" & (McInstanceSelected.PathIndie = McInstanceSelected.PathVersion)) McLaunchLog("HMCL 格式:" & McInstanceSelected.IsHmclFormatJson) McLaunchLog("Java 信息:" & If(McLaunchJavaSelected IsNot Nothing, McLaunchJavaSelected.ToString, "无可用 Java")) McLaunchLog("Natives 文件夹:" & GetNativesFolder()) diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb index f6ddabaf1..23575cac8 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModMinecraft.vb @@ -169,11 +169,11 @@ Public Module ModMinecraft #End Region -#Region "版本处理" +#Region "实例处理" Private _McInstanceSelected As McInstance ''' - ''' 当前的 Minecraft 版本。 + ''' 当前的 Minecraft 实例。 ''' Public Property McInstanceSelected As McInstance Get @@ -185,7 +185,7 @@ Public Module ModMinecraft _McInstanceSelected = value '由于有可能是 Nothing,导致无法初始化,才得这样弄一圈 _McInstanceSelectedLast = value '更新 MC 文件夹所选取的 Minecraft 版本 - Logger.Info($"当前选择的 Minecraft 版本:{If(value?.PathVersion, "无")}") + Logger.Info($"当前选择的 Minecraft 实例:{If(value?.PathVersion, "无")}") WriteIni(McFolderSelected & "PCL.ini", "Version", If(value?.Name, "")) If value Is Nothing Then Return '重置缓存的下载文件夹 @@ -218,44 +218,44 @@ Public Module ModMinecraft Public Class McInstance ''' - ''' 版本文件夹路径,以 \ 结尾。 + ''' 实例文件夹路径,以 \ 结尾。 ''' Public ReadOnly Property PathVersion As String ''' - ''' 应用版本隔离后,该版本所对应的 Minecraft 根文件夹,以 \ 结尾。 + ''' 应用实例隔离后,该实例所对应的 Minecraft 根文件夹,以 \ 结尾。 ''' Public ReadOnly Property PathIndie As String Get If Not Settings.HasSaved("VersionArgumentIndieV2", Instance:=Me) Then If Not IsLoaded Then Load() - '决定该版本是否应该被隔离 + '决定该实例是否应该被隔离 Dim ShouldBeIndie = Function() As Boolean - '从老的版本独立设置中迁移:-1 未决定,0 使用全局设置,1 手动开启,2 手动关闭 + '从老的实例独立设置中迁移:-1 未决定,0 使用全局设置,1 手动开启,2 手动关闭 If Settings.HasSaved("VersionArgumentIndie", Instance:=Me) AndAlso Settings.Get(Of Integer)("VersionArgumentIndie", Instance:=Me) > 0 Then - Logger.Info($"版本隔离初始化({Name}):从老的版本独立设置中迁移") + Logger.Info($"实例隔离初始化({Name}):从老的实例独立设置中迁移") Return Settings.Get(Of Integer)("VersionArgumentIndie", Instance:=Me) = 1 End If - '若版本文件夹下包含 mods 或 saves 文件夹,则自动开启版本隔离 + '若实例文件夹下包含 mods 或 saves 文件夹,则自动开启实例隔离 Dim ModFolder = DirectoryUtils.GetInfo(PathVersion & "mods\") Dim SaveFolder = DirectoryUtils.GetInfo(PathVersion & "saves\") If (ModFolder.Exists AndAlso ModFolder.EnumerateFiles.Any) OrElse (SaveFolder.Exists AndAlso SaveFolder.EnumerateDirectories.Any) Then - Logger.Info($"版本隔离初始化({Name}):版本文件夹下存在 mods 或 saves 文件夹,自动开启") + Logger.Info($"实例隔离初始化({Name}):实例文件夹下存在 mods 或 saves 文件夹,自动开启") Return True End If '根据全局的默认设置决定是否隔离 Dim IsRelease As Boolean = State <> McInstanceState.Fool AndAlso State <> McInstanceState.Old AndAlso State <> McInstanceState.Snapshot - Logger.Info($"版本隔离初始化({Name}):从全局默认设置中({Settings.Get(Of Integer)("LaunchArgumentIndieV2")})判断,State {State},IsRelease {IsRelease},Modable {Modable}") + Logger.Info($"实例隔离初始化({Name}):从全局默认设置中({Settings.Get(Of Integer)("LaunchArgumentIndieV2")})判断,State {State},IsRelease {IsRelease},Modable {Modable}") Select Case Settings.Get(Of Integer)("LaunchArgumentIndieV2") Case 0 '关闭 Return False - Case 1 '仅隔离可安装 Mod 的版本 + Case 1 '仅隔离可安装 Mod 的实例 Return Modable Case 2 '仅隔离非正式版 Return Not IsRelease - Case 3 '隔离非正式版与可安装 Mod 的版本 + Case 3 '隔离非正式版与可安装 Mod 的实例 Return Not IsRelease OrElse Modable - Case Else '隔离所有版本 + Case Else '隔离所有实例 Return True End Select End Function @@ -266,7 +266,7 @@ Public Module ModMinecraft End Property ''' - ''' 该版本的版本文件夹名称。 + ''' 该实例的文件夹名称。 ''' Public ReadOnly Property Name As String Get @@ -279,26 +279,26 @@ Public Module ModMinecraft ''' ''' 显示的描述文本。 ''' - Public Info As String = "该版本未被加载,请向作者反馈此问题" + Public Info As String = "该实例未被加载,请向作者反馈此问题" ''' - ''' 该版本的列表检查原始结果,不受自定义影响。 + ''' 该实例的列表检查原始结果,不受自定义影响。 ''' Public State As McInstanceState = McInstanceState.Error ''' - ''' 显示的版本图标。 + ''' 显示的实例图标。 ''' Public Logo As String ''' - ''' 是否为收藏的版本。 + ''' 是否为收藏的实例。 ''' Public IsStar As Boolean = False ''' - ''' 强制版本分类,0 为未启用,1 为隐藏,2 及以上为其他普通分类。 + ''' 强制实例分类,0 为未启用,1 为隐藏,2 及以上为其他普通分类。 ''' Public DisplayType As McInstanceCardType = McInstanceCardType.Auto ''' - ''' 该版本是否可以安装 Mod。 + ''' 该实例是否可以安装 Mod。 ''' Public ReadOnly Property Modable As Boolean Get @@ -670,7 +670,7 @@ Recheck: End Sub ''' - ''' 从版本名,或版本文件夹的完整路径初始化。 + ''' 从实例名,或实例文件夹的完整路径初始化。 ''' Public Sub New(NameOrFullPath As String) NameOrFullPath = PathUtils.RemoveExtendedPrefix(NameOrFullPath) @@ -781,7 +781,7 @@ Recheck: End Select #End Region ExitDataLoad: - '确定版本图标 + '确定实例图标 Logo = ReadIni(PathVersion & "PCL\Setup.ini", "Logo", "") If Logo = "" OrElse Not CType(ReadIni(PathVersion & "PCL\Setup.ini", "LogoCustom", False), Boolean) Then Select Case State @@ -807,7 +807,7 @@ ExitDataLoad: Logo = PathImage & "Blocks/RedstoneBlock.png" End Select End If - '确定版本描述 + '确定实例描述 Dim CustomInfo As String = ReadIni(PathVersion & "PCL\Setup.ini", "CustomInfo") If CustomInfo <> "" Then Info = CustomInfo @@ -909,7 +909,7 @@ ExitDataLoad: '标题 NewItem.Inlines.Clear() NewItem.Inlines.Add(New Run(Name)) - If ReadIni(PathVersion & "PCL\Setup.ini", "CustomInfo") <> "" Then '如果版本设置了自定义描述,在标题后面以淡灰色显示其版本号 + If ReadIni(PathVersion & "PCL\Setup.ini", "CustomInfo") <> "" Then '如果实例设置了自定义描述,在标题后面以淡灰色显示其版本号 NewItem.Inlines.Add(New Run(" | " & VersionDisplayName()) With {.Foreground = New MyColor(215, 215, 215), .FontSize = 12}) End If 'Logo @@ -920,7 +920,7 @@ ExitDataLoad: NewItem.Logo = Logo End If Catch ex As Exception - Logger.Error(ex, "加载版本图标失败", LogBehavior.Toast) + Logger.Error(ex, "加载实例图标失败", LogBehavior.Toast) NewItem.Logo = "pack://application:,,,/images/Blocks/RedstoneBlock.png" End Try Return NewItem @@ -1008,7 +1008,7 @@ ExitDataLoad: 'OptiFine ''' - ''' 该版本是否通过 JSON 安装了 OptiFine。 + ''' 该实例是否通过 JSON 安装了 OptiFine。 ''' Public ReadOnly Property HasOptiFine As Boolean Get @@ -1049,7 +1049,7 @@ ExitDataLoad: 'Forge/NeoForge ''' - ''' 该版本是否安装了 Forge。 + ''' 该实例是否安装了 Forge。 ''' Public ReadOnly Property HasForge As Boolean Get @@ -1057,7 +1057,7 @@ ExitDataLoad: End Get End Property ''' - ''' 该版本是否安装了 NeoForge。 + ''' 该实例是否安装了 NeoForge。 ''' Public ReadOnly Property HasNeoForge As Boolean Get @@ -1065,7 +1065,7 @@ ExitDataLoad: End Get End Property ''' - ''' 该版本是否安装了 Forge 或 NeoForge。 + ''' 该实例是否安装了 Forge 或 NeoForge。 ''' Public ReadOnly Property HasForgelike As Boolean Get @@ -1105,7 +1105,7 @@ ExitDataLoad: 'Fabric ''' - ''' 该版本是否安装了 Fabric。 + ''' 该实例是否安装了 Fabric。 ''' Public ReadOnly Property HasFabric As Boolean Get @@ -1120,7 +1120,7 @@ ExitDataLoad: 'LiteLoader ''' - ''' 该版本是否安装了 LiteLoader。 + ''' 该实例是否安装了 LiteLoader。 ''' Public HasLiteLoader As Boolean = False @@ -1149,7 +1149,7 @@ ExitDataLoad: Return False End Function ''' - ''' 将版本名转换为 Drop 序数。 + ''' 将实例名转换为 Drop 序数。 ''' 若无法转换则返回 209。 ''' Public Shared Function VersionToDrop(VanillaName As String) As Integer @@ -1172,7 +1172,7 @@ ExitDataLoad: End If End Function ''' - ''' 将版本名转换为可比较的三段式原版版本号。 + ''' 将实例名转换为可比较的三段式原版版本号。 ''' 对老版本格式,例如 1.20.3,会被转换为 20.0.3。 ''' 对愚人节版本,返回其基于的正式版版本号。 ''' 若没有版本号,例如旧快照,则为 9999.0.0。 @@ -1211,7 +1211,7 @@ ExitDataLoad: End Class ''' - ''' 根据版本名获取对应的愚人节版本描述。非愚人节版本会返回空字符串。 + ''' 根据实例名获取对应的愚人节实例描述。非愚人节版本会返回空字符串。 ''' Public Function GetMcFoolName(Name As String) As String Name = Name.Lower @@ -1241,26 +1241,26 @@ ExitDataLoad: End Function ''' - ''' 当前按卡片分类的所有版本列表。 + ''' 当前按卡片分类的所有实例列表。 ''' Public McInstanceList As New Dictionary(Of McInstanceCardType, List(Of McInstance)) #End Region -#Region "版本列表加载" +#Region "实例列表加载" ''' - ''' 是否要求本次加载强制刷新版本列表。 + ''' 是否要求本次加载强制刷新实例列表。 ''' Public McInstanceListForceRefresh As Boolean = False ''' - ''' 是否为本次打开 PCL 后第一次加载版本列表。 + ''' 是否为本次打开 PCL 后第一次加载实例列表。 ''' 这会清理所有 .pclignore 文件,而非跳过这些对应版本。 ''' Private IsFirstMcInstanceListLoad As Boolean = True ''' - ''' 加载 Minecraft 文件夹的版本列表。 + ''' 加载 Minecraft 文件夹的实例列表。 ''' Public McInstanceListLoader As New LoaderTask(Of String, Integer)("Minecraft Instance List", AddressOf InitMcInstanceList) With {.ReloadTimeout = 1} Private Sub InitMcInstanceList(Loader As LoaderTask(Of String, Integer)) @@ -1278,7 +1278,7 @@ ExitDataLoad: FolderList.Add(Folder.Name) Next Catch ex As Exception - Throw New Exception("无法读取版本文件夹,可能是由于没有权限(" & PathMc & "versions)", ex) + Throw New Exception("无法读取实例文件夹,可能是由于没有权限(" & PathMc & "versions)", ex) End Try End If '不可用 @@ -1337,11 +1337,11 @@ OnLoaded: Catch ex As Exception If Loader.IsCanceled OrElse ex.IsCanceled Then Return '#5617 WriteIni(PathMc & "PCL.ini", "InstanceCache", "") '要求下次重新加载 - Logger.Error(ex, "加载 .minecraft 版本列表失败") + Logger.Error(ex, "加载 .minecraft 实例列表失败") End Try End Sub - '获取版本列表 + '获取实例列表 Private Function InitMcInstanceListWithCache(Folder As String) As Dictionary(Of McInstanceCardType, List(Of McInstance)) Dim Results As New Dictionary(Of McInstanceCardType, List(Of McInstance)) Try @@ -1442,7 +1442,7 @@ OnLoaded: End If If (VersionFolderInfo.Name = "cache" OrElse VersionFolderInfo.Name = "BLClient" OrElse VersionFolderInfo.Name = "PCL") AndAlso Not FileUtils.Exists(VersionFolderInfo.FullName & "\" & VersionFolderInfo.Name & ".json") Then - Logger.Info($"跳过可能不是版本文件夹的项目:{VersionFolderInfo.FullName}") + Logger.Info($"跳过可能不是实例文件夹的项目:{VersionFolderInfo.FullName}") Continue For End If Dim VersionFolder As String = VersionFolderInfo.FullName & "\" @@ -1466,10 +1466,10 @@ OnLoaded: #Region "将版本分类到各个卡片" Try - '未经过自定义的版本列表 + '未经过自定义的实例列表 Dim InstanceListOriginal As New Dictionary(Of McInstanceCardType, List(Of McInstance)) - '单独列出收藏的版本 + '单独列出收藏的实例 Dim InstanceStar As New List(Of McInstance) For Each Instance As McInstance In InstanceList.ToList If Not Instance.IsStar Then Continue For @@ -1561,7 +1561,7 @@ OnLoaded: Catch ex As Exception Results.Clear() - Logger.Error(ex, "分类版本列表失败") + Logger.Error(ex, "分类实例列表失败") End Try #End Region #Region "对卡片与版本进行排序" @@ -1622,7 +1622,7 @@ OnLoaded: ''' 卡片的名称。 Private Sub McInstanceFilter(ByRef InstanceList As List(Of McInstance), ByRef Target As Dictionary(Of McInstanceCardType, List(Of McInstance)), Formula As McInstanceState(), CardType As McInstanceCardType) Dim KeepList = InstanceList.Where(Function(v) Formula.Contains(v.State)).ToList - '加入版本列表,并从剩余中删除 + '加入实例列表,并从剩余中删除 If KeepList.Any Then Target.Add(CardType, KeepList) InstanceList = InstanceList.Except(KeepList).ToList() @@ -1636,14 +1636,14 @@ OnLoaded: ''' 传入需要增加入的列表。 Private Sub McInstanceFilter(ByRef InstanceList As List(Of McInstance), Formula As McInstanceState(), ByRef KeepList As List(Of McInstance)) KeepList.AddRange(InstanceList.Where(Function(v) Formula.Contains(v.State))) - '加入版本列表,并从剩余中删除 + '加入实例列表,并从剩余中删除 If KeepList.Any Then InstanceList = InstanceList.Except(KeepList).ToList() End If End Sub Public Enum McInstanceCardType Star = -1 - Auto = 0 '仅用于强制版本分类的自动 + Auto = 0 '仅用于强制实例分类的自动 Hidden = 1 API = 2 OriginalLike = 3 @@ -2416,7 +2416,7 @@ OnLoaded: End Sub ''' - ''' 比较两个版本名;等同 Left >= Right。 + ''' 比较两个实例名;等同 Left >= Right。 ''' 无法比较两个预发布版的大小。 ''' 支持的格式:未知版本, 1.13.2, 1.7.10-pre4, 1.8_pre, 1.14 Pre-Release 2, 1.14.4 C6 ''' @@ -2424,7 +2424,7 @@ OnLoaded: Return CompareVersion(Left, Right) >= 0 End Function ''' - ''' 比较两个版本名,若 Left 较新则返回 1,相同则返回 0,Right 较新则返回 -1;等同 Left - Right。 + ''' 比较两个实例名,若 Left 较新则返回 1,相同则返回 0,Right 较新则返回 -1;等同 Left - Right。 ''' 无法比较两个预发布版的大小。 ''' 支持的格式:未知版本, 26.1-snapshot-1,1.13.2, 1.7.10-pre4, 1.8_pre, 1.14 Pre-Release 2, 1.14.4 C6 ''' @@ -2482,7 +2482,7 @@ NextEntry: Return 0 End Function ''' - ''' 比较两个版本名的排序器。 + ''' 比较两个实例名的排序器。 ''' Public Class VersionComparer Implements IComparer(Of String) diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb index 5b8636979..2c2761d59 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb @@ -115,7 +115,7 @@ Public Module ModModpack FileUtils.ExtractToDirectory(FileAddress, InstallTemp, c, p) End Sub ''' - ''' 从整合包的 override 目录复制文件,同时设置 PCL 的配置文件与版本隔离。 + ''' 从整合包的 override 目录复制文件,同时设置 PCL 的配置文件与实例隔离。 ''' 对路径末尾是否为 \ 没有要求。 ''' Private Sub CopyOverrideDirectory(OverridesFolder As String, VersionFolder As String, Loader As LoaderBase) @@ -132,12 +132,12 @@ Public Module ModModpack Dim OverridesIni As String = $"{OverridesFolder}PCL\Setup.ini" Dim VersionIni As String = $"{VersionFolder}PCL\Setup.ini" If FileUtils.Exists(OverridesIni) Then - WriteIni(OverridesIni, "VersionArgumentIndie", 1) '开启版本隔离 + WriteIni(OverridesIni, "VersionArgumentIndie", 1) '开启实例隔离 WriteIni(OverridesIni, "VersionArgumentIndieV2", True) WriteIni(OverridesIni, "IsStar", False) FileUtils.Copy(OverridesIni, VersionIni) '覆写已有的 ini Else - WriteIni(VersionIni, "VersionArgumentIndie", 1) '开启版本隔离 + WriteIni(VersionIni, "VersionArgumentIndie", 1) '开启实例隔离 WriteIni(VersionIni, "VersionArgumentIndieV2", True) End If IniClearCache(VersionIni) '重置缓存,避免被安装过程中写入的 ini 覆盖 @@ -166,12 +166,12 @@ Public Module ModModpack End Try If Json("minecraft") Is Nothing OrElse Json("minecraft")("version") Is Nothing Then Throw New Exception("CurseForge 整合包未提供 Minecraft 版本信息") - '获取版本名 + '获取实例名 If InstanceName Is Nothing Then InstanceName = If(Json("name"), "") Dim Validate As New ValidateFolderName(McFolderSelected & "versions") If Validate.Validate(InstanceName) <> "" Then InstanceName = "" - If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入版本名称", "", "", New Collection(Of Validate) From {Validate}) + If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入实例名称", "", "", New Collection(Of Validate) From {Validate}) If String.IsNullOrEmpty(InstanceName) Then Throw New OperationCanceledException End If @@ -394,12 +394,12 @@ Public Module ModModpack NotifyIncompatibleLoader(Entry.Name) End Select Next - '获取版本名 + '获取实例名 If InstanceName Is Nothing Then InstanceName = If(Json("name"), "") Dim Validate As New ValidateFolderName(McFolderSelected & "versions") If Validate.Validate(InstanceName) <> "" Then InstanceName = "" - If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入版本名称", "", "", New Collection(Of Validate) From {Validate}) + If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入实例名称", "", "", New Collection(Of Validate) From {Validate}) If String.IsNullOrEmpty(InstanceName) Then Throw New OperationCanceledException End If '解压 @@ -438,7 +438,7 @@ Public Module ModModpack Urls = Urls.Distinct.ToList() Dim TargetPath As String = Path.Combine(McFolderSelected, "versions", InstanceName, File("path").ToString().TrimStart(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar)) If Not PathUtils.IsParentOf($"{McFolderSelected}versions\{InstanceName}\", TargetPath) Then - MyMsgBox($"整合包的文件路径超出了版本文件夹,请向整合包作者反馈此问题!{vbCrLf}目标:{Path.GetFullPath(TargetPath)}{vbCrLf}错误的文件:{TargetPath}", "文件路径校验失败", IsWarn:=True) + MyMsgBox($"整合包的文件路径超出了实例文件夹,请向整合包作者反馈此问题!{vbCrLf}目标:{Path.GetFullPath(TargetPath)}{vbCrLf}错误的文件:{TargetPath}", "文件路径校验失败", IsWarn:=True) Throw New OperationCanceledException End If FileList.Add(New NetFile(Urls, TargetPath, @@ -509,11 +509,11 @@ Public Module ModModpack Catch ex As Exception Throw New Exception("HMCL 整合包安装信息存在问题", ex) End Try - '获取版本名 + '获取实例名 Dim InstanceName As String = If(Json("name"), "") Dim Validate As New ValidateFolderName(McFolderSelected & "versions") If Validate.Validate(InstanceName) <> "" Then InstanceName = "" - If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入版本名称", "", "", New Collection(Of Validate) From {Validate}) + If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入实例名称", "", "", New Collection(Of Validate) From {Validate}) If String.IsNullOrEmpty(InstanceName) Then Throw New OperationCanceledException '解压 Dim InstallTemp As String = RequestTaskTempFolder() @@ -562,11 +562,11 @@ Public Module ModModpack Catch ex As Exception Throw New Exception("MMC 整合包安装信息存在问题", ex) End Try - '获取版本名 + '获取实例名 Dim InstanceName As String = If(PackInstance.RegexSeek("(?<=\nname\=)[^\n]+"), "") Dim Validate As New ValidateFolderName(McFolderSelected & "versions") If Validate.Validate(InstanceName) <> "" Then InstanceName = "" - If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入版本名称", "", "", New Collection(Of Validate) From {Validate}) + If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入实例名称", "", "", New Collection(Of Validate) From {Validate}) If String.IsNullOrEmpty(InstanceName) Then Throw New OperationCanceledException '解压 Dim InstallTemp As String = RequestTaskTempFolder() @@ -612,7 +612,7 @@ Public Module ModModpack WriteIni(SetupFile, "LogoCustom", True) WriteIni(SetupFile, "Logo", "PCL\Logo.png") FileUtils.Copy($"{InstallTemp}{ArchiveBaseFolder}{Logo}.png", $"{McFolderSelected}versions\{InstanceName}\PCL\Logo.png") - Logger.Info($"迁移 MultiMC 版本独立设置:版本图标({Logo}.png)") + Logger.Info($"迁移 MultiMC 版本独立设置:实例图标({Logo}.png)") End If 'JVM 参数 Dim JvmArgs As String = ReadIni(MmcSetupFile, "JvmArgs", "") @@ -687,12 +687,12 @@ Public Module ModModpack Catch ex As Exception Throw New Exception("MCBBS 整合包安装信息存在问题", ex) End Try - '获取版本名 + '获取实例名 If InstanceName Is Nothing Then InstanceName = If(Json("name"), "") Dim Validate As New ValidateFolderName(McFolderSelected & "versions") If Validate.Validate(InstanceName) <> "" Then InstanceName = "" - If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入版本名称", "", "", New Collection(Of Validate) From {Validate}) + If InstanceName = "" Then InstanceName = MyMsgBoxInput("输入实例名称", "", "", New Collection(Of Validate) From {Validate}) If String.IsNullOrEmpty(InstanceName) Then Throw New OperationCanceledException End If '解压 @@ -830,7 +830,7 @@ Public Module ModModpack Next If Match Is Nothing Then Throw New Exception("文件结构不匹配,这可能不是 Minecraft 客户端压缩包?") '没有匹配 Dim ArchiveBaseFolder As String = Match.Value.Replace("/", "\").TrimStart("\") '格式例如:包裹文件夹\.minecraft\(最短为空字符串) - Logger.Info($"检测到压缩包的 .minecraft 根目录:{ArchiveBaseFolder},命中的版本名:{Match.Groups(1).Value}") + Logger.Info($"检测到压缩包的 .minecraft 根目录:{ArchiveBaseFolder},命中的实例名:{Match.Groups(1).Value}") '获取解压路径 MyMsgBox("接下来请选择一个空文件夹,它会被安装到这个文件夹里。", "安装", "继续", ForceWait:=True) Dim TargetFolder As String = Dialogs.SelectFolder("选择安装目标(必须是一个空文件夹)", False).FirstOrDefault diff --git a/Plain Craft Launcher 2/Modules/ModMain.vb b/Plain Craft Launcher 2/Modules/ModMain.vb index ff4b31aad..1277d5acb 100644 --- a/Plain Craft Launcher 2/Modules/ModMain.vb +++ b/Plain Craft Launcher 2/Modules/ModMain.vb @@ -407,7 +407,7 @@ EndHint: Public FrmLoginMs As PageLoginMs Public FrmLoginMsSkin As PageLoginMsSkin - '版本设置页面声明 + '实例设置页面声明 Public FrmInstanceLeft As PageInstanceLeft Public FrmInstanceOverall As PageInstanceOverall Public FrmInstanceMod As PageInstanceMod diff --git a/Plain Craft Launcher 2/Modules/Resource/ResourceVersion.vb b/Plain Craft Launcher 2/Modules/Resource/ResourceVersion.vb index 857c7e4d9..710c44398 100644 --- a/Plain Craft Launcher 2/Modules/Resource/ResourceVersion.vb +++ b/Plain Craft Launcher 2/Modules/Resource/ResourceVersion.vb @@ -17,7 +17,7 @@ Public Class ResourceVersion '描述性字段 ''' - ''' 版本描述名。 + ''' 实例描述名。 ''' 并非文件名或版本号,是由上传者完全自定义的字段。 ''' Public Display As String @@ -40,7 +40,7 @@ Public Class ResourceVersion ''' Public ModLoaders As ModLoaders = ModLoaders.None ''' - ''' 支持的游戏版本列表。类型包括:"26.1.5","26.1","26.1 预览版","1.18.5","1.18","1.18 预览版","21w15a","未知版本"。 + ''' 支持的游戏版本列表。类型包括:"26.1.5","26.1","26.1 预览版","1.18.5","1.18","1.18 预览版","21w15a","未知实例"。 ''' Public GameVersions As List(Of String) diff --git a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb index 852556f91..919f05ad7 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb @@ -4,7 +4,7 @@ Public Module ModDownloadLib ''' ''' 获取下载某个 Minecraft 版本的加载器列表。 - ''' 它必须安装到 McFolderSelected,但是可以自定义版本名(不过自定义的版本名不会修改 Json 中的 id 项)。 + ''' 它必须安装到 McFolderSelected,但是可以自定义实例名(不过自定义的实例名不会修改 Json 中的 id 项)。 ''' Private Function McDownloadClientLoader(Id As String, Optional JsonUrl As String = Nothing, Optional InstanceName As String = Nothing) As List(Of LoaderBase) InstanceName = If(InstanceName, Id) @@ -197,7 +197,7 @@ echo 服务端已停止。 pause" FileUtils.Write(VersionFolder & "Launch Server.bat", Bat, encoding:=If(Encoding.Default.Equals(Encoding.UTF8), Encoding.UTF8, Encoding.GetEncoding("GB18030"))) - '删除版本 JSON + '删除实例 JSON FileUtils.Delete(VersionFolder & Id & ".json") End Sub) With {.ProgressWeight = 0.5, .Show = False}) '下载服务端文件 @@ -1100,7 +1100,7 @@ Retry: Dim VersionFolder As String = $"{McFolder}versions\{NewInstanceName}\" Dim DisplayName As String = $"{LoaderName} {Inherit} - {LoaderVersion}" Dim Loaders As New List(Of LoaderBase) - Dim LibVersionFolder As String = $"{McFolderSelected}versions\{NewInstanceName}\" '作为 Lib 文件目标的版本文件夹 + Dim LibVersionFolder As String = $"{McFolderSelected}versions\{NewInstanceName}\" '作为 Lib 文件目标的实例文件夹 '获取 Forge 下载信息 If Info Is Nothing Then @@ -1241,7 +1241,7 @@ Retry: '解压并获取信息 Installer = FileUtils.OpenZip(InstallerAddress) Dim Json As JObject = Installer.GetEntry("install_profile.json").Open().ReadString().DeserializeJson() - '新建目标版本文件夹 + '新建目标实例文件夹 DirectoryUtils.Create(VersionFolder) Task.Progress = 0.04 '释放 launcher_installer.json @@ -1285,7 +1285,7 @@ Retry: Logger.Info($"有多个疑似的新增版本,无法确定:{DeltaList.Select(Function(d) d.Name).Join(";")}") Else '没有新增文件夹 - Logger.Info("未找到新增的版本文件夹") + Logger.Info("未找到新增的实例文件夹") End If Catch ex As Exception Throw New Exception($"安装新 {LoaderName} 版本失败", ex) @@ -1310,7 +1310,7 @@ Retry: Task.Progress = 0.2 Dim Json As JObject = Installer.GetEntry("install_profile.json").Open().ReadString().DeserializeJson() Task.Progress = 0.4 - '新建版本文件夹 + '新建实例文件夹 DirectoryUtils.Create(VersionFolder) Task.Progress = 0.5 If Json("install") Is Nothing Then @@ -1646,7 +1646,7 @@ Retry: Dim Loaders As New List(Of LoaderBase) '下载 Json - MinecraftName = MinecraftName.Replace("∞", "infinite") '放在 ID 后面避免影响版本文件夹名称 + MinecraftName = MinecraftName.Replace("∞", "infinite") '放在 ID 后面避免影响实例文件夹名称 Loaders.Add(New LoaderTask(Of String, List(Of NetFile))("获取 Fabric 主文件下载地址", Sub(Task As LoaderTask(Of String, List(Of NetFile))) Task.Output = New List(Of NetFile) From {New NetFile({ @@ -1710,7 +1710,7 @@ Retry: Public Class McInstallRequest ''' - ''' 必填。安装目标版本名称。 + ''' 必填。安装目标实例名称。 ''' Public NewInstanceName As String ''' @@ -1816,15 +1816,15 @@ Retry: Try If Loader.State <> LoadState.Failed AndAlso Loader.State <> LoadState.Canceled Then Return Thread.Sleep(1000) '防止存在尚未完全释放的文件,导致清理失败(例如整合包安装) - '删除版本文件夹 + '删除实例文件夹 If DirectoryUtils.Exists(Loader.Input & "saves\") OrElse DirectoryUtils.Exists(Loader.Input & "versions\") Then - Logger.Warn($"由于版本已被独立启动,不清理版本文件夹:{Loader.Input}") + Logger.Warn($"由于版本已被独立启动,不清理实例文件夹:{Loader.Input}") Else - Logger.Warn($"由于下载失败或取消,清理版本文件夹:{Loader.Input}") + Logger.Warn($"由于下载失败或取消,清理实例文件夹:{Loader.Input}") DirectoryUtils.Delete(Loader.Input) End If Catch ex As Exception - Logger.Warn(ex, "下载失败或取消后清理版本文件夹失败") + Logger.Warn(ex, "下载失败或取消后清理实例文件夹失败") End Try End Sub @@ -1965,7 +1965,7 @@ Retry: DirectoryUtils.Copy(TempMcFolder & "libraries", McFolderSelected & "libraries") Task.Progress = 0.8 '创建 Mod 和资源包文件夹 - Dim ModsFolder = New McInstance(VersionFolder).PathIndie & "mods\" '版本隔离信息在此时被决定 + Dim ModsFolder = New McInstance(VersionFolder).PathIndie & "mods\" '实例隔离信息在此时被决定 If DirectoryUtils.Exists(ModsTempFolder) Then DirectoryUtils.Copy(ModsTempFolder, ModsFolder) ElseIf Modable Then diff --git a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb index 64b04c55a..e74c7e53d 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/PageDownloadInstall.xaml.vb @@ -387,7 +387,7 @@ Public Class PageDownloadInstall End Sub ''' - ''' 获取版本图标。 + ''' 获取实例图标。 ''' Private Function GetSelectLogo() As String If SelectedFabric IsNot Nothing Then @@ -405,9 +405,9 @@ Public Class PageDownloadInstall End If End Function - '版本名处理 + '实例名处理 ''' - ''' 获取默认版本名。 + ''' 获取默认实例名。 ''' Private Function GetSelectName() As String Dim Name As String = VanillaName @@ -925,7 +925,7 @@ Public Class PageDownloadInstall For Each Part As String In FabricApiName.BeforeFirst("]").TrimStart("[").Split("/") If Part = TargetName Then Return True Next - '将版本名分割语素(例如 1.16.4/5) + '将实例名分割语素(例如 1.16.4/5) Dim Lefts = FabricApiName.BeforeFirst("]").RegexSearch("[a-z/]+|[0-9/]+").ToList Dim Rights = TargetName.BeforeFirst("]").RegexSearch("[a-z/]+|[0-9/]+").ToList '对每段进行判断 @@ -1123,12 +1123,12 @@ Public Class PageDownloadInstall If e.Key = Key.Enter AndAlso IsInSelectPage AndAlso BtnStart.IsEnabled Then BtnStart_Click() End Sub Private Sub BtnStart_Click() Handles BtnStart.Click - '确认版本隔离 + '确认实例隔离 If (SelectedForge IsNot Nothing OrElse SelectedNeoForge IsNot Nothing OrElse SelectedFabric IsNot Nothing) AndAlso (Settings.Get(Of Integer)("LaunchArgumentIndieV2") = 0 OrElse Settings.Get(Of Integer)("LaunchArgumentIndieV2") = 2) Then - If MyMsgBox("你尚未开启版本隔离,多个 MC 版本会共用同一个 Mod 文件夹。" & vbCrLf & + If MyMsgBox("你尚未开启实例隔离,多个 MC 版本会共用同一个 Mod 文件夹。" & vbCrLf & "因此,游戏可能会因为读取到与当前版本不符的 Mod 而崩溃。" & vbCrLf & - "推荐先在 设置 → 启动选项 → 默认版本隔离 中开启版本隔离!", "版本隔离提示", "取消下载", "继续") = 1 Then + "推荐先在 设置 → 启动选项 → 默认实例隔离 中开启实例隔离!", "实例隔离提示", "取消下载", "继续") = 1 Then Return End If End If diff --git a/Plain Craft Launcher 2/Pages/PageDownload/Resource/PageDownloadCompDetail.xaml.vb b/Plain Craft Launcher 2/Pages/PageDownload/Resource/PageDownloadCompDetail.xaml.vb index 7c624b003..78dc12e2a 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/Resource/PageDownloadCompDetail.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/Resource/PageDownloadCompDetail.xaml.vb @@ -293,11 +293,11 @@ GroupDone: Dim File As ResourceVersion = sender.Tag Dim LoaderName As String = $"{Project.Platform} 整合包下载:{Project.TranslatedName} " - '获取版本名 + '获取实例名 Dim PackName As String = Project.TranslatedName.Replace(".zip", "").Replace(".rar", "").Replace(".mrpack", "").Replace("\", "\").Replace("/", "/").Replace("|", "|").Replace(":", ":").Replace("<", "<").Replace(">", ">").Replace("*", "*").Replace("?", "?").Replace("""", "").Replace(": ", ":") Dim Validate As New ValidateFolderName(McFolderSelected & "versions") If Validate.Validate(PackName) <> "" Then PackName = "" - Dim InstanceName As String = MyMsgBoxInput("输入版本名称", "", PackName, New Collection(Of Validate) From {Validate}) + Dim InstanceName As String = MyMsgBoxInput("输入实例名称", "", PackName, New Collection(Of Validate) From {Validate}) If String.IsNullOrEmpty(InstanceName) Then Return '构造步骤加载器 diff --git a/Plain Craft Launcher 2/Pages/PageDownload/Resource/PageResource.xaml.vb b/Plain Craft Launcher 2/Pages/PageDownload/Resource/PageResource.xaml.vb index fab3527c0..939f72ada 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/Resource/PageResource.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/Resource/PageResource.xaml.vb @@ -240,7 +240,7 @@ Public Class PageResource Loader.LastFinishedTime = 0 '要求强制重新开始 End Sub - '版本选择 + '实例选择 '#3067:当下拉菜单展开时,程序会被 WPF 挂起,因而无法更新 Grid 布局,所以必须延迟到下拉菜单收起后才能更新 Private Sub TextSearchVersion_TextChanged() Handles TextSearchVersion.TextChanged If Not TextSearchVersion.IsDropDownOpen Then UpdateSearchLoaderVisibility() diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceExport.xaml b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceExport.xaml index 42e779e8f..7d98afa40 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceExport.xaml +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceExport.xaml @@ -255,7 +255,7 @@ diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceExport.xaml.vb b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceExport.xaml.vb index 9e050733a..6f49e7d32 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceExport.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceExport.xaml.vb @@ -22,7 +22,7 @@ Public Class PageInstanceExport End Sub Private Sub PageInstanceExport_Loaded() Handles Me.Loaded AniControlEnabled += 1 - If CurrentInstance <> PageInstanceLeft.Instance.PathVersion Then RefreshAll() '切换到了另一个版本,重置页面 + If CurrentInstance <> PageInstanceLeft.Instance.PathVersion Then RefreshAll() '切换到了另一个实例,重置页面 CustomEventService.SetEventData(BtnAdvancedHelp, If(BuildType = BuildTypes.Release, "指南/整合包制作 - Public.json", "指南/整合包制作 - Snapshot.json")) AniControlEnabled -= 1 @@ -330,7 +330,7 @@ Public Class PageInstanceExport ConfigLines.Add("Name:" & TextExportName.Text) ConfigLines.Add("Version:" & TextExportVersion.Text) ConfigLines.Add("") - ConfigLines.Add($"# 当版本设置中选择了 {vbLQ}使用版本文件夹中的 Java{vbRQ} 时,是否打包版本文件夹中的 Java。") + ConfigLines.Add($"# 当实例设置中选择了 {vbLQ}使用实例文件夹中的 Java{vbRQ} 时,是否打包实例文件夹中的 Java。") ConfigLines.Add("IncludeJava:" & CheckOptionsJava.Checked) ConfigLines.Add("") ConfigLines.Add("# 是否打包正式版 PCL,以便没有启动器的玩家安装整合包。") @@ -537,11 +537,11 @@ Public Class PageInstanceExport '复制 Java If IncludeJava Then Dim JavaToExport = SelectOrDownloadJava(McVersion, False, Loader.CreateCancellationToken, Loader.CreateSyncProgressProvider(0.85, 0.93)) - If JavaToExport Is Nothing Then Throw New FileNotFoundException("版本文件夹中没有找到可导出的 Java。") + If JavaToExport Is Nothing Then Throw New FileNotFoundException("实例文件夹中没有找到可导出的 Java。") Dim JavaFolder = PathUtils.RemoveLastPart(JavaToExport.Folder) Dim DestFolder As String = Path.Combine(OverridesFolder, JavaFolder.AfterFirst(McVersion.PathVersion, True)) DirectoryUtils.Copy(JavaFolder, DestFolder) - Logger.Info($"已复制版本文件夹中的 Java:{JavaFolder} → {DestFolder}") + Logger.Info($"已复制实例文件夹中的 Java:{JavaFolder} → {DestFolder}") End If Loader.Progress = 0.95 '复制追加内容到根目录 @@ -562,7 +562,7 @@ Public Class PageInstanceExport End If Next Loader.Progress = 0.97 - '复制 PCL 版本设置 + '复制 PCL 实例设置 If DirectoryUtils.Exists(McVersion.PathVersion & "PCL\") Then DirectoryUtils.Copy(McVersion.PathVersion & "PCL\", OverridesFolder & "PCL\") WriteIni(OverridesFolder & "PCL\Setup.ini", "IsStar", False) '复制 PCL 本体(正式版) @@ -752,12 +752,12 @@ Public Class PageInstanceExport BtnExport.IsEnabled = True HintJava.Visibility = Visibility.Visible HintJava.Theme = MyHint.Themes.Yellow - HintJava.Text = $"该版本设置要求 {vbLQ}使用指定的 Java{vbRQ},这在导出后很可能会失效。建议修改为 {vbLQ}使用版本文件夹中的 Java{vbRQ}。" + HintJava.Text = $"该实例设置要求 {vbLQ}使用指定的 Java{vbRQ},这在导出后很可能会失效。建议修改为 {vbLQ}使用实例文件夹中的 Java{vbRQ}。" ElseIf JavaType = 2 AndAlso JavaWorker.HasSucceeded AndAlso JavaWorker.LastResult Is Nothing Then BtnExport.IsEnabled = False HintJava.Visibility = Visibility.Visible HintJava.Theme = MyHint.Themes.Red - HintJava.Text = $"该版本设置要求 {vbLQ}使用版本文件夹中的 Java{vbRQ},但版本文件夹中没能找到任何 Java。" + HintJava.Text = $"该实例设置要求 {vbLQ}使用实例文件夹中的 Java{vbRQ},但实例文件夹中没能找到任何 Java。" Else BtnExport.IsEnabled = True HintJava.Visibility = Visibility.Collapsed diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceLeft.xaml.vb b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceLeft.xaml.vb index b26065b9e..f621bc69b 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceLeft.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceLeft.xaml.vb @@ -2,7 +2,7 @@ Public Class PageInstanceLeft Implements IRefreshable ''' - ''' 当前显示设置的 MC 版本。 + ''' 当前显示设置的 MC 实例。 ''' Public Shared Instance As McInstance = Nothing @@ -51,7 +51,7 @@ Public Class PageInstanceLeft If FrmInstanceExport Is Nothing Then FrmInstanceExport = New PageInstanceExport Return FrmInstanceExport Case Else - Throw New Exception("未知的版本设置子页面种类:" & ID) + Throw New Exception("未知的实例设置子页面种类:" & ID) End Select End Function @@ -109,14 +109,14 @@ Public Class PageInstanceLeft End Sub Public Sub Reset(sender As Object, e As EventArgs) - If MyMsgBox("是否要初始化该版本的版本独立设置?该操作不可撤销。", "初始化确认",, "取消", IsWarn:=True) = 1 Then + If MyMsgBox("是否要初始化该实例的实例独立设置?该操作不可撤销。", "初始化确认",, "取消", IsWarn:=True) = 1 Then If IsNothing(FrmInstanceSetup) Then FrmInstanceSetup = New PageInstanceSetup FrmInstanceSetup.Reset() ItemSetup.Checked = True End If End Sub - '加载当前版本将要选择的 Java + '加载当前实例将要选择的 Java Public Shared CurrentJavaWorker As New RedoableWorker(Of Java)(Function(c, p) SelectOrDownloadJava(PageInstanceLeft.Instance, False, c, p)) Public Shared Sub ReloadCurrentJava() Handles Me.Loaded If AniControlEnabled <> 0 Then Return diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceMod.xaml b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceMod.xaml index afcce0bd4..4a7a7ce47 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceMod.xaml +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceMod.xaml @@ -39,7 +39,7 @@ - + diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceMod.xaml.vb b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceMod.xaml.vb index d320c5811..de72053b6 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceMod.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceMod.xaml.vb @@ -293,12 +293,12 @@ Public Class PageInstanceMod Hint("请先将文件从回收站还原,再尝试安装!", HintType.Red) Return True End If - '获取并检查目标版本 + '获取并检查目标实例 Dim Instance As McInstance = McInstanceSelected If FrmMain.PageCurrent = FormMain.PageType.InstanceSetup Then Instance = PageInstanceLeft.Instance If FrmMain.PageCurrent = FormMain.PageType.InstanceSelect OrElse Instance Is Nothing OrElse Not Instance.Modable Then - '正在选择版本,或当前版本不能安装 Mod - Hint("若要安装 Mod,请先选择一个可以安装 Mod 的版本!") + '正在选择实例,或当前实例不能安装 Mod + Hint("若要安装 Mod,请先选择一个可以安装 Mod 的实例!") ElseIf Not (FrmMain.PageCurrent = FormMain.PageType.InstanceSetup AndAlso FrmMain.PageCurrentSub = FormMain.PageSubType.InstanceMod) Then '未处于 Mod 管理页面 If MyMsgBox($"是否要将这{If(FilePathList.IsSingle, "个", "些")}文件作为 Mod 安装到 {Instance.Name}?", "Mod 安装确认", "确定", "取消") = 1 Then GoTo Install @@ -334,7 +334,7 @@ Install: ''' 下载 Mod。 ''' Private Sub BtnManageDownload_Click(sender As Object, e As MouseButtonEventArgs) Handles BtnManageDownload.Click, BtnHintDownload.Click - '预设置当前版本和搜索框内容 + '预设置当前实例和搜索框内容 PageResource.TargetInstance = PageInstanceLeft.Instance PageResource.TargetName = SearchBox.Text FrmMain.PageChange(FormMain.PageType.Download, FormMain.PageSubType.DownloadMod) diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceModDisabled.xaml b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceModDisabled.xaml index 5c145c982..203e52e96 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceModDisabled.xaml +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceModDisabled.xaml @@ -20,11 +20,11 @@ - + - + - + diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceModDisabled.xaml.vb b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceModDisabled.xaml.vb index 19e09dc5a..6d1283281 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceModDisabled.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceModDisabled.xaml.vb @@ -4,7 +4,7 @@ Public Class PageInstanceModDisabled FrmMain.PageChange(FormMain.PageType.Download, FormMain.PageSubType.DownloadInstall) End Sub Private Sub BtnVersion_Click(sender As Object, e As EventArgs) Handles BtnVersion.Click - FrmMain.PageChange(FormMain.PageType.Launch) '在版本选择页面选定版本的时候只会返回一层,因此如果不先锚定 Launch,在选择版本后会回退到版本设置的这个页面 + FrmMain.PageChange(FormMain.PageType.Launch) '在实例选择页面选定实例的时候只会返回一层,因此如果不先锚定 Launch,在选择实例后会回退到实例设置的这个页面 FrmMain.PageChange(FormMain.PageType.InstanceSelect) End Sub diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceOverall.xaml b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceOverall.xaml index 7257566d0..a36735a5d 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceOverall.xaml +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceOverall.xaml @@ -42,11 +42,11 @@ - - - - - + + + + + @@ -55,15 +55,15 @@ - - + + - + @@ -78,8 +78,8 @@ - - + + diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceOverall.xaml.vb b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceOverall.xaml.vb index 3c160cc25..f5b78a526 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceOverall.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceOverall.xaml.vb @@ -27,13 +27,13 @@ Public Class PageInstanceOverall ComboDisplayType.SelectedIndex = ReadIni(PageInstanceLeft.Instance.PathVersion & "PCL\Setup.ini", "DisplayType", McInstanceCardType.Auto) BtnDisplayStar.Text = If(PageInstanceLeft.Instance.IsStar, "从收藏夹中移除", "加入收藏夹") BtnFolderMods.Visibility = If(PageInstanceLeft.Instance.Modable, Visibility.Visible, Visibility.Collapsed) - '刷新版本显示 + '刷新实例显示 PanDisplayItem.Children.Clear() InstanceHeaderItem = PageInstanceLeft.Instance.ToListItem().Init() InstanceHeaderItem.IsHitTestVisible = False PanDisplayItem.Children.Add(InstanceHeaderItem) FrmMain.PageNameRefresh() - '刷新版本图标 + '刷新实例图标 ComboDisplayLogo.SelectedIndex = 0 Dim Logo As String = ReadIni(PageInstanceLeft.Instance.PathVersion & "PCL\Setup.ini", "Logo", "") Dim LogoCustom As Boolean = ReadIni(PageInstanceLeft.Instance.PathVersion & "PCL\Setup.ini", "LogoCustom", "False") @@ -51,7 +51,7 @@ Public Class PageInstanceOverall #Region "卡片:个性化" - '版本分类 + '实例分类 Private Sub ComboDisplayType_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ComboDisplayType.SelectionChanged If Not (IsLoad AndAlso AniControlEnabled = 0) Then Return If ComboDisplayType.SelectedIndex <> 1 Then @@ -65,14 +65,14 @@ Public Class PageInstanceOverall WriteIni(McFolderSelected & "PCL.ini", "InstanceCache", "") '要求刷新缓存 LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") Catch ex As Exception - Logger.Error(ex, $"修改版本分类失败({PageInstanceLeft.Instance.Name})") + Logger.Error(ex, $"修改实例分类失败({PageInstanceLeft.Instance.Name})") End Try Reload() '更新 “打开 Mod 文件夹” 按钮 Else '改为隐藏 Try If Not Settings.Get(Of Boolean)("HintHide") Then - If MyMsgBox("确认要从版本列表中隐藏该版本吗?隐藏该版本后,它将不再出现于 PCL 显示的版本列表中。" & vbCrLf & "此后,在版本列表页面按下 F11 才可以查看被隐藏的版本。", "隐藏版本提示",, "取消") <> 1 Then + If MyMsgBox("确认要从实例列表中隐藏该实例吗?隐藏该实例后,它将不再出现于 PCL 显示的实例列表中。" & vbCrLf & "此后,在实例列表页面按下 F11 才可以查看被隐藏的实例。", "隐藏实例提示",, "取消") <> 1 Then ComboDisplayType.SelectedIndex = 0 Return End If @@ -82,7 +82,7 @@ Public Class PageInstanceOverall WriteIni(McFolderSelected & "PCL.ini", "InstanceCache", "") '要求刷新缓存 LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") Catch ex As Exception - Logger.Error(ex, $"隐藏版本 {PageInstanceLeft.Instance.Name} 失败") + Logger.Error(ex, $"隐藏实例 {PageInstanceLeft.Instance.Name} 失败") End Try End If End Sub @@ -91,24 +91,24 @@ Public Class PageInstanceOverall Private Sub BtnDisplayDesc_Click(sender As Object, e As EventArgs) Handles BtnDisplayDesc.Click Try Dim OldInfo As String = ReadIni(PageInstanceLeft.Instance.PathVersion & "PCL\Setup.ini", "CustomInfo") - Dim NewInfo As String = MyMsgBoxInput("更改描述", "修改版本的描述文本,留空则使用 PCL 的默认描述。", OldInfo, New ObjectModel.Collection(Of Validate), "默认描述") + Dim NewInfo As String = MyMsgBoxInput("更改描述", "修改实例的描述文本,留空则使用 PCL 的默认描述。", OldInfo, New ObjectModel.Collection(Of Validate), "默认描述") If NewInfo IsNot Nothing AndAlso OldInfo <> NewInfo Then WriteIni(PageInstanceLeft.Instance.PathVersion & "PCL\Setup.ini", "CustomInfo", NewInfo) PageInstanceLeft.Instance = New McInstance(PageInstanceLeft.Instance.Name).Load() Reload() LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") Catch ex As Exception - Logger.Error(ex, $"版本 {PageInstanceLeft.Instance.Name} 描述更改失败", LogBehavior.Alert) + Logger.Error(ex, $"实例 {PageInstanceLeft.Instance.Name} 描述更改失败", LogBehavior.Alert) End Try End Sub - '重命名版本 + '重命名实例 Private Sub BtnDisplayRename_Click(sender As Object, e As EventArgs) Handles BtnDisplayRename.Click Try '确认输入的新名称 Dim OldName As String = PageInstanceLeft.Instance.Name Dim OldPath As String = PageInstanceLeft.Instance.PathVersion - '修改此部分的同时修改快速安装的版本名检测* - Dim NewName As String = MyMsgBoxInput("重命名版本", "", OldName, New ObjectModel.Collection(Of Validate) From { + '修改此部分的同时修改快速安装的实例名检测* + Dim NewName As String = MyMsgBoxInput("重命名实例", "", OldName, New ObjectModel.Collection(Of Validate) From { New ValidateFolderName(McFolderSelected & "versions", IgnoreList:=New List(Of String) From {OldName}) }) If String.IsNullOrWhiteSpace(NewName) Then Return @@ -127,14 +127,14 @@ Public Class PageInstanceOverall '清理 ini 缓存 PageInstanceLeft.Instance.ResetSettingsCache() '重命名 jar 文件与 natives 文件夹 - '不能进行遍历重命名,否则在版本名很短的时候容易误伤其他文件(#6443) + '不能进行遍历重命名,否则在实例名很短的时候容易误伤其他文件(#6443) If DirectoryUtils.Exists($"{NewPath}{OldName}-natives") Then DirectoryUtils.Move($"{NewPath}{OldName}-natives", $"{NewPath}{NewName}-natives") If FileUtils.Exists($"{NewPath}{OldName}.jar") Then FileUtils.Move($"{NewPath}{OldName}.jar", $"{NewPath}{NewName}.jar") - '替换版本设置文件中的路径 + '替换实例设置文件中的路径 If FileUtils.Exists(NewPath & "PCL\Setup.ini") Then FileUtils.Write(NewPath & "PCL\Setup.ini", FileUtils.ReadAsString(NewPath & "PCL\Setup.ini").Replace(OldPath, NewPath)) End If - '更改已选中的版本 + '更改已选中的实例 If ReadIni(McFolderSelected & "PCL.ini", "Version") = OldName Then WriteIni(McFolderSelected & "PCL.ini", "Version", NewName) End If @@ -144,7 +144,7 @@ Public Class PageInstanceOverall FileUtils.Delete(NewPath & PathUtils.GetLastPart(OldJsonPath)) FileUtils.Write(NewPath & NewName & ".json", JsonObject.ToString) Catch ex As Exception - Logger.Warn(ex, "重命名版本 json 失败") + Logger.Warn(ex, "重命名实例 json 失败") End Try '刷新与提示 Hint("重命名成功!", HintType.Green) @@ -153,11 +153,11 @@ Public Class PageInstanceOverall Reload() LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") Catch ex As Exception - Logger.Error(ex, "重命名版本失败", LogBehavior.Alert) + Logger.Error(ex, "重命名实例失败", LogBehavior.Alert) End Try End Sub - '版本图标 + '实例图标 Private Sub ComboDisplayLogo_SelectionChanged() Handles ItemDisplayLogoCustom.PreviewMouseLeftButtonUp, ComboDisplayLogo.SelectionChanged If Not (IsLoad AndAlso AniControlEnabled = 0) Then Return '选择 自定义 时修改图片 @@ -173,7 +173,7 @@ Public Class PageInstanceOverall FileUtils.Delete(PageInstanceLeft.Instance.PathVersion & "PCL\Logo.png") End If Catch ex As Exception - Logger.Error(ex, $"更改自定义版本图标失败({PageInstanceLeft.Instance.Name})") + Logger.Error(ex, $"更改自定义实例图标失败({PageInstanceLeft.Instance.Name})") End Try '进行更改 Try @@ -186,7 +186,7 @@ Public Class PageInstanceOverall Reload() LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") Catch ex As Exception - Logger.Error(ex, $"更改版本图标失败({PageInstanceLeft.Instance.Name})") + Logger.Error(ex, $"更改实例图标失败({PageInstanceLeft.Instance.Name})") End Try End Sub @@ -199,7 +199,7 @@ Public Class PageInstanceOverall McInstanceListForceRefresh = True LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") Catch ex As Exception - Logger.Error(ex, $"版本 {PageInstanceLeft.Instance.Name} 收藏状态更改失败", LogBehavior.Alert) + Logger.Error(ex, $"实例 {PageInstanceLeft.Instance.Name} 收藏状态更改失败", LogBehavior.Alert) End Try End Sub @@ -207,7 +207,7 @@ Public Class PageInstanceOverall #Region "卡片:快捷方式" - '版本文件夹 + '实例文件夹 Private Sub BtnFolderVersion_Click() Handles BtnFolderVersion.Click OpenInstanceFolder(PageInstanceLeft.Instance) End Sub @@ -269,7 +269,7 @@ Public Class PageInstanceOverall Try '忽略文件检查提示 If ShouldIgnoreFileCheck(PageInstanceLeft.Instance) Then - Hint("请先关闭 [版本设置 → 设置 → 高级启动选项 → 关闭文件校验],然后再尝试补全文件!", HintType.Blue) + Hint("请先关闭 [实例设置 → 设置 → 高级启动选项 → 关闭文件校验],然后再尝试补全文件!", HintType.Blue) Return End If '重复任务检查 @@ -300,7 +300,7 @@ Public Class PageInstanceOverall End Try End Sub - '删除版本 + '删除实例 '修改此代码时,同时修改 PageSelectRight 中的代码 Private Sub BtnManageDelete_Click(sender As Object, e As EventArgs) Handles BtnManageDelete.Click Try @@ -308,23 +308,23 @@ Public Class PageInstanceOverall 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(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 等文件也将被一并删除!" & + Select Case MyMsgBox($"你确定要{If(IsShiftPressed, "永久", "")}删除实例 {PageInstanceLeft.Instance.Name} 吗?" & + If(IsHintIndie, vbCrLf & "该实例对应的存档、资源包、Mod 等文件也将被一并删除!" & If(SaveEntries.Any, vbCrLf & vbCrLf & "这会删除以下存档:" & vbCrLf & "· " & SaveEntries.Join(vbCrLf & "· "), ""), ""), - "版本删除确认", , "取消",, IsHintIndie OrElse IsShiftPressed) + "实例删除确认", , "取消",, IsHintIndie OrElse IsShiftPressed) Case 1 PageInstanceLeft.Instance.ResetSettingsCache() DirectoryUtils.Delete(PageInstanceLeft.Instance.PathVersion, Not IsShiftPressed) - Hint("已删除版本 " & PageInstanceLeft.Instance.Name & "!", HintType.Green) + Hint("已删除实例 " & PageInstanceLeft.Instance.Name & "!", HintType.Green) Case 2 Return End Select LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") FrmMain.PageBack() Catch ex As OperationCanceledException - Logger.Warn(ex, $"删除版本 {PageInstanceLeft.Instance.Name} 被主动取消") + Logger.Warn(ex, $"删除实例 {PageInstanceLeft.Instance.Name} 被主动取消") Catch ex As Exception - Logger.Error(ex, $"删除版本 {PageInstanceLeft.Instance.Name} 失败", LogBehavior.Alert) + Logger.Error(ex, $"删除实例 {PageInstanceLeft.Instance.Name} 失败", LogBehavior.Alert) End Try End Sub diff --git a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceSetup.xaml b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceSetup.xaml index 2a71a327c..efa753a5e 100644 --- a/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceSetup.xaml +++ b/Plain Craft Launcher 2/Pages/PageInstance/PageInstanceSetup.xaml @@ -7,7 +7,7 @@ PanScroll="PanBack"> - @@ -27,12 +27,12 @@ - + + ToolTip="与其他实例的存档、Mod 等文件相互独立,互不干涉。 这会使你无法跨实例共享存档,但可以规避 Mod 冲突问题。"/> + ToolTip="与其余关闭隔离的实例共享存档、Mod 等文件。 若存在多个安装了 Mod 的实例,可能会由于 Mod 冲突而导致崩溃。"/> @@ -59,10 +59,10 @@ ToolTip="由 PCL 自动分析需要的 Java 版本,如果没有合适的 Java 则自动下载。" /> - + + ToolTip="手动指定所使用的 Java 的绝对路径。 若将该实例打包到其他电脑,此设置可能会失效。" /> + ToolTip="该项不会覆盖全局设置:启动时会先执行全局设置的命令,再执行实例设置的命令。 在 MC 启动前执行特定命令或程序,语法与 Windows 的命令提示符一致。 你可以用替换标记来动态改变其内容或实现相对路径,在 更多 → 帮助 中搜索 “替换标记” 以了解用法。例如: · "{verpath}test.exe" :运行实例文件夹下的 test.exe 程序 · "{java}java.exe" -jar "{verpath}test.jar" :用 Java 运行实例文件夹下的 test.jar · notepad "{verindie}options.txt" :使用记事本打开该实例的设置文件 涉及路径的操作最好都打上双引号,以避免路径中的空格导致运行失败。 执行命令时,命令行所在的目录是当前的 .minecraft 文件夹。" /> + ToolTip="禁止为此实例更新 Mod,以防止整合包玩家误操作" /> 0 OrElse Range.Lower.Build > 0 OrElse Range.Lower.Revision > 0) Then Return "不应使用 1.x 格式进行匹配(例如,若想匹配 Java 17,应填写 17 而非 1.17)" If Range.HasUpper AndAlso Range.Upper.Major <= 1 AndAlso (Range.Upper.Minor > 0 OrElse Range.Upper.Build > 0 OrElse Range.Upper.Revision > 0) Then Return "不应使用 1.x 格式进行匹配(例如,若想匹配 Java 17,应填写 17 而非 1.17)" If Range.HasUpper AndAlso Range.Upper.Major <= 4 Then Return "该范围所要求的 Java 版本过低" @@ -70,7 +70,7 @@ Public Class PageInstanceSetup OnVersionRamTypeChanged(Settings.Get(Of Integer)("VersionRamType", Instance:=PageInstanceLeft.Instance)) Catch ex As Exception - Logger.Error(ex, "重载版本独立设置时出错") + Logger.Error(ex, "重载实例独立设置时出错") End Try End Sub @@ -86,10 +86,10 @@ Public Class PageInstanceSetup Configs.JavaForced.Reset(PageInstanceLeft.Instance.Config) JavaListRefreshWorker.Start() - Logger.Info("已初始化版本独立设置") - Hint("已初始化版本独立设置!", HintType.Green, False) + Logger.Info("已初始化实例独立设置") + Hint("已初始化实例独立设置!", HintType.Green, False) Catch ex As Exception - Logger.Error(ex, "初始化版本独立设置失败", LogBehavior.Alert) + Logger.Error(ex, "初始化实例独立设置失败", LogBehavior.Alert) End Try Reload() @@ -247,7 +247,7 @@ Public Class PageInstanceSetup ' 修改下方代码时需要一并修改 PageSetupLaunch '------------------------------------------ - '使用当前版本的设置 + '使用当前实例的设置 Dim RamGive As Double If Settings.Get(Of Integer)("VersionRamType", Instance:=Instance) = 0 Then '自动配置 @@ -259,7 +259,7 @@ Public Class PageInstanceSetup Dim RamTarget3 As Double '安装过多附加组件需要的内存 If Instance IsNot Nothing AndAlso Not Instance.IsLoaded Then Instance.Load() If Instance IsNot Nothing AndAlso Instance.Modable Then - '可安装 Mod 的版本 + '可安装 Mod 的实例 Dim ModDir = DirectoryUtils.GetInfo(Instance.PathIndie & "mods\") Dim ModCount As Integer = If(ModDir.Exists, ModDir.GetFiles.Count(Function(f) {".jar", ".zip", ".litemod"}.Contains(f.Extension.Lower)), 0) RamMininum = 0.5 + ModCount / 150 @@ -323,8 +323,8 @@ PreFin: #Region "服务器" - '当第三方登录更改时,清空版本列表缓存以更新版本分类 - 'TODO: 这会不会导致拖拽改变第三方登录的时候版本列表缓存没有更新? + '当第三方登录更改时,清空实例列表缓存以更新实例分类 + 'TODO: 这会不会导致拖拽改变第三方登录的时候实例列表缓存没有更新? Public Shared Sub OnVersionServerLoginChanged(Type As Integer) If FrmInstanceSetup Is Nothing Then Return WriteIni(McFolderSelected & "PCL.ini", "InstanceCache", "") @@ -407,10 +407,10 @@ PreFin: HintArgumentJava.Theme = MyHint.Themes.Blue ElseIf JavaWorker.LastResult Is Nothing Then If ComboArgumentJava.SelectedIndex = 0 Then - HintArgumentJava.Text = $"你的电脑上没有可供该版本使用的 Java,PCL 会在启动游戏时自动下载。" + HintArgumentJava.Text = $"你的电脑上没有可供该实例使用的 Java,PCL 会在启动游戏时自动下载。" HintArgumentJava.Theme = MyHint.Themes.Yellow Else - HintArgumentJava.Text = $"该版本的版本文件夹中没有发现任何 Java!{vbCrLf}请点击此处打开版本文件夹,然后将 Java 文件夹复制进去。" + HintArgumentJava.Text = $"该实例的文件夹中没有发现任何 Java!{vbCrLf}请点击此处打开实例文件夹,然后将 Java 文件夹复制进去。" HintArgumentJava.Theme = MyHint.Themes.Red End If Else @@ -531,12 +531,12 @@ PreFin: #End Region - '版本隔离 + '实例隔离 Private Sub ComboArgumentIndieV2_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ComboArgumentIndieV2.SelectionChanged If AniControlEnabled <> 0 Then Return Static IsReverting As Boolean = False If IsReverting Then Return - If MyMsgBox("调整版本隔离设置后,你需要游戏存档、Mod 等文件手动迁移到新的游戏文件夹中。" & vbCrLf & + If MyMsgBox("调整实例隔离设置后,你需要游戏存档、Mod 等文件手动迁移到新的游戏文件夹中。" & vbCrLf & "如果发现存档消失,把这项设置改回来就能恢复。" & vbCrLf & "如果你不会迁移存档,不建议修改这项设置!", "警告", "我知道我在做什么", "取消", IsWarn:=True) = 2 Then diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchLeft.xaml b/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchLeft.xaml index 18676165a..8c84cc6e4 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchLeft.xaml +++ b/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchLeft.xaml @@ -24,8 +24,8 @@ - - + + @@ -63,7 +63,7 @@ - + diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchLeft.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchLeft.xaml.vb index f8bccb28b..4b9699af1 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchLeft.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/PageLaunchLeft.xaml.vb @@ -2,7 +2,7 @@ Imports System.Windows.Threading Public Class PageLaunchLeft - '加载当前版本 + '加载当前实例 Private IsLoad As Boolean = False Private IsLoadFinished As Boolean = False Public Sub PageLaunchLeft_Loaded() Handles Me.Loaded @@ -20,7 +20,7 @@ Public Class PageLaunchLeft AddHandler McFolderListLoader.LoadingStateChanged, AddressOf RefreshButtonsUI RefreshButtonsUI() - '加载版本 + '加载实例 RunInNewThread( Sub() '自动整合包安装:准备 @@ -62,27 +62,27 @@ Public Class PageLaunchLeft End If End Try End If - '确认 Minecraft 版本存在 + '确认 Minecraft 实例存在 Dim Selection As String = ReadIni(McFolderSelected & "PCL.ini", "Version") Dim Instance As McInstance = If(Selection = "", Nothing, New McInstance(Selection)) If Instance Is Nothing OrElse Not Instance.PathVersion.StartsWithF(McFolderSelected) OrElse Not Instance.Check() Then - '无效的版本 - Logger.Info($"当前选择的 Minecraft 版本无效:{If(Instance Is Nothing, "null", Instance.PathVersion)}", If(IsNothing(Instance), LogBehavior.None, LogBehavior.ToastIfDebug)) + '无效的实例 + Logger.Info($"当前选择的 Minecraft 实例无效:{If(Instance Is Nothing, "null", Instance.PathVersion)}", If(IsNothing(Instance), LogBehavior.None, LogBehavior.ToastIfDebug)) If Not McInstanceListLoader.State = LoadState.Finished Then LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\", WaitForExit:=True) If Not McInstanceList.Any() OrElse McInstanceList.First.Value(0).Logo.Contains("RedstoneBlock") Then Instance = Nothing - Logger.Info("无可用 Minecraft 版本") + Logger.Info("无可用 Minecraft 实例") Else Instance = McInstanceList.First.Value(0) - Logger.Info($"自动选择 Minecraft 版本:{Instance.PathVersion}") + Logger.Info($"自动选择 Minecraft 实例:{Instance.PathVersion}") End If End If RunInUi( Sub() - McInstanceSelected = Instance '绕这一圈是为了避免 McVersionCheck 触发第二次版本改变 + McInstanceSelected = Instance '绕这一圈是为了避免 McVersionCheck 触发第二次实例改变 IsLoadFinished = True RefreshButtonsUI() - RefreshPage(False, False) '有可能选择的版本变化了,需要重新刷新 + RefreshPage(False, False) '有可能选择的实例变化了,需要重新刷新 If McLoginAble() = "" Then McLoginLoader.Start() '自动登录 '用于自动化测试生成的程序是否可以正常运行 If Environment.CommandLine.Contains("--test") Then @@ -294,7 +294,7 @@ Public Class PageLaunchLeft Dim LoginPageType As Integer If McInstanceSelected IsNot Nothing Then LoginPageType = Settings.Get(Of Integer)("VersionServerLogin", Instance:=McInstanceSelected) - '缓存当前版本的页面种类,下一次打开 McInstanceSelected 为空时才能加载出正确的页面 + '缓存当前实例的页面种类,下一次打开 McInstanceSelected 为空时才能加载出正确的页面 Settings.Set("LoginPageType", LoginPageType) Else LoginPageType = Settings.Get(Of Integer)("LoginPageType") @@ -602,7 +602,7 @@ Finish: #End Region - '版本选择按钮 + '实例选择按钮 Private Sub BtnVersion_Click() Handles BtnVersion.Click If McLaunchLoader.State = LoadState.Loading Then Return FrmMain.PageChange(FormMain.PageType.InstanceSelect) @@ -655,28 +655,28 @@ Finish: BtnLaunchState = CurrentState Select Case CurrentState Case 0 - Logger.Info("启动按钮:正在加载 Minecraft 版本") + Logger.Info("启动按钮:正在加载 Minecraft 实例") FrmLaunchLeft.BtnLaunch.Text = "正在加载" FrmLaunchLeft.BtnLaunch.IsEnabled = False FrmLaunchLeft.LabVersion.Text = "正在加载中,请稍候" FrmLaunchLeft.BtnVersion.IsEnabled = False FrmLaunchLeft.BtnMore.Visibility = Visibility.Collapsed Case 1 - Logger.Info("启动按钮:无 Minecraft 版本,下载已禁用") + Logger.Info("启动按钮:无 Minecraft 实例,下载已禁用") FrmLaunchLeft.BtnLaunch.Text = "启动游戏" FrmLaunchLeft.BtnLaunch.IsEnabled = False - FrmLaunchLeft.LabVersion.Text = "未找到可用的游戏版本" + FrmLaunchLeft.LabVersion.Text = "未找到可用的游戏实例" FrmLaunchLeft.BtnVersion.IsEnabled = True FrmLaunchLeft.BtnMore.Visibility = Visibility.Collapsed Case 2 - Logger.Info("启动按钮:无 Minecraft 版本,要求下载") + Logger.Info("启动按钮:无 Minecraft 实例,要求下载") FrmLaunchLeft.BtnLaunch.Text = "下载游戏" FrmLaunchLeft.BtnLaunch.IsEnabled = True - FrmLaunchLeft.LabVersion.Text = "未找到可用的游戏版本" + FrmLaunchLeft.LabVersion.Text = "未找到可用的游戏实例" FrmLaunchLeft.BtnVersion.IsEnabled = True FrmLaunchLeft.BtnMore.Visibility = Visibility.Collapsed Case 3 - Logger.Info($"启动按钮:Minecraft 版本:{McInstanceSelected.PathVersion}") + Logger.Info($"启动按钮:Minecraft 实例:{McInstanceSelected.PathVersion}") FrmLaunchLeft.BtnLaunch.Text = "启动游戏" FrmLaunchLeft.BtnVersion.IsEnabled = True FrmLaunchLeft.BtnLaunch.IsEnabled = True @@ -694,7 +694,7 @@ ExitRefresh: Private Sub BtnCancel_Click() Handles BtnCancel.Click McLaunchCancel() End Sub - '版本设置按钮 + '实例设置按钮 Private Sub BtnMore_Click() Handles BtnMore.Click If McLaunchLoader.State = LoadState.Loading Then Return McInstanceSelected.Load() diff --git a/Plain Craft Launcher 2/Pages/PageSelectLeft.xaml.vb b/Plain Craft Launcher 2/Pages/PageSelectLeft.xaml.vb index e3f2df7aa..69cc5056f 100644 --- a/Plain Craft Launcher 2/Pages/PageSelectLeft.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageSelectLeft.xaml.vb @@ -131,7 +131,7 @@ Public Class PageSelectLeft Catch ex As Exception Logger.Error(ex, "构建 Minecraft 文件夹列表 UI 出错") Finally - LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.RunOnUpdated, MaxDepth:=1, ExtraPath:="versions\") '刷新版本列表 + LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.RunOnUpdated, MaxDepth:=1, ExtraPath:="versions\") '刷新实例列表 End Try End Sub Private McFolderListLast As List(Of McFolder) @@ -218,25 +218,25 @@ Public Class PageSelectLeft '提示 If IsReplace Then Return If ShowHint Then Hint("文件夹 " & DisplayName & " 已添加!", HintType.Green) - '检查是否为根目录整合包,自动关闭版本隔离 + '检查是否为根目录整合包,自动关闭实例隔离 '1. 根目录中存在数个 Mod Dim ModFolder = DirectoryUtils.GetInfo(FolderPath & "mods\") If Not (ModFolder.Exists AndAlso ModFolder.EnumerateFiles.Count >= 3) Then Return - '2. 版本数较少,可能为整合包 + '2. 实例数较少,可能为整合包 Dim VersionFolderInfo = DirectoryUtils.GetInfo(FolderPath & "versions\") If Not (VersionFolderInfo.Exists AndAlso VersionFolderInfo.EnumerateDirectories.Count <= 3) Then Return - '3. 能够找到可安装 Mod 的版本 + '3. 能够找到可安装 Mod 的实例 For Each VersionFolder In VersionFolderInfo.EnumerateDirectories Dim Instance As New McInstance(VersionFolder.FullName) Instance.Load() If Not Instance.Modable Then Continue For - '4. 该版本的隔离文件夹下不存在 mods + '4. 该实例的隔离文件夹下不存在 mods Dim ModIndieFolder = DirectoryUtils.GetInfo(Instance.PathVersion & "mods\") If ModIndieFolder.Exists AndAlso ModIndieFolder.EnumerateFiles.Any Then Return '满足以上全部条件则视为根目录整合包 Settings.Set("VersionArgumentIndie", 2, Instance:=Instance) Settings.Set("VersionArgumentIndieV2", False, Instance:=Instance) - Logger.Warn($"已自动关闭单版本隔离:{Instance.Name}") + Logger.Warn($"已自动关闭单实例隔离:{Instance.Name}") Next Catch ex As Exception Logger.Error(ex, "向文件夹列表中添加新文件夹失败") @@ -270,7 +270,7 @@ Public Class PageSelectLeft Dim Target As McFolder = CType(CType(CType(sender.Parent, ContextMenu).Parent, Primitives.Popup).PlacementTarget, MyListItem).Tag '若为 “移除”,则提醒是否删除 PCL 的配置文件 If Target.Type = McFolder.Types.Custom Then - Select Case MyMsgBox("是否需要清理 PCL 在该文件夹中的配置文件?" & vbCrLf & "这包括各个版本的独立设置(如自定义图标、第三方登录配置)等,对游戏本身没有影响。", "配置文件清理", "删除", "保留", "取消") + Select Case MyMsgBox("是否需要清理 PCL 在该文件夹中的配置文件?" & vbCrLf & "这包括各个实例的独立设置(如自定义图标、第三方登录配置)等,对游戏本身没有影响。", "配置文件清理", "删除", "保留", "取消") Case 1 '删除配置文件 FileUtils.Delete(Target.Location & "PCL.ini") @@ -296,9 +296,9 @@ Public Class PageSelectLeft Dim DeleteText As String = If((Target.Type = McFolder.Types.Vanilla OrElse Target.Type = McFolder.Types.RenamedVanilla) AndAlso Target.Location = Paths.Base & ".minecraft\" AndAlso McFolderList.IsSingle, "清空", "删除") If MyMsgBox("你确定要" & DeleteText & "这个文件夹吗?" & vbCrLf & "目标文件夹:" & Target.Location & vbCrLf & vbCrLf & - "该文件夹中的游戏存档、游戏版本,以及 MC 之外的其他文件,都会永久丢失,不可恢复!", "警告", "取消", "确认", "取消") <> 2 Then Return + "该文件夹中的游戏存档、游戏实例,以及 MC 之外的其他文件,都会永久丢失,不可恢复!", "警告", "取消", "确认", "取消") <> 2 Then Return If MyMsgBoxInput("删除确认", - "该文件夹中的游戏存档、游戏版本,以及 MC 之外的其他文件,都会永久丢失,不可恢复!" & vbCrLf & + "该文件夹中的游戏存档、游戏实例,以及 MC 之外的其他文件,都会永久丢失,不可恢复!" & vbCrLf & "目标文件夹:" & Target.Location & vbCrLf & vbCrLf & "如果确实要删除,请在下面输入【Potato】这个单词以继续。", ValidateRules:=New ObjectModel.Collection(Of Validate) From {New ValidateSame("Potato", $"请输入 {vbLQ}Potato{vbRQ}", IgnoreCase:=True)}, @@ -399,7 +399,7 @@ Public Class PageSelectLeft '更换 McFolderSelected = CType(sender.Tag, McFolder).Location McFolderListLoader.Start(IsForceRestart:=True) - LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.RunOnUpdated, MaxDepth:=1, ExtraPath:="versions\") '刷新版本列表 + LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.RunOnUpdated, MaxDepth:=1, ExtraPath:="versions\") '刷新实例列表 End Sub End Class diff --git a/Plain Craft Launcher 2/Pages/PageSelectRight.xaml b/Plain Craft Launcher 2/Pages/PageSelectRight.xaml index b5d9a7208..2fe6905ef 100644 --- a/Plain Craft Launcher 2/Pages/PageSelectRight.xaml +++ b/Plain Craft Launcher 2/Pages/PageSelectRight.xaml @@ -11,15 +11,15 @@ - + - + - + \ No newline at end of file diff --git a/Plain Craft Launcher 2/Pages/PageSelectRight.xaml.vb b/Plain Craft Launcher 2/Pages/PageSelectRight.xaml.vb index 63ae8c521..e4f47cf7c 100644 --- a/Plain Craft Launcher 2/Pages/PageSelectRight.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageSelectRight.xaml.vb @@ -16,7 +16,7 @@ Public Class PageSelectRight '窗口属性 ''' - ''' 是否显示隐藏的 Minecraft 版本。 + ''' 是否显示隐藏的 Minecraft 实例。 ''' Public ShowHidden As Boolean = False @@ -28,13 +28,13 @@ Public Class PageSelectRight PanMain.Children.Clear() For Each Card As KeyValuePair(Of McInstanceCardType, List(Of McInstance)) In McInstanceList.ToArray - '确认是否为隐藏版本显示状态 + '确认是否为隐藏实例显示状态 If Card.Key = McInstanceCardType.Hidden Xor ShowHidden Then Continue For #Region "确认卡片名称" Dim CardName As String = "" Select Case Card.Key Case McInstanceCardType.OriginalLike - CardName = "常规版本" + CardName = "常规实例" Case McInstanceCardType.API Dim IsForgeExists As Boolean = False Dim IsNeoForgeExists As Boolean = False @@ -49,24 +49,24 @@ Public Class PageSelectRight If If(IsLiteExists, 1, 0) + If(IsForgeExists, 1, 0) + If(IsFabricExists, 1, 0) + If(IsNeoForgeExists, 1, 0) > 1 Then CardName = "可安装 Mod" ElseIf IsForgeExists Then - CardName = "Forge 版本" + CardName = "Forge 实例" ElseIf IsNeoForgeExists Then - CardName = "NeoForge 版本" + CardName = "NeoForge 实例" ElseIf IsLiteExists Then - CardName = "LiteLoader 版本" + CardName = "LiteLoader 实例" Else - CardName = "Fabric 版本" + CardName = "Fabric 实例" End If Case McInstanceCardType.Error - CardName = "错误的版本" + CardName = "错误的实例" Case McInstanceCardType.Hidden - CardName = "隐藏的版本" + CardName = "隐藏的实例" Case McInstanceCardType.Rubbish - CardName = "不常用版本" + CardName = "不常用实例" Case McInstanceCardType.Star CardName = "收藏夹" Case McInstanceCardType.Fool - CardName = "愚人节版本" + CardName = "愚人节实例" Case Else Throw New ArgumentException("未知的卡片种类(" & Card.Key & ")") End Select @@ -96,12 +96,12 @@ Public Class PageSelectRight PanEmpty.Visibility = Visibility.Visible PanBack.Visibility = Visibility.Collapsed If ShowHidden Then - LabEmptyTitle.Text = "无隐藏版本" - LabEmptyContent.Text = "没有版本被隐藏,你可以在版本设置的版本分类选项中隐藏版本。" & vbCrLf & "再次按下 F11 即可退出隐藏版本查看模式。" + LabEmptyTitle.Text = "无隐藏实例" + LabEmptyContent.Text = "没有实例被隐藏,你可以在实例设置的实例分类选项中隐藏实例。" & vbCrLf & "再次按下 F11 即可退出隐藏实例查看模式。" BtnEmptyDownload.Visibility = Visibility.Collapsed Else - LabEmptyTitle.Text = "无可用版本" - LabEmptyContent.Text = "未找到任何版本的游戏,请先下载任意版本的游戏。" & vbCrLf & "若有已存在的游戏,请在左边的列表中选择添加文件夹,选择 .minecraft 文件夹将其导入。" + LabEmptyTitle.Text = "无可用实例" + LabEmptyContent.Text = "未找到任何实例的游戏,请先下载任意游戏实例。" & vbCrLf & "若有已存在的游戏,请在左边的列表中选择添加文件夹,选择 .minecraft 文件夹将其导入。" BtnEmptyDownload.Visibility = If(Settings.Get(Of Boolean)("UiHiddenPageDownload") AndAlso Not PageSetupUI.HiddenForceShow, Visibility.Collapsed, Visibility.Visible) End If Else @@ -110,7 +110,7 @@ Public Class PageSelectRight End If Catch ex As Exception - Logger.Error(ex, "将版本列表转换显示时失败") + Logger.Error(ex, "将实例列表转换显示时失败") End Try End Sub Public Shared Sub McInstanceListContent(sender As MyListItem, e As EventArgs) @@ -167,11 +167,11 @@ Public Class PageSelectRight Public Shared Sub Item_Click(sender As MyListItem, e As EventArgs) Dim Instance As McInstance = sender.Tag If New McInstance(Instance.PathVersion).Check Then - '正常版本 + '正常实例 McInstanceSelected = Instance FrmMain.PageBack() Else - '错误版本 + '错误实例 PageInstanceOverall.OpenInstanceFolder(Instance) End If End Sub @@ -187,14 +187,14 @@ Public Class PageSelectRight Dim IsHintIndie As Boolean = Instance.State <> McInstanceState.Error AndAlso Instance.PathIndie <> McFolderSelected Dim SavesFolder = DirectoryUtils.GetInfo(Instance.PathIndie & "saves\") 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 等文件也将被一并删除!", "") & + Select Case MyMsgBox($"你确定要{If(IsShiftPressed, "永久", "")}删除实例 {Instance.Name} 吗?" & + If(IsHintIndie, vbCrLf & "该实例对应的存档、资源包、Mod 等文件也将被一并删除!", "") & If(SaveEntries.Any, vbCrLf & vbCrLf & "这会删除以下存档:" & vbCrLf & "· " & SaveEntries.Join(vbCrLf & "· "), ""), - "版本删除确认", , "取消",, True) + "实例删除确认", , "取消",, True) Case 1 Instance.ResetSettingsCache() DirectoryUtils.Delete(Instance.PathVersion, Not IsShiftPressed) - Hint("版本 " & Instance.Name & " 已删除!", HintType.Green) + Hint("实例 " & Instance.Name & " 已删除!", HintType.Green) Case 2 Return End Select @@ -208,7 +208,7 @@ Public Class PageSelectRight Card.Title = Card.Title.Replace(Parent.Children.Count - 1, Parent.Children.Count - 2) '有一个占位符 Parent.Children.Remove(Item) If McInstanceSelected IsNot Nothing AndAlso Instance.PathVersion = McInstanceSelected.PathVersion Then - '删除当前版本就更改选择 + '删除当前实例就更改选择 McInstanceSelected = MyVirtualizingElement.TryInit(Parent.Children(0)).Tag End If LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.UpdateOnly, MaxDepth:=1, ExtraPath:="versions\") @@ -221,9 +221,9 @@ Public Class PageSelectRight LoaderFolderRun(McInstanceListLoader, McFolderSelected, LoaderFolderRunType.ForceRun, MaxDepth:=1, ExtraPath:="versions\") End If Catch ex As OperationCanceledException - Logger.Warn(ex, $"删除版本 {Instance.Name} 被主动取消") + Logger.Warn(ex, $"删除实例 {Instance.Name} 被主动取消") Catch ex As Exception - Logger.Error(ex, $"删除版本 {Instance.Name} 失败", LogBehavior.Alert) + Logger.Error(ex, $"删除实例 {Instance.Name} 失败", LogBehavior.Alert) End Try End Sub diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml index c1b69c625..4583fa591 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml @@ -258,13 +258,13 @@ + ToolTip="在 MC 启动前执行特定命令或程序,语法与 Windows 的命令提示符一致。 你可以用替换标记来动态改变其内容或实现相对路径,在 更多 → 帮助 中搜索 “替换标记” 以了解用法。例如: · "{verpath}test.exe" :运行实例文件夹下的 test.exe 程序 · "{java}java.exe" -jar "{verpath}test.jar" :用 Java 运行实例文件夹下的 test.jar · notepad "{verindie}options.txt" :使用记事本打开该实例的设置文件 涉及路径的操作最好都打上双引号,以避免路径中的空格导致运行失败。 执行命令时,命令行所在的目录是当前的 .minecraft 文件夹。" /> @@ -292,12 +292,12 @@ - diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb index 542e423c2..6956462df 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.vb @@ -6,7 +6,7 @@ Public Class PageSetupLaunch RefreshRam(False) BtnSwitch.Visibility = If(McInstanceSelected Is Nothing, Visibility.Collapsed, Visibility.Visible) - 'Java 可能在版本设置被修改,所以总是重新加载(反正其他的 Refresh 也不太吃性能) + 'Java 可能在实例设置被修改,所以总是重新加载(反正其他的 Refresh 也不太吃性能) AniControlEnabled += 1 Refresh() AniControlEnabled -= 1 @@ -287,7 +287,7 @@ Public Class PageSetupLaunch Dim RamTarget3 As Double '放一百万个材质和 Mod 和光影需要的内存 If Instance IsNot Nothing AndAlso Not Instance.IsLoaded Then Instance.Load() If Instance IsNot Nothing AndAlso Instance.Modable Then - '可安装 Mod 的版本 + '可安装 Mod 的实例 Dim ModDir = DirectoryUtils.GetInfo(Instance.PathIndie & "mods\") Dim ModCount As Integer = If(ModDir.Exists, ModDir.GetFiles.Count(Function(f) {".jar", ".zip", ".litemod"}.Contains(f.Extension.Lower)), 0) RamMininum = 0.5 + ModCount / 150 @@ -471,10 +471,10 @@ PreFin: End If End Sub - '版本隔离提示 + '实例隔离提示 Private Sub ComboArgumentIndie_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ComboArgumentIndieV2.SelectionChanged If AniControlEnabled <> 0 Then Return - MyMsgBox("本设置仅会对之后新安装的版本生效。" & vbCrLf & "如果要修改已安装的版本的隔离方式,请在它的版本独立设置中调整。") + MyMsgBox("本设置仅会对之后新安装的实例生效。" & vbCrLf & "如果要修改已安装的实例的隔离方式,请在它的实例独立设置中调整。") End Sub #End Region @@ -505,7 +505,7 @@ PreFin: #End Region - '切换到版本独立设置 + '切换到实例独立设置 Private Sub BtnSwitch_Click(sender As Object, e As MouseButtonEventArgs) Handles BtnSwitch.Click McInstanceSelected.Load() PageInstanceLeft.Instance = McInstanceSelected diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupSystem.xaml b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupSystem.xaml index f0d09e597..2249ca05f 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupSystem.xaml +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupSystem.xaml @@ -42,7 +42,7 @@ - + diff --git a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml index b3eb662c7..e0f2ba354 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml +++ b/Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml @@ -331,7 +331,7 @@ - + diff --git a/Plain Craft Launcher 2/Pages/PageSetup/Settings.vb b/Plain Craft Launcher 2/Pages/PageSetup/Settings.vb index 79501afc1..7890120e0 100644 --- a/Plain Craft Launcher 2/Pages/PageSetup/Settings.vb +++ b/Plain Craft Launcher 2/Pages/PageSetup/Settings.vb @@ -229,7 +229,7 @@ Public Class Settings ''' ''' 读取过的设置的缓存,若从未读取过则为 Nothing。 - ''' 若为版本独立设置,键为版本路径;否则,键为空字符串。 + ''' 若为实例独立设置,键为实例路径;否则,键为空字符串。 ''' Public ValueCache As New ConcurrentDictionary(Of String, Object) Public Function GetCache(Instance As McInstance) @@ -266,7 +266,7 @@ Public Class Settings Logger.Warn(ex, $"写入注册表失败({Key} → {Value})", LogBehavior.Toast) End Try Case Sources.Instance - If Instance Is Nothing Then Throw New Exception($"保存版本独立设置 {Key} 时未提供目标版本") + If Instance Is Nothing Then Throw New Exception($"保存实例独立设置 {Key} 时未提供目标实例") WriteIni(Instance.PathVersion & "PCL\Setup.ini", Key, Value) End Select End Sub @@ -333,7 +333,7 @@ Public Class Settings GotValue = RegistryUtils.TryRead($"HKEY_CURRENT_USER\Software\{RegFolder}", Key, DefaultValue) Case Sources.Instance If Instance Is Nothing Then - Throw New Exception($"读取版本设置 {Key} 时未提供目标版本") + Throw New Exception($"读取实例设置 {Key} 时未提供目标实例") Else GotValue = ReadIni(Instance.PathVersion & "PCL\Setup.ini", Key, DefaultValue) End If @@ -395,7 +395,7 @@ Public Class Settings Logger.Warn(ex, $"删除注册表失败({Key})", LogBehavior.Toast) End Try Case Sources.Instance - If Instance Is Nothing Then Throw New Exception($"重置版本设置 {Key} 时未提供目标版本") + If Instance Is Nothing Then Throw New Exception($"重置实例设置 {Key} 时未提供目标实例") DeleteIniKey(Instance.PathVersion & "PCL\Setup.ini", Key) End Select '触发改变事件 @@ -428,7 +428,7 @@ Public Class Settings Return False End Try Case Else 'Source.Instance - If Instance Is Nothing Then Throw New Exception($"判断版本设置 {Key} 是否存在时未提供目标版本") + If Instance Is Nothing Then Throw New Exception($"判断实例设置 {Key} 是否存在时未提供目标实例") Return HasIniKey(Instance.PathVersion & "PCL\Setup.ini", Key) End Select End Function