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