From b8eab42c33579d4f610e60a409c9c87c9a3bea32 Mon Sep 17 00:00:00 2001 From: wyc-26 Date: Sat, 3 Jan 2026 20:15:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(cape):=20=E6=9B=B4=E6=8D=A2=E6=8A=AB?= =?UTF-8?q?=E9=A3=8E=E5=90=8E=E6=9C=AA=E6=9B=B4=E6=96=B0=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=9A=84=E6=8A=AB=E9=A3=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb | 1 + 1 file changed, 1 insertion(+) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb index ec28fe9..8ed7d88 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -269,6 +269,7 @@ Retry: Return Else Hint("更改披风成功!", HintType.Green) + McLoginMsLoader.Start(PageLoginMsSkin.GetLoginData(), IsForceRestart:=True) '#7894,更换披风后需更新当前选择的披风 End If Catch ex As Exception Log(ex, "更改披风失败", LogLevel.Hint) From 8babdf990fe1d53f5ff367bd510c64798d6e8db8 Mon Sep 17 00:00:00 2001 From: wyc-26 Date: Sat, 10 Jan 2026 11:12:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor(Cape):=20=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=20ProfileJson=20=E4=BB=A5=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E5=8D=A1=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/PageLaunch/MySkin.xaml.vb | 12 +++++++++++- 1 file changed, 11 insertions(+), 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 8ed7d88..2c6f42d 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -233,6 +233,8 @@ Retry: Dim SkinData As JObject = GetJson(McLoginMsLoader.Output.ProfileJson) '获取玩家的所有披风 Dim SelId As Integer? = Nothing + '获取玩家当前的披风 + Dim CurId As Integer? = Nothing RunInUiWait( Sub() Try @@ -247,9 +249,12 @@ Retry: {"Common", "普通披风"}, {"Pan", "薄煎饼披风"}, {"Founder's", "创始人披风"}, {"Copper", "铜披风"} } Dim SelectionControl As New List(Of IMyRadio) From {New MyRadioBox With {.Text = "无披风"}} + Dim Id As Integer = 0 For Each Cape In SkinData("capes") + Id += 1 Dim CapeName As String = Cape("alias").ToString If CapeNames.ContainsKey(CapeName) Then CapeName = CapeNames(CapeName) + If Cape("state") = "ACTIVE" Then CurId = Id SelectionControl.Add(New MyRadioBox With {.Text = CapeName, .Checked = (Cape("state") = "ACTIVE")}) Next SelId = MyMsgBoxSelect(SelectionControl, "选择披风", "确定", "取消") @@ -269,7 +274,12 @@ Retry: Return Else Hint("更改披风成功!", HintType.Green) - McLoginMsLoader.Start(PageLoginMsSkin.GetLoginData(), IsForceRestart:=True) '#7894,更换披风后需更新当前选择的披风 + '#7894,更换披风后需更新当前选择的披风 + SkinData("capes")(SelId - 1)("state") = "ACTIVE" + If CurId IsNot Nothing Then + SkinData("capes")(CurId - 1)("state") = "INACTIVE" + End If + McLoginMsLoader.Output.ProfileJson = SkinData.ToString() End If Catch ex As Exception Log(ex, "更改披风失败", LogLevel.Hint)