2.12.3
This commit is contained in:
@@ -101,12 +101,13 @@
|
||||
{"LaunchArgumentWindowHeight", New SetupEntry(480)},
|
||||
{"LaunchArgumentWindowType", New SetupEntry(1)},
|
||||
{"LaunchArgumentRam", New SetupEntry(False, Source:=SetupSource.Registry)},
|
||||
{"LaunchAdvanceJvm", New SetupEntry("-XX:+UseG1GC -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -Djdk.lang.Process.allowAmbiguousCommands=true -Dfml.ignoreInvalidMinecraftCertificates=True -Dfml.ignorePatchDiscrepancies=True -Dlog4j2.formatMsgNoLookups=true")},
|
||||
{"LaunchAdvanceJvm", New SetupEntry("-XX:-OmitStackTraceInFastThrow -Djdk.lang.Process.allowAmbiguousCommands=true -Dfml.ignoreInvalidMinecraftCertificates=True -Dfml.ignorePatchDiscrepancies=True -Dlog4j2.formatMsgNoLookups=true")},
|
||||
{"LaunchAdvanceGame", New SetupEntry("")},
|
||||
{"LaunchAdvanceRun", New SetupEntry("")},
|
||||
{"LaunchAdvanceRunWait", New SetupEntry(True)},
|
||||
{"LaunchAdvanceDisableJLW", New SetupEntry(False)},
|
||||
{"LaunchAdvanceGraphicCard", New SetupEntry(True, Source:=SetupSource.Registry)},
|
||||
{"LaunchAdvanceGC", New SetupEntry(1)},
|
||||
{"LaunchRamType", New SetupEntry(0)},
|
||||
{"LaunchRamCustom", New SetupEntry(15)},
|
||||
{"LinkLastAutoJoinInviteCode", New SetupEntry("", Source:=SetupSource.Registry)},
|
||||
@@ -180,6 +181,7 @@
|
||||
{"VersionAdvanceRunWait", New SetupEntry(True, Source:=SetupSource.Instance)},
|
||||
{"VersionAdvanceDisableJLW", New SetupEntry(False, Source:=SetupSource.Instance)},
|
||||
{"VersionAdvanceDisableModUpdate", New SetupEntry(False, Source:=SetupSource.Instance)},
|
||||
{"VersionAdvanceGC", New SetupEntry(0, Source:=SetupSource.Instance)},
|
||||
{"VersionRamType", New SetupEntry(2, Source:=SetupSource.Instance)},
|
||||
{"VersionRamCustom", New SetupEntry(15, Source:=SetupSource.Instance)},
|
||||
{"VersionRamOptimize", New SetupEntry(0, Source:=SetupSource.Instance)},
|
||||
@@ -529,72 +531,57 @@
|
||||
FrmMain.ImgBack.Margin = New Thickness(-(Value + 1) / 1.8)
|
||||
End Sub
|
||||
Public Sub UiBackgroundSuit(Value As Integer)
|
||||
If IsNothing(FrmMain.ImgBack.Background) Then Return
|
||||
Dim Width As Double = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Width
|
||||
Dim Height As Double = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Height
|
||||
If FrmMain.ImgBack.Background Is Nothing Then Return
|
||||
Dim Brush As ImageBrush = CType(FrmMain.ImgBack.Background, ImageBrush)
|
||||
If Value = 0 Then
|
||||
'智能:当图片较小时平铺,较大时适应
|
||||
If Width < FrmMain.PanMain.ActualWidth / 2 AndAlso Height < FrmMain.PanMain.ActualHeight / 2 Then
|
||||
If Brush.ImageSource.Width < FrmMain.PanMain.ActualWidth / 2 AndAlso Brush.ImageSource.Height < FrmMain.PanMain.ActualHeight / 2 Then
|
||||
Value = 4 '平铺
|
||||
Else
|
||||
Value = 2 '适应
|
||||
End If
|
||||
End If
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).TileMode = TileMode.None
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Viewport = New Rect(0, 0, 1, 1)
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).ViewportUnits = BrushMappingMode.RelativeToBoundingBox
|
||||
Brush.Stretch = Stretch.UniformToFill
|
||||
Brush.TileMode = TileMode.None
|
||||
Brush.Viewport = New Rect(0, 0, 1, 1)
|
||||
Brush.ViewportUnits = BrushMappingMode.RelativeToBoundingBox
|
||||
Select Case Value
|
||||
Case 1 '居中
|
||||
FrmMain.ImgBack.HorizontalAlignment = HorizontalAlignment.Center
|
||||
FrmMain.ImgBack.VerticalAlignment = VerticalAlignment.Center
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Stretch = Stretch.None
|
||||
FrmMain.ImgBack.Width = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Width
|
||||
FrmMain.ImgBack.Height = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Height
|
||||
Case 2 '适应
|
||||
FrmMain.ImgBack.HorizontalAlignment = HorizontalAlignment.Stretch
|
||||
FrmMain.ImgBack.VerticalAlignment = VerticalAlignment.Stretch
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Stretch = Stretch.UniformToFill
|
||||
FrmMain.ImgBack.Width = Double.NaN
|
||||
FrmMain.ImgBack.Height = Double.NaN
|
||||
Case 3 '拉伸
|
||||
FrmMain.ImgBack.HorizontalAlignment = HorizontalAlignment.Stretch
|
||||
FrmMain.ImgBack.VerticalAlignment = VerticalAlignment.Stretch
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Stretch = Stretch.Fill
|
||||
FrmMain.ImgBack.Width = Double.NaN
|
||||
FrmMain.ImgBack.Height = Double.NaN
|
||||
Brush.Stretch = Stretch.Fill
|
||||
Case 4 '平铺
|
||||
FrmMain.ImgBack.HorizontalAlignment = HorizontalAlignment.Stretch
|
||||
FrmMain.ImgBack.VerticalAlignment = VerticalAlignment.Stretch
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Stretch = Stretch.None
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).TileMode = TileMode.Tile
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Viewport = New Rect(0, 0, CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Width, CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Height)
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).ViewportUnits = BrushMappingMode.Absolute
|
||||
FrmMain.ImgBack.Width = Double.NaN
|
||||
FrmMain.ImgBack.Height = Double.NaN
|
||||
Brush.Stretch = Stretch.None
|
||||
Brush.TileMode = TileMode.Tile
|
||||
Brush.Viewport = New Rect(0, 0, Brush.ImageSource.Width, Brush.ImageSource.Height)
|
||||
Brush.ViewportUnits = BrushMappingMode.Absolute
|
||||
|
||||
Case 1 '中
|
||||
Brush.AlignmentX = AlignmentX.Center
|
||||
Brush.AlignmentY = AlignmentY.Center
|
||||
Case 5 '左上
|
||||
FrmMain.ImgBack.HorizontalAlignment = HorizontalAlignment.Left
|
||||
FrmMain.ImgBack.VerticalAlignment = VerticalAlignment.Top
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Stretch = Stretch.None
|
||||
FrmMain.ImgBack.Width = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Width
|
||||
FrmMain.ImgBack.Height = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Height
|
||||
Brush.AlignmentX = AlignmentX.Left
|
||||
Brush.AlignmentY = AlignmentY.Top
|
||||
Case 6 '右上
|
||||
FrmMain.ImgBack.HorizontalAlignment = HorizontalAlignment.Right
|
||||
FrmMain.ImgBack.VerticalAlignment = VerticalAlignment.Top
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Stretch = Stretch.None
|
||||
FrmMain.ImgBack.Width = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Width
|
||||
FrmMain.ImgBack.Height = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Height
|
||||
Brush.AlignmentX = AlignmentX.Right
|
||||
Brush.AlignmentY = AlignmentY.Top
|
||||
Case 7 '左下
|
||||
FrmMain.ImgBack.HorizontalAlignment = HorizontalAlignment.Left
|
||||
FrmMain.ImgBack.VerticalAlignment = VerticalAlignment.Bottom
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Stretch = Stretch.None
|
||||
FrmMain.ImgBack.Width = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Width
|
||||
FrmMain.ImgBack.Height = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Height
|
||||
Brush.AlignmentX = AlignmentX.Left
|
||||
Brush.AlignmentY = AlignmentY.Bottom
|
||||
Case 8 '右下
|
||||
FrmMain.ImgBack.HorizontalAlignment = HorizontalAlignment.Right
|
||||
FrmMain.ImgBack.VerticalAlignment = VerticalAlignment.Bottom
|
||||
CType(FrmMain.ImgBack.Background, ImageBrush).Stretch = Stretch.None
|
||||
FrmMain.ImgBack.Width = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Width
|
||||
FrmMain.ImgBack.Height = CType(FrmMain.ImgBack.Background, ImageBrush).ImageSource.Height
|
||||
Brush.AlignmentX = AlignmentX.Right
|
||||
Brush.AlignmentY = AlignmentY.Bottom
|
||||
Case 9 '左
|
||||
Brush.AlignmentX = AlignmentX.Left
|
||||
Brush.AlignmentY = AlignmentY.Center
|
||||
Case 10 '右
|
||||
Brush.AlignmentX = AlignmentX.Right
|
||||
Brush.AlignmentY = AlignmentY.Center
|
||||
Case 11 '上
|
||||
Brush.AlignmentX = AlignmentX.Center
|
||||
Brush.AlignmentY = AlignmentY.Top
|
||||
Case 12 '下
|
||||
Brush.AlignmentX = AlignmentX.Center
|
||||
Brush.AlignmentY = AlignmentY.Bottom
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</local:MyCard>
|
||||
<local:MyCard Margin="0,0,0,15" Title="游戏内存">
|
||||
<local:MyCard Margin="0,0,0,15" Title="内存分配">
|
||||
<StackPanel Margin="25,40,25,15">
|
||||
<local:MyHint x:Name="LabRamWarn" Visibility="Visible" Text="32 位 Java 只能分配最多 1 GB 的内存。强烈建议换用 64 位的 Java!" Theme="Yellow" Margin="0,0,0,12" />
|
||||
<Grid Margin="0,0,0,3">
|
||||
@@ -231,6 +231,8 @@
|
||||
<RowDefinition Height="9" />
|
||||
<RowDefinition Height="28" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="9" />
|
||||
<RowDefinition Height="28" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
@@ -249,13 +251,24 @@
|
||||
ToolTip="在 MC 启动前执行特定命令或程序,语法与 Windows 的命令提示符一致。

