Explorar o código

feat: 允许为单个版本关闭 Mod 更新功能

wyc-26 hai 1 ano
pai
achega
e188f7392c

+ 1 - 1
Plain Craft Launcher 2/Modules/Minecraft/ModMod.vb

@@ -688,7 +688,7 @@ Finished:
         ''' </summary>
         Public ReadOnly Property CanUpdate As Boolean
             Get
-                Return Not Setup.Get("UiHiddenFunctionModUpdate") AndAlso ChangelogUrls.Any()
+                Return Not Setup.Get("UiHiddenFunctionModUpdate") AndAlso Setup.Get("VersionCanModUpdate", Version:=PageVersionLeft.Version) AndAlso ChangelogUrls.Any()
             End Get
         End Property
 

+ 2 - 1
Plain Craft Launcher 2/Pages/PageSetup/ModSetup.vb

@@ -194,7 +194,8 @@
         {"VersionServerNide", New SetupEntry("", Source:=SetupSource.Version)},
         {"VersionServerAuthRegister", New SetupEntry("", Source:=SetupSource.Version)},
         {"VersionServerAuthName", New SetupEntry("", Source:=SetupSource.Version)},
-        {"VersionServerAuthServer", New SetupEntry("", Source:=SetupSource.Version)}
+        {"VersionServerAuthServer", New SetupEntry("", Source:=SetupSource.Version)},
+        {"VersionCanModUpdate", New SetupEntry(True, Source:=SetupSource.Version)}
     }
 
 #Region "基础"

+ 3 - 1
Plain Craft Launcher 2/Pages/PageVersion/PageVersionMod.xaml

@@ -17,12 +17,14 @@
                                 <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
                                 <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
                                 <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
+                                <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
                             </Grid.ColumnDefinitions>
                             <local:MyButton x:Name="BtnManageOpen" Grid.Column="0" MinWidth="110" Text="打开文件夹" Padding="13,0" Margin="0,0,15,0" HorizontalAlignment="Left" ColorType="Highlight" />
                             <local:MyButton x:Name="BtnManageInstall" Grid.Column="1" MinWidth="110" Text="从文件安装" Padding="13,0" Margin="0,0,15,0" HorizontalAlignment="Left" />
                             <local:MyButton x:Name="BtnManageDownload" Grid.Column="2" MinWidth="110" Text="下载新 Mod" Padding="13,0" Margin="0,0,15,0" HorizontalAlignment="Left" />
                             <local:MyButton x:Name="BtnManageSelectAll" Grid.Column="3" MinWidth="110" Text="全选" Padding="13,0" Margin="0,0,15,0" HorizontalAlignment="Left" />
-                            <local:MyButton x:Name="BtnManageCheck" Grid.Column="4" MinWidth="110" Text="检查 Mod" Padding="13,0" Margin="0,0,15,0" HorizontalAlignment="Left" ToolTip="快速检查 Mod 的版本要求、重复、前置缺失等问题。&#xa;结果仅供参考,由于部分 Mod 标注的信息有误,可能并不准确。" Visibility="Collapsed" />
+                            <local:MyButton x:Name="BtnManageModUpdate" Grid.Column="4" MinWidth="110" Text="禁用 Mod 更新" Padding="13,0" Margin="0,0,15,0" HorizontalAlignment="Left" />
+                            <local:MyButton x:Name="BtnManageCheck" Grid.Column="5" MinWidth="110" Text="检查 Mod" Padding="13,0" Margin="0,0,15,0" HorizontalAlignment="Left" ToolTip="快速检查 Mod 的版本要求、重复、前置缺失等问题。&#xa;结果仅供参考,由于部分 Mod 标注的信息有误,可能并不准确。" Visibility="Collapsed" />
                         </Grid>
                     </local:MyCard>
                     <local:MyCard x:Name="PanListBack" VerticalAlignment="Top" Opacity="0" Margin="0,0,0,14" Title=" " MinHeight="55">

+ 10 - 0
Plain Craft Launcher 2/Pages/PageVersion/PageVersionMod.xaml.vb

@@ -22,6 +22,7 @@
         For Each Btn As MyRadioButton In PanFilter.Children
             Btn.LabText.Margin = New Thickness(-2, 0, 8, 0)
         Next
+        BtnManageModUpdate.Text = If(Setup.Get("VersionCanModUpdate", Version:=PageVersionLeft.Version), "禁用 Mod 更新", "启用 Mod 更新")
 
 #If DEBUG Then
         BtnManageCheck.Visibility = Visibility.Visible
@@ -384,6 +385,15 @@ Install:
         PageComp.TargetVersion = PageVersionLeft.Version '将当前版本设置为筛选器
         FrmMain.PageChange(FormMain.PageType.Download, FormMain.PageSubType.DownloadMod)
     End Sub
+    
+    ''' <summary>
+    ''' 禁用/启用 Mod 更新
+    ''' </summary>
+    Private Sub BtnManageModUpdate_Click(sender As Object, e As MouseButtonEventArgs) Handles BtnManageModUpdate.Click
+        Setup.Set("VersionCanModUpdate", Not Setup.Get("VersionCanModUpdate", Version:=PageVersionLeft.Version), Version:=PageVersionLeft.Version)
+        BtnManageModUpdate.Text = If(Setup.Get("VersionCanModUpdate", Version:=PageVersionLeft.Version), "禁用 Mod 更新", "启用 Mod 更新")
+        RefreshBars()
+    End Sub
 
 #End Region