From fce8781b220aac7a5ce17249751f288fcc543412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=95=E8=8E=89=E6=96=AF?= <125196925+shanlisi567@users.noreply.github.com> Date: Wed, 19 Mar 2025 19:25:48 +0800 Subject: [PATCH 01/11] Update MySkin.xaml.vb --- Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb index 6de3437..72bbb83 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -243,7 +243,7 @@ Retry: {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, - {"Mojang Office", "Mojang 办公室披风"} + {"Mojang Office", "Mojang 办公室披风"},{"Home", "家园披风"},{"Menace", "威胁披风"} } Dim SelectionControl As New List(Of IMyRadio) From {New MyRadioBox With {.Text = "无披风"}} For Each Cape In SkinData("capes") From a4284dbc50d920938ab24f9a3ef5776faee2c878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=95=E8=8E=89=E6=96=AF?= <125196925+shanlisi567@users.noreply.github.com> Date: Wed, 19 Mar 2025 20:21:59 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E4=BB=8E=E5=85=A8=E8=A7=92=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E5=88=B0=E5=8D=8A=E8=A7=92MySkin.xaml.vb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/PageLaunch/MySkin.xaml.vb | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb index 72bbb83..59d631c 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -1,39 +1,39 @@ -Public Class MySkin +公共 Class MySkin '事件 - Public Event Click(sender As Object, e As MouseButtonEventArgs) + 公共 Event Click(sender As Object, e As MouseButtonEventArgs) '皮肤储存 - Private _Address As String - Public Property Address As String + 私有 _Address As String + 公共 Property Address As String Get Return _Address End Get Set(value As String) _Address = value - ToolTip = If(_Address = "", "加载中", "点击更换皮肤(右键查看更多选项)") + ToolTip = If(_Address = "", "加载中", "点击更换皮肤(右键查看更多选项)") End Set End Property - Public Loader As LoaderTask(Of EqualableList(Of String), String) + 公共 Loader As LoaderTask(Of EqualableList(Of String), String) '控件动画 - Private Sub PanSkin_MouseEnter(sender As Object, e As MouseEventArgs) Handles Me.MouseEnter - AniStart(AaOpacity(ShadowSkin, 0.8 - ShadowSkin.Opacity, 200, 100), "Skin Shadow") + 私有 Sub PanSkin_MouseEnter(sender As Object, e As MouseEventArgs) Handles Me.MouseEnter + AniStart(AaOpacity(ShadowSkin, 0.8 - ShadowSkin.Opacity, 200, 100), "Skin Shadow") End Sub - Private Sub PanSkin_MouseLeave(sender As Object, e As MouseEventArgs) Handles Me.MouseLeave + 私有 Sub PanSkin_MouseLeave(sender As Object, e As MouseEventArgs) Handles Me.MouseLeave AniStart(AaOpacity(ShadowSkin, 0.2 - ShadowSkin.Opacity, 200), "Skin Shadow") IsSkinMouseDown = False - AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") End Sub '点击 - Private IsSkinMouseDown As Boolean = False - Private Sub PanSkin_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonDown + 私有 IsSkinMouseDown As Boolean = False + 私有 Sub PanSkin_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonDown IsSkinMouseDown = True - AniStart(AaScaleTransform(Me, 0.9 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + AniStart(AaScaleTransform(Me, 0.9 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") End Sub - Private Sub PanSkin_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonUp - AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + 私有 Sub PanSkin_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonUp + AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") If IsSkinMouseDown Then IsSkinMouseDown = False RaiseEvent Click(sender, e) @@ -41,10 +41,10 @@ End Sub '保存皮肤 - Public Sub BtnSkinSave_Click() Handles BtnSkinSave.Click + 公共 Sub BtnSkinSave_Click() Handles BtnSkinSave.Click Save(Loader) End Sub - Public Shared Sub Save(Loader As LoaderTask(Of EqualableList(Of String), String)) + 公共 Shared Sub Save(Loader As LoaderTask(Of EqualableList(Of String), String)) Dim Address = Loader.Output If Not Loader.State = LoadState.Finished Then Hint("皮肤正在获取中,请稍候!", HintType.Critical) @@ -67,14 +67,14 @@ Log(ex, "保存皮肤失败", LogLevel.Hint) End Try End Sub - Private Sub BtnSkinSave_Checked(sender As MyMenuItem, e As RoutedEventArgs) Handles BtnSkinSave.Checked + 私有 Sub BtnSkinSave_Checked(sender As MyMenuItem, e As RoutedEventArgs) Handles BtnSkinSave.Checked sender.IsEnabled = Address = "" End Sub ''' ''' 载入皮肤。 ''' - Public Sub Load() + 公共 Sub Load() Try '检查文件存在 Address = Loader.Output @@ -98,10 +98,10 @@ End If '头发层(附加层) If Image.Pic.Width >= 64 AndAlso Image.Pic.Height >= 32 Then - If (Image.Pic.GetPixel(1, 1).A = 0 OrElse '如果图片中有任何透明像素(避免纯色白底) + If (Image.Pic.GetPixel(1, 1).A = 0 OrElse '如果图片中有任何透明像素(避免纯色白底) Image.Pic.GetPixel(Image.Pic.Width - 1, Image.Pic.Height - 1).A = 0 OrElse Image.Pic.GetPixel(Image.Pic.Width - 2, Image.Pic.Height / 2 - 2).A = 0) OrElse - (Image.Pic.GetPixel(1, 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso '或是头部颜色和透明区均不一样 + (Image.Pic.GetPixel(1, 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso '或是头部颜色和透明区均不一样 Image.Pic.GetPixel(Image.Pic.Width - 1, Image.Pic.Height - 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso Image.Pic.GetPixel(Image.Pic.Width - 2, Image.Pic.Height / 2 - 2) <> Image.Pic.GetPixel(Scale * 41, Scale * 9)) Then ImgFore.Source = Image.Clip(Scale * 40, Scale * 8, Scale * 8, Scale * 8) @@ -121,26 +121,26 @@ ''' ''' 清空皮肤。 ''' - Public Sub Clear() + 公共 Sub Clear() Address = "" ImgFore.Source = Nothing ImgBack.Source = Nothing End Sub '刷新缓存 - Public Sub RefreshClick() Handles BtnSkinRefresh.Click + 公共 Sub RefreshClick() Handles BtnSkinRefresh.Click RefreshCache(Loader) End Sub ''' ''' 刷新皮肤缓存。 ''' - Public Shared Sub RefreshCache(Optional sender As LoaderTask(Of EqualableList(Of String), String) = Nothing) + 公共 Shared Sub RefreshCache(Optional sender As LoaderTask(Of EqualableList(Of String), String) = Nothing) Dim HasLoaderRunning As Boolean = False For Each SkinLoader In PageLaunchLeft.SkinLoaders If SkinLoader.State = LoadState.Loading Then HasLoaderRunning = True : Exit For End If - Next + 下一页 If FrmLaunchLeft IsNot Nothing AndAlso HasLoaderRunning Then '由于 Abort 不是实时的,暂时不会释放文件,会导致删除报错,故只能取消执行 Hint("有正在获取中的皮肤,请稍后再试!", HintType.Info) @@ -160,7 +160,7 @@ '刷新控件 For Each SkinLoader In If(sender IsNot Nothing, {sender}, {PageLaunchLeft.SkinLegacy, PageLaunchLeft.SkinMs}) SkinLoader.WaitForExit(IsForceRestart:=True) - Next + 下一页 Hint("已刷新头像!", HintType.Finish) Catch ex As Exception Log(ex, "刷新皮肤缓存失败", LogLevel.Msgbox) @@ -172,7 +172,7 @@ ''' 在更换正版皮肤后,刷新正版皮肤。 ''' ''' 新的正版皮肤完整地址。 - Public Shared Sub ReloadCache(SkinAddress As String) + 公共 Shared Sub ReloadCache(SkinAddress As String) RunInThread( Sub() Try @@ -182,7 +182,7 @@ '刷新控件 For Each SkinLoader In {PageLaunchLeft.SkinMs, PageLaunchLeft.SkinLegacy} SkinLoader.WaitForExit(IsForceRestart:=True) - Next + 下一页 '完成提示 Hint("更改皮肤成功!", HintType.Finish) Catch ex As Exception @@ -192,7 +192,7 @@ End Sub '披风 - Public Property HasCape As Boolean + 公共 Property HasCape As Boolean Get Return BtnSkinCape.Visibility = Visibility.Collapsed End Get @@ -204,8 +204,8 @@ End If End Set End Property - Private IsChanging As Boolean = False - Public Sub BtnSkinCape_Click() Handles BtnSkinCape.Click + 私有 IsChanging As Boolean = False + 公共 Sub BtnSkinCape_Click() Handles BtnSkinCape.Click '检查条件,获取新披风 If IsChanging Then Hint("正在更改披风中,请稍候!") @@ -236,32 +236,32 @@ Retry: RunInUiWait( Sub() Try - Dim CapeNames As New Dictionary(Of String, String) From { - {"Migrator", "迁移者披风"}, {"MapMaker", "Realms 地图制作者披风"}, {"Moderator", "Mojira 管理员披风"}, - {"Translator-Chinese", "Crowdin 中文翻译者披风"}, {"Translator", "Crowdin 翻译者披风"}, {"Cobalt", "Cobalt 披风"}, - {"Vanilla", "原版披风"}, {"Minecon2011", "Minecon 2011 参与者披风"}, {"Minecon2012", "Minecon 2012 参与者披风"}, - {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, - {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, - {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, - {"Mojang Office", "Mojang 办公室披风"},{"Home", "家园披风"},{"Menace", "威胁披风"} + Dim CapeNames As New Dictionary(Of String, String) From { + {"Migrator", "迁移者披风"}, {"MapMaker", "Realms 地图制作者披风"}, {"Moderator", "Mojira 管理员披风"}, + {"Translator-Chinese", "Crowdin 中文翻译者披风"}, {"Translator", "Crowdin 翻译者披风"}, {"Cobalt", "Cobalt 披风"}, + {"Vanilla", "原版披风"}, {"Minecon2011", "Minecon 2011 参与者披风"}, {"Minecon2012", "Minecon 2012 参与者披风"}, + {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, + {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, + {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, + {"Mojang Office","Mojang 办公室披风"},{"Home","家园披风"},{"Menace","威胁披风"} } Dim SelectionControl As New List(Of IMyRadio) From {New MyRadioBox With {.Text = "无披风"}} For Each Cape In SkinData("capes") Dim CapeName As String = Cape("alias").ToString If CapeNames.ContainsKey(CapeName) Then CapeName = CapeNames(CapeName) SelectionControl.Add(New MyRadioBox With {.Text = CapeName}) - Next - SelId = MyMsgBoxSelect(SelectionControl, "选择披风", "确定", "取消") + 下一页 + SelId = MyMsgBoxSelect(SelectionControl, "选择披风", "确定", "取消") Catch ex As Exception Log(ex, "获取玩家皮肤列表失败", LogLevel.Feedback) End Try End Sub) If SelId Is Nothing Then Exit Sub '发送请求 - Dim Result As String = NetRequestRetry("https://api.minecraftservices.com/minecraft/profile/capes/active", - If(SelId = 0, "DELETE", "PUT"), - If(SelId = 0, "", New JObject(New JProperty("capeId", SkinData("capes")(SelId - 1)("id"))).ToString(0)), - "application/json", Headers:=New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) + Dim Result As String = NetRequestRetry("https://api.minecraftservices.com/minecraft/profile/capes/active", + If(SelId = 0, "DELETE", "PUT"), + If(SelId = 0, "", New JObject(New JProperty("capeId", SkinData("capes")(SelId - 1)("id"))).ToString(0)), + "application/json", Headers:=New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) If Result.Contains("""errorMessage""") Then Hint("更改披风失败:" & GetJson(Result)("errorMessage"), HintType.Critical) Exit Sub @@ -273,7 +273,7 @@ Retry: Finally IsChanging = False End Try - End Sub, "Cape Change") + End Sub, "Cape Change") End Sub End Class From 34697c0d27c9370830085033ea080fa55614cde9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=95=E8=8E=89=E6=96=AF?= <125196925+shanlisi567@users.noreply.github.com> Date: Wed, 19 Mar 2025 20:32:52 +0800 Subject: [PATCH 03/11] Ctrl+C Ctrl+V MySkin.xaml.vb --- .../Pages/PageLaunch/MySkin.xaml.vb | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb index 59d631c..696dba7 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -1,39 +1,39 @@ -公共 Class MySkin +Public Class MySkin '事件 - 公共 Event Click(sender As Object, e As MouseButtonEventArgs) + Public Event Click(sender As Object, e As MouseButtonEventArgs) '皮肤储存 - 私有 _Address As String - 公共 Property Address As String + Private _Address As String + Public Property Address As String Get Return _Address End Get Set(value As String) _Address = value - ToolTip = If(_Address = "", "加载中", "点击更换皮肤(右键查看更多选项)") + ToolTip = If(_Address = "", "加载中", "点击更换皮肤(右键查看更多选项)") End Set End Property - 公共 Loader As LoaderTask(Of EqualableList(Of String), String) + Public Loader As LoaderTask(Of EqualableList(Of String), String) '控件动画 - 私有 Sub PanSkin_MouseEnter(sender As Object, e As MouseEventArgs) Handles Me.MouseEnter - AniStart(AaOpacity(ShadowSkin, 0.8 - ShadowSkin.Opacity, 200, 100), "Skin Shadow") + Private Sub PanSkin_MouseEnter(sender As Object, e As MouseEventArgs) Handles Me.MouseEnter + AniStart(AaOpacity(ShadowSkin, 0.8 - ShadowSkin.Opacity, 200, 100), "Skin Shadow") End Sub - 私有 Sub PanSkin_MouseLeave(sender As Object, e As MouseEventArgs) Handles Me.MouseLeave + Private Sub PanSkin_MouseLeave(sender As Object, e As MouseEventArgs) Handles Me.MouseLeave AniStart(AaOpacity(ShadowSkin, 0.2 - ShadowSkin.Opacity, 200), "Skin Shadow") IsSkinMouseDown = False - AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") End Sub '点击 - 私有 IsSkinMouseDown As Boolean = False - 私有 Sub PanSkin_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonDown + Private IsSkinMouseDown As Boolean = False + Private Sub PanSkin_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonDown IsSkinMouseDown = True - AniStart(AaScaleTransform(Me, 0.9 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + AniStart(AaScaleTransform(Me, 0.9 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") End Sub - 私有 Sub PanSkin_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonUp - AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + Private Sub PanSkin_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonUp + AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") If IsSkinMouseDown Then IsSkinMouseDown = False RaiseEvent Click(sender, e) @@ -41,10 +41,10 @@ End Sub '保存皮肤 - 公共 Sub BtnSkinSave_Click() Handles BtnSkinSave.Click + Public Sub BtnSkinSave_Click() Handles BtnSkinSave.Click Save(Loader) End Sub - 公共 Shared Sub Save(Loader As LoaderTask(Of EqualableList(Of String), String)) + Public Shared Sub Save(Loader As LoaderTask(Of EqualableList(Of String), String)) Dim Address = Loader.Output If Not Loader.State = LoadState.Finished Then Hint("皮肤正在获取中,请稍候!", HintType.Critical) @@ -67,14 +67,14 @@ Log(ex, "保存皮肤失败", LogLevel.Hint) End Try End Sub - 私有 Sub BtnSkinSave_Checked(sender As MyMenuItem, e As RoutedEventArgs) Handles BtnSkinSave.Checked + Private Sub BtnSkinSave_Checked(sender As MyMenuItem, e As RoutedEventArgs) Handles BtnSkinSave.Checked sender.IsEnabled = Address = "" End Sub ''' ''' 载入皮肤。 ''' - 公共 Sub Load() + Public Sub Load() Try '检查文件存在 Address = Loader.Output @@ -98,10 +98,10 @@ End If '头发层(附加层) If Image.Pic.Width >= 64 AndAlso Image.Pic.Height >= 32 Then - If (Image.Pic.GetPixel(1, 1).A = 0 OrElse '如果图片中有任何透明像素(避免纯色白底) + If (Image.Pic.GetPixel(1, 1).A = 0 OrElse '如果图片中有任何透明像素(避免纯色白底) Image.Pic.GetPixel(Image.Pic.Width - 1, Image.Pic.Height - 1).A = 0 OrElse Image.Pic.GetPixel(Image.Pic.Width - 2, Image.Pic.Height / 2 - 2).A = 0) OrElse - (Image.Pic.GetPixel(1, 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso '或是头部颜色和透明区均不一样 + (Image.Pic.GetPixel(1, 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso '或是头部颜色和透明区均不一样 Image.Pic.GetPixel(Image.Pic.Width - 1, Image.Pic.Height - 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso Image.Pic.GetPixel(Image.Pic.Width - 2, Image.Pic.Height / 2 - 2) <> Image.Pic.GetPixel(Scale * 41, Scale * 9)) Then ImgFore.Source = Image.Clip(Scale * 40, Scale * 8, Scale * 8, Scale * 8) @@ -121,26 +121,26 @@ ''' ''' 清空皮肤。 ''' - 公共 Sub Clear() + Public Sub Clear() Address = "" ImgFore.Source = Nothing ImgBack.Source = Nothing End Sub '刷新缓存 - 公共 Sub RefreshClick() Handles BtnSkinRefresh.Click + Public Sub RefreshClick() Handles BtnSkinRefresh.Click RefreshCache(Loader) End Sub ''' ''' 刷新皮肤缓存。 ''' - 公共 Shared Sub RefreshCache(Optional sender As LoaderTask(Of EqualableList(Of String), String) = Nothing) + Public Shared Sub RefreshCache(Optional sender As LoaderTask(Of EqualableList(Of String), String) = Nothing) Dim HasLoaderRunning As Boolean = False For Each SkinLoader In PageLaunchLeft.SkinLoaders If SkinLoader.State = LoadState.Loading Then HasLoaderRunning = True : Exit For End If - 下一页 + Next If FrmLaunchLeft IsNot Nothing AndAlso HasLoaderRunning Then '由于 Abort 不是实时的,暂时不会释放文件,会导致删除报错,故只能取消执行 Hint("有正在获取中的皮肤,请稍后再试!", HintType.Info) @@ -160,7 +160,7 @@ '刷新控件 For Each SkinLoader In If(sender IsNot Nothing, {sender}, {PageLaunchLeft.SkinLegacy, PageLaunchLeft.SkinMs}) SkinLoader.WaitForExit(IsForceRestart:=True) - 下一页 + Next Hint("已刷新头像!", HintType.Finish) Catch ex As Exception Log(ex, "刷新皮肤缓存失败", LogLevel.Msgbox) @@ -172,7 +172,7 @@ ''' 在更换正版皮肤后,刷新正版皮肤。 ''' ''' 新的正版皮肤完整地址。 - 公共 Shared Sub ReloadCache(SkinAddress As String) + Public Shared Sub ReloadCache(SkinAddress As String) RunInThread( Sub() Try @@ -182,7 +182,7 @@ '刷新控件 For Each SkinLoader In {PageLaunchLeft.SkinMs, PageLaunchLeft.SkinLegacy} SkinLoader.WaitForExit(IsForceRestart:=True) - 下一页 + Next '完成提示 Hint("更改皮肤成功!", HintType.Finish) Catch ex As Exception @@ -192,7 +192,7 @@ End Sub '披风 - 公共 Property HasCape As Boolean + Public Property HasCape As Boolean Get Return BtnSkinCape.Visibility = Visibility.Collapsed End Get @@ -204,8 +204,8 @@ End If End Set End Property - 私有 IsChanging As Boolean = False - 公共 Sub BtnSkinCape_Click() Handles BtnSkinCape.Click + Private IsChanging As Boolean = False + Public Sub BtnSkinCape_Click() Handles BtnSkinCape.Click '检查条件,获取新披风 If IsChanging Then Hint("正在更改披风中,请稍候!") @@ -236,32 +236,32 @@ Retry: RunInUiWait( Sub() Try - Dim CapeNames As New Dictionary(Of String, String) From { - {"Migrator", "迁移者披风"}, {"MapMaker", "Realms 地图制作者披风"}, {"Moderator", "Mojira 管理员披风"}, - {"Translator-Chinese", "Crowdin 中文翻译者披风"}, {"Translator", "Crowdin 翻译者披风"}, {"Cobalt", "Cobalt 披风"}, - {"Vanilla", "原版披风"}, {"Minecon2011", "Minecon 2011 参与者披风"}, {"Minecon2012", "Minecon 2012 参与者披风"}, - {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, - {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, - {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, - {"Mojang Office","Mojang 办公室披风"},{"Home","家园披风"},{"Menace","威胁披风"} + Dim CapeNames As New Dictionary(Of String, String) From { + {"Migrator", "迁移者披风"}, {"MapMaker", "Realms 地图制作者披风"}, {"Moderator", "Mojira 管理员披风"}, + {"Translator-Chinese", "Crowdin 中文翻译者披风"}, {"Translator", "Crowdin 翻译者披风"}, {"Cobalt", "Cobalt 披风"}, + {"Vanilla", "原版披风"}, {"Minecon2011", "Minecon 2011 参与者披风"}, {"Minecon2012", "Minecon 2012 参与者披风"}, + {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, + {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, + {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, + {"Mojang Office", "Mojang 办公室披风"},{"Home","家园披风"},{"Menace","威胁披风"} } Dim SelectionControl As New List(Of IMyRadio) From {New MyRadioBox With {.Text = "无披风"}} For Each Cape In SkinData("capes") Dim CapeName As String = Cape("alias").ToString If CapeNames.ContainsKey(CapeName) Then CapeName = CapeNames(CapeName) SelectionControl.Add(New MyRadioBox With {.Text = CapeName}) - 下一页 - SelId = MyMsgBoxSelect(SelectionControl, "选择披风", "确定", "取消") + Next + SelId = MyMsgBoxSelect(SelectionControl, "选择披风", "确定", "取消") Catch ex As Exception Log(ex, "获取玩家皮肤列表失败", LogLevel.Feedback) End Try End Sub) If SelId Is Nothing Then Exit Sub '发送请求 - Dim Result As String = NetRequestRetry("https://api.minecraftservices.com/minecraft/profile/capes/active", - If(SelId = 0, "DELETE", "PUT"), - If(SelId = 0, "", New JObject(New JProperty("capeId", SkinData("capes")(SelId - 1)("id"))).ToString(0)), - "application/json", Headers:=New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) + Dim Result As String = NetRequestRetry("https://api.minecraftservices.com/minecraft/profile/capes/active", + If(SelId = 0, "DELETE", "PUT"), + If(SelId = 0, "", New JObject(New JProperty("capeId", SkinData("capes")(SelId - 1)("id"))).ToString(0)), + "application/json", Headers:=New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) If Result.Contains("""errorMessage""") Then Hint("更改披风失败:" & GetJson(Result)("errorMessage"), HintType.Critical) Exit Sub @@ -273,7 +273,7 @@ Retry: Finally IsChanging = False End Try - End Sub, "Cape Change") + End Sub, "Cape Change") End Sub End Class From c41b6b361edfaf86c5972b12fe4604f9d1f9d1d9 Mon Sep 17 00:00:00 2001 From: shanlisi567 <911755868@qq.com> Date: Wed, 19 Mar 2025 22:54:31 +0800 Subject: [PATCH 04/11] cape --- Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb index 696dba7..f66d459 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -243,7 +243,7 @@ Retry: {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, - {"Mojang Office", "Mojang 办公室披风"},{"Home","家园披风"},{"Menace","威胁披风"} + {"Mojang Office", "Mojang 办公室披风"}, {"Home", "家园披风"}, {"Menace", "威胁披风"} } Dim SelectionControl As New List(Of IMyRadio) From {New MyRadioBox With {.Text = "无披风"}} For Each Cape In SkinData("capes") From 5f7c5b2770d13f55a982bae36ab9d8ecf03119d0 Mon Sep 17 00:00:00 2001 From: shanlisi567 <911755868@qq.com> Date: Fri, 21 Mar 2025 12:35:08 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E2=80=9C=E5=A8=81?= =?UTF-8?q?=E8=83=81=E6=8A=AB=E9=A3=8E=E2=80=9D=E4=B8=BA=E2=80=9C=E5=85=A5?= =?UTF-8?q?=E4=BE=B5=E6=8A=AB=E9=A3=8E=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb index f66d459..448df0b 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -243,7 +243,7 @@ Retry: {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, - {"Mojang Office", "Mojang 办公室披风"}, {"Home", "家园披风"}, {"Menace", "威胁披风"} + {"Mojang Office", "Mojang 办公室披风"}, {"Home", "家园披风"}, {"Menace", "入侵披风"} } Dim SelectionControl As New List(Of IMyRadio) From {New MyRadioBox With {.Text = "无披风"}} For Each Cape In SkinData("capes") From 6b9bfbf4f66021f2a16e283f43453eb7cabcf3a3 Mon Sep 17 00:00:00 2001 From: wyc-26 Date: Sat, 22 Mar 2025 22:28:12 +0800 Subject: [PATCH 06/11] =?UTF-8?q?fix(ModDownloadLib):=201.14=20=E5=8F=8A?= =?UTF-8?q?=E4=BB=A5=E4=B8=8A=E7=89=88=E6=9C=AC=E6=97=A0=E6=B3=95=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=20OptiFine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/ModMain.vb | 18 +++++++++++++----- .../Pages/PageDownload/ModDownloadLib.vb | 6 +++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/ModMain.vb b/Plain Craft Launcher 2/Modules/ModMain.vb index 51cde8e..2839a54 100644 --- a/Plain Craft Launcher 2/Modules/ModMain.vb +++ b/Plain Craft Launcher 2/Modules/ModMain.vb @@ -873,15 +873,23 @@ NextFile: End Sub ''' - ''' 申请一个可用于任务缓存的临时文件夹,以 \ 结尾。 + ''' 申请一个可用于任务缓存的临时文件夹。 ''' 这些文件夹无需进行后续清理。 ''' ''' 是否要求路径不包含空格。 - Public Function RequestTaskTempFolder(Optional RequireNonSpace As Boolean = False) As String + ''' 是否要求路径斜杠。 + Public Function RequestTaskTempFolder(Optional RequireNonSpace As Boolean = False, Optional RequireSlash As Boolean = True) As String TryClearTaskTemp() - RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\" - If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then - RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\" + If RequireSlash Then + RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\" + If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then + RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\" + End If + Else + RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}" + If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then + RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}" + End If End If Directory.CreateDirectory(RequestTaskTempFolder) End Function diff --git a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb index 4707dc6..f2431af 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb @@ -545,7 +545,7 @@ pause" Dim VersionFolder As String = McFolder & "versions\" & Id & "\" Dim IsNewVersion As Boolean = DownloadInfo.Inherit.Contains("w") OrElse Val(DownloadInfo.Inherit.Split(".")(1)) >= 14 Dim Target As String = If(IsNewVersion, - RequestTaskTempFolder(), + RequestTaskTempFolder() & "temp", McFolder & "libraries\optifine\OptiFine\" & DownloadInfo.NameFile.Replace("OptiFine_", "").Replace(".jar", "").Replace("preview_", "") & "\" & DownloadInfo.NameFile.Replace("OptiFine_", "OptiFine-").Replace("preview_", "")) Dim Loaders As New List(Of LoaderBase) @@ -613,8 +613,8 @@ pause" Log("[Download] 检测为新版 OptiFine:" & DownloadInfo.Inherit) Loaders.Add(New LoaderTask(Of List(Of NetFile), Boolean)("安装 OptiFine(方式 A)", Sub(Task As LoaderTask(Of List(Of NetFile), Boolean)) - Dim BaseMcFolderHome As String = RequestTaskTempFolder() - Dim BaseMcFolder As String = BaseMcFolderHome & ".minecraft\" + Dim BaseMcFolderHome As String = RequestTaskTempFolder(False, False) + Dim BaseMcFolder As String = BaseMcFolderHome & "\.minecraft\" Try '准备安装环境 If Directory.Exists(BaseMcFolder & "versions\" & DownloadInfo.Inherit) Then From 207ebb4e2713ede9407723d40505c089d4fed806 Mon Sep 17 00:00:00 2001 From: wyc-26 Date: Sat, 22 Mar 2025 22:30:51 +0800 Subject: [PATCH 07/11] =?UTF-8?q?chore(ModMain):=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/ModMain.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plain Craft Launcher 2/Modules/ModMain.vb b/Plain Craft Launcher 2/Modules/ModMain.vb index 2839a54..ec59f66 100644 --- a/Plain Craft Launcher 2/Modules/ModMain.vb +++ b/Plain Craft Launcher 2/Modules/ModMain.vb @@ -877,7 +877,7 @@ NextFile: ''' 这些文件夹无需进行后续清理。 ''' ''' 是否要求路径不包含空格。 - ''' 是否要求路径斜杠。 + ''' 是否要求路径包含斜杠。 Public Function RequestTaskTempFolder(Optional RequireNonSpace As Boolean = False, Optional RequireSlash As Boolean = True) As String TryClearTaskTemp() If RequireSlash Then From f2b6ef27ed70a264930b3ac75cfb979d050546bc Mon Sep 17 00:00:00 2001 From: wyc-26 Date: Sat, 22 Mar 2025 15:11:33 +0000 Subject: [PATCH 08/11] =?UTF-8?q?chore(ModMain):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/ModMain.vb | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/ModMain.vb b/Plain Craft Launcher 2/Modules/ModMain.vb index ec59f66..7702f6c 100644 --- a/Plain Craft Launcher 2/Modules/ModMain.vb +++ b/Plain Craft Launcher 2/Modules/ModMain.vb @@ -880,17 +880,10 @@ NextFile: ''' 是否要求路径包含斜杠。 Public Function RequestTaskTempFolder(Optional RequireNonSpace As Boolean = False, Optional RequireSlash As Boolean = True) As String TryClearTaskTemp() - If RequireSlash Then - RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\" - If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then - RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\" - End If - Else - RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}" - If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then - RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}" - End If - End If + Dim RequestTaskTempFolderWithoutSlash As String = If(RequireNonSpace AndAlso $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}".Contains(" "), + $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}", + $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}") + RequestTaskTempFolder = If(RequireSlash, $"{RequestTaskTempFolderWithoutSlash}\", RequestTaskTempFolderWithoutSlash) Directory.CreateDirectory(RequestTaskTempFolder) End Function From d546528904fe1760338bffa4cf838e9df4746a8b Mon Sep 17 00:00:00 2001 From: wyc-26 Date: Sat, 22 Mar 2025 15:21:33 +0000 Subject: [PATCH 09/11] =?UTF-8?q?chore(ModDownloadLib):=20=E6=8C=89?= =?UTF-8?q?=E6=84=8F=E8=A7=81=E8=BF=9B=E8=A1=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/ModMain.vb | 13 ++++++------- .../Pages/PageDownload/ModDownloadLib.vb | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/ModMain.vb b/Plain Craft Launcher 2/Modules/ModMain.vb index 7702f6c..51cde8e 100644 --- a/Plain Craft Launcher 2/Modules/ModMain.vb +++ b/Plain Craft Launcher 2/Modules/ModMain.vb @@ -873,17 +873,16 @@ NextFile: End Sub ''' - ''' 申请一个可用于任务缓存的临时文件夹。 + ''' 申请一个可用于任务缓存的临时文件夹,以 \ 结尾。 ''' 这些文件夹无需进行后续清理。 ''' ''' 是否要求路径不包含空格。 - ''' 是否要求路径包含斜杠。 - Public Function RequestTaskTempFolder(Optional RequireNonSpace As Boolean = False, Optional RequireSlash As Boolean = True) As String + Public Function RequestTaskTempFolder(Optional RequireNonSpace As Boolean = False) As String TryClearTaskTemp() - Dim RequestTaskTempFolderWithoutSlash As String = If(RequireNonSpace AndAlso $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}".Contains(" "), - $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}", - $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}") - RequestTaskTempFolder = If(RequireSlash, $"{RequestTaskTempFolderWithoutSlash}\", RequestTaskTempFolderWithoutSlash) + RequestTaskTempFolder = $"{PathTemp}TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\" + If RequireNonSpace AndAlso RequestTaskTempFolder.Contains(" ") Then + RequestTaskTempFolder = $"{OsDrive}ProgramData\PCL\TaskTemp\{GetUuid()}-{RandomInteger(0, 1000000)}\" + End If Directory.CreateDirectory(RequestTaskTempFolder) End Function diff --git a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb index f2431af..fb323e5 100644 --- a/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb +++ b/Plain Craft Launcher 2/Pages/PageDownload/ModDownloadLib.vb @@ -613,7 +613,7 @@ pause" Log("[Download] 检测为新版 OptiFine:" & DownloadInfo.Inherit) Loaders.Add(New LoaderTask(Of List(Of NetFile), Boolean)("安装 OptiFine(方式 A)", Sub(Task As LoaderTask(Of List(Of NetFile), Boolean)) - Dim BaseMcFolderHome As String = RequestTaskTempFolder(False, False) + Dim BaseMcFolderHome As String = BaseMcFolderHome.TrimEnd("\") Dim BaseMcFolder As String = BaseMcFolderHome & "\.minecraft\" Try '准备安装环境 From 59e93114a9a340d0038de6476059802a257629fc Mon Sep 17 00:00:00 2001 From: wyc-26 Date: Sun, 23 Mar 2025 21:33:39 +0800 Subject: [PATCH 10/11] =?UTF-8?q?fix(ModLaunch):=20=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=AF=BC=E8=87=B4=E5=88=87=E6=8D=A2=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb | 1 + 1 file changed, 1 insertion(+) diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb index 2c0f3f6..41bb5e3 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb @@ -1899,6 +1899,7 @@ NextVersion: '1.6 ~ 10 :zh_CN 时正常,zh_cn 时自动切换为英文 '1.11 ~ 12:zh_cn 时正常,zh_CN 时虽然显示了中文但语言设置会错误地显示选择英文 '1.13+ :zh_cn 时正常,zh_CN 时自动切换为英文 + IniClearCache(SetupFileAddress) '清除缓存(#2294) Dim CurrentLang As String = ReadIni(SetupFileAddress, "lang", "none") Dim RequiredLang As String = If(CurrentLang = "none" OrElse Not Directory.Exists(McVersionCurrent.PathIndie & "saves"), '#3844,整合包可能已经自带了 options.txt If(Setup.Get("ToolHelpChinese"), "zh_cn", "en_us"), CurrentLang.ToLower) From 0b888f7b0147256586ccc452959b2131d0f7c98a Mon Sep 17 00:00:00 2001 From: tangge233 Date: Mon, 31 Mar 2025 22:35:09 +0800 Subject: [PATCH 11/11] =?UTF-8?q?chore:=20=E9=98=B2=E6=AD=A2=E5=B0=8F?= =?UTF-8?q?=E7=99=BD=E6=97=A0=E8=84=91=E5=A4=8D=E5=88=B6=E4=B8=8A=E9=9D=A2?= =?UTF-8?q?=E7=9A=84=20LittleSkin=20=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml index e564185..dacd5dd 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionSetup.xaml @@ -176,6 +176,9 @@ " “ ” + / + http:// + https://