你可以用替换标记来动态改变其内容或实现相对路径,在 更多 → 帮助 中搜索 “替换标记” 以了解用法。例如:
 · "{verpath}test.exe" :运行版本文件夹下的 test.exe 程序
 · "{java}java.exe" -jar "{verpath}test.jar" :用 Java 运行版本文件夹下的 test.jar
 · notepad "{verindie}options.txt" :使用记事本打开该版本的设置文件

涉及路径的操作最好都打上双引号,以避免路径中的空格导致运行失败。
执行命令时,命令行所在的目录是当前的 .minecraft 文件夹。" />
|
||||
<local:MyCheckBox Grid.Row="5" Grid.Column="1" x:Name="CheckAdvanceRunWait" Tag="LaunchAdvanceRunWait" Visibility="Collapsed"
|
||||
Text="等待命令执行完成后再继续启动" Margin="0,8,0,7" />
|
||||
<StackPanel Margin="0,12,0,4" Grid.Row="6" Grid.ColumnSpan="2" HorizontalAlignment="Left">
|
||||
<TextBlock VerticalAlignment="Center" Grid.Row="7" HorizontalAlignment="Left" Text="内存管理" Margin="0,0,25,0" />
|
||||
<local:MyComboBox x:Name="ComboAdvanceGC" Grid.Row="7" Grid.ColumnSpan="2" Tag="LaunchAdvanceGC" Grid.Column="1">
|
||||
<local:MyComboBoxItem Content="尽量使用 ZGC(激进)"
|
||||
ToolTipService.BetweenShowDelay="0" ToolTip="在 Java 21+ 使用分代 ZGC,20~15 使用非分代的 ZGC,14- 使用 G1GC。
在 Java 25+ 额外添加 -XX:+UseCompactObjectHeaders。

覆盖 “Java 虚拟机参数” 设置中的 GC 相关参数。" />
|
||||
<local:MyComboBoxItem Content="尽量使用分代 ZGC(平衡)" IsSelected="True"
|
||||
ToolTipService.BetweenShowDelay="0" ToolTip="在 Java 21+ 使用分代 ZGC,20- 使用 G1GC。
在 Java 25+ 额外添加 -XX:+UseCompactObjectHeaders。

覆盖 “Java 虚拟机参数” 设置中的 GC 相关参数。" />
|
||||
<local:MyComboBoxItem Content="仅 G1GC"
|
||||
ToolTipService.BetweenShowDelay="0" ToolTip="固定使用以下参数:
-XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M

覆盖 “Java 虚拟机参数” 设置中的 GC 相关参数。" />
|
||||
<local:MyComboBoxItem Content="不指定(可自定义)"
|
||||
ToolTipService.BetweenShowDelay="0" ToolTip="不自动添加 GC 参数。

仅当选择此项时,你可以在 “Java 虚拟机参数” 设置中手动添加 GC 参数。" />
|
||||
</local:MyComboBox>
|
||||
<StackPanel Margin="0,12,0,4" Grid.Row="8" Grid.ColumnSpan="2" HorizontalAlignment="Left">
|
||||
<local:MyCheckBox Height="28" Text="禁用 Java Launch Wrapper" x:Name="CheckAdvanceDisableJLW" Tag="LaunchAdvanceDisableJLW"
|
||||
ToolTipService.Placement="Right" ToolTip="PCL 会使用 Java Launch Wrapper 来修复老版本 Java 在中文路径下无法启动的问题。
如果这被反作弊拦截,或遇到其他问题,也可以将其关闭。" />
|
||||
<local:MyCheckBox Height="28" Text="使用高性能显卡" x:Name="CheckAdvanceGraphicCard" Tag="LaunchAdvanceGraphicCard"
|
||||
ToolTipService.Placement="Right" ToolTip="自动在 Windows 设置 → 系统 → 屏幕 → 显示卡 中将 PCL 和 Java 改为使用高性能显卡。
如果同时有集成显卡和独立显卡,这能确保 MC 使用独立显卡进行渲染,以大幅提高帧率。" />
|
||||
</StackPanel>
|
||||
<local:MyHint Text="版本独立设置中还有更多高级选项可供调整。" Margin="0,5,0,10" Theme="Blue" Grid.Row="7" Grid.ColumnSpan="2"
|
||||
<local:MyHint Text="版本独立设置中还有更多高级选项可供调整。" Margin="0,5,0,10" Theme="Blue" Grid.Row="9" Grid.ColumnSpan="2"
|
||||
CanClose="True" RelativeSetup="HintMoreAdvancedSetup" />
|
||||
</Grid>
|
||||
</local:MyCard>
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
TextAdvanceJvm.Text = Setup.Get("LaunchAdvanceJvm")
|
||||
TextAdvanceGame.Text = Setup.Get("LaunchAdvanceGame")
|
||||
TextAdvanceRun.Text = Setup.Get("LaunchAdvanceRun")
|
||||
ComboAdvanceGC.SelectedIndex = Setup.Get("LaunchAdvanceGC")
|
||||
CheckAdvanceRunWait.Checked = Setup.Get("LaunchAdvanceRunWait")
|
||||
CheckAdvanceDisableJLW.Checked = Setup.Get("LaunchAdvanceDisableJLW")
|
||||
CheckAdvanceGraphicCard.Checked = Setup.Get("LaunchAdvanceGraphicCard")
|
||||
@@ -85,6 +86,7 @@
|
||||
Setup.Reset("LaunchAdvanceJvm")
|
||||
Setup.Reset("LaunchAdvanceGame")
|
||||
Setup.Reset("LaunchAdvanceRun")
|
||||
Setup.Reset("LaunchAdvanceGC")
|
||||
Setup.Reset("LaunchAdvanceRunWait")
|
||||
Setup.Reset("LaunchAdvanceDisableJLW")
|
||||
Setup.Reset("LaunchAdvanceGraphicCard")
|
||||
@@ -111,7 +113,7 @@
|
||||
Private Shared Sub SliderChange(sender As MySlider, e As Object) Handles SliderRamCustom.Change
|
||||
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Value)
|
||||
End Sub
|
||||
Private Shared Sub ComboChange(sender As MyComboBox, e As Object) Handles ComboArgumentIndieV2.SelectionChanged, ComboArgumentVisibie.SelectionChanged, ComboArgumentWindowType.SelectionChanged, ComboArgumentPriority.SelectionChanged
|
||||
Private Shared Sub ComboChange(sender As MyComboBox, e As Object) Handles ComboArgumentIndieV2.SelectionChanged, ComboArgumentVisibie.SelectionChanged, ComboArgumentWindowType.SelectionChanged, ComboArgumentPriority.SelectionChanged, ComboAdvanceGC.SelectionChanged
|
||||
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.SelectedIndex)
|
||||
End Sub
|
||||
Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckAdvanceRunWait.Change, CheckArgumentRam.Change, CheckAdvanceDisableJLW.Change, CheckAdvanceGraphicCard.Change
|
||||
|
||||
@@ -94,10 +94,14 @@
|
||||
<local:MyComboBoxItem Content="适应" ToolTip="拉伸图片并保持长宽比不变,直至填满整个窗口" />
|
||||
<local:MyComboBoxItem Content="拉伸" ToolTip="拉伸图片使其恰好填满整个窗口,很可能会导致长宽比的改变" />
|
||||
<local:MyComboBoxItem Content="平铺" />
|
||||
<local:MyComboBoxItem Content="居于左上" />
|
||||
<local:MyComboBoxItem Content="居于右上" />
|
||||
<local:MyComboBoxItem Content="居于左下" />
|
||||
<local:MyComboBoxItem Content="居于右下" />
|
||||
<local:MyComboBoxItem Content="左上" />
|
||||
<local:MyComboBoxItem Content="右上" />
|
||||
<local:MyComboBoxItem Content="左下" />
|
||||
<local:MyComboBoxItem Content="右下" />
|
||||
<local:MyComboBoxItem Content="左" />
|
||||
<local:MyComboBoxItem Content="右" />
|
||||
<local:MyComboBoxItem Content="上" />
|
||||
<local:MyComboBoxItem Content="下" />
|
||||
</local:MyComboBox>
|
||||
</Grid>
|
||||
<Grid x:Name="PanBackgroundOpacity" Height="22" Margin="0,0,0,7" Visibility="Collapsed">
|
||||
|
||||
Reference in New Issue
Block a user