This commit is contained in:
龙腾猫跃
2023-08-15 16:38:52 +08:00
parent e1e084aea3
commit 79778490d5
21 changed files with 753 additions and 231 deletions
@@ -11,17 +11,17 @@
If _IsWarn = value Then Exit Property If _IsWarn = value Then Exit Property
_IsWarn = value _IsWarn = value
If _IsWarn Then If _IsWarn Then
BorderBrush = New MyColor("#99FF4444") BorderBrush = New MyColor("#CCFF4444")
Gradient1.Color = New MyColor("#88FFBBBB") Gradient1.Color = New MyColor("#BBFFBBBB")
Gradient2.Color = New MyColor("#88FF8888") Gradient2.Color = New MyColor("#BBFF8888")
Path.Fill = New MyColor("#BF0000") Path.Fill = New MyColor("#BF0000")
LabText.Foreground = New MyColor("#BF0000") LabText.Foreground = New MyColor("#BF0000")
BtnClose.Foreground = New MyColor("#BF0000") BtnClose.Foreground = New MyColor("#BF0000")
Path.Data = (New GeometryConverter).ConvertFromString("F1 M 58.5832,55.4172L 17.4169,55.4171C 15.5619,53.5621 15.5619,50.5546 17.4168,48.6996L 35.201,15.8402C 37.056,13.9852 40.0635,13.9852 41.9185,15.8402L 58.5832,48.6997C 60.4382,50.5546 60.4382,53.5622 58.5832,55.4172 Z M 34.0417,25.7292L 36.0208,41.9584L 39.9791,41.9583L 41.9583,25.7292L 34.0417,25.7292 Z M 38,44.3333C 36.2511,44.3333 34.8333,45.7511 34.8333,47.5C 34.8333,49.2489 36.2511,50.6667 38,50.6667C 39.7489,50.6667 41.1666,49.2489 41.1666,47.5C 41.1666,45.7511 39.7489,44.3333 38,44.3333 Z ") Path.Data = (New GeometryConverter).ConvertFromString("F1 M 58.5832,55.4172L 17.4169,55.4171C 15.5619,53.5621 15.5619,50.5546 17.4168,48.6996L 35.201,15.8402C 37.056,13.9852 40.0635,13.9852 41.9185,15.8402L 58.5832,48.6997C 60.4382,50.5546 60.4382,53.5622 58.5832,55.4172 Z M 34.0417,25.7292L 36.0208,41.9584L 39.9791,41.9583L 41.9583,25.7292L 34.0417,25.7292 Z M 38,44.3333C 36.2511,44.3333 34.8333,45.7511 34.8333,47.5C 34.8333,49.2489 36.2511,50.6667 38,50.6667C 39.7489,50.6667 41.1666,49.2489 41.1666,47.5C 41.1666,45.7511 39.7489,44.3333 38,44.3333 Z ")
Else Else
BorderBrush = New MyColor("#994D76FF") BorderBrush = New MyColor("#CC4D76FF")
Gradient1.Color = New MyColor("#88B0D0FF") Gradient1.Color = New MyColor("#BBB0D0FF")
Gradient2.Color = New MyColor("#889EBAFF") Gradient2.Color = New MyColor("#BB9EBAFF")
Path.Fill = New MyColor("#0062BF") Path.Fill = New MyColor("#0062BF")
LabText.Foreground = New MyColor("#0062BF") LabText.Foreground = New MyColor("#0062BF")
BtnClose.Foreground = New MyColor("#0062BF") BtnClose.Foreground = New MyColor("#0062BF")
@@ -50,13 +50,31 @@
'触发点击事件 '触发点击事件
Private Sub Button_MouseUp(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonUp Private Sub Button_MouseUp(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonUp
If IsMouseDown Then If Not IsMouseDown Then Return
Log("[Control] 按下图标按钮" & If(String.IsNullOrEmpty(Name), "", ":" & Name)) Log("[Control] 按下图标按钮" & If(String.IsNullOrEmpty(Name), "", ":" & Name))
RaiseEvent Click(sender, e) RaiseEvent Click(sender, e)
e.Handled = True e.Handled = True
Button_MouseUp() Button_MouseUp()
End If ModEvent.TryStartEvent(EventType, EventData)
End Sub End Sub
Public Property EventType As String
Get
Return GetValue(EventTypeProperty)
End Get
Set(value As String)
SetValue(EventTypeProperty, value)
End Set
End Property
Public Shared ReadOnly EventTypeProperty As DependencyProperty = DependencyProperty.Register("EventType", GetType(String), GetType(MyIconButton), New PropertyMetadata(Nothing))
Public Property EventData As String
Get
Return GetValue(EventDataProperty)
End Get
Set(value As String)
SetValue(EventDataProperty, value)
End Set
End Property
Public Shared ReadOnly EventDataProperty As DependencyProperty = DependencyProperty.Register("EventData", GetType(String), GetType(MyIconButton), New PropertyMetadata(Nothing))
'鼠标点击判定(务必放在点击事件之后,以使得 Button_MouseUp 先于 Button_MouseLeave 执行) '鼠标点击判定(务必放在点击事件之后,以使得 Button_MouseUp 先于 Button_MouseLeave 执行)
Private IsMouseDown As Boolean = False Private IsMouseDown As Boolean = False
@@ -73,6 +73,10 @@
IsMouseDown = True IsMouseDown = True
RefreshColor() RefreshColor()
End Sub End Sub
Private Sub MyIconTextButton_MouseLeave() Handles Me.MouseLeave
IsMouseDown = False
RefreshColor()
End Sub
Public Property EventType As String Public Property EventType As String
Get Get
Return GetValue(EventTypeProperty) Return GetValue(EventTypeProperty)
@@ -96,7 +100,7 @@
Private Const AnimationTimeOfMouseIn As Integer = 100 '鼠标指向动画长度 Private Const AnimationTimeOfMouseIn As Integer = 100 '鼠标指向动画长度
Private Const AnimationTimeOfMouseOut As Integer = 150 '鼠标移出动画长度 Private Const AnimationTimeOfMouseOut As Integer = 150 '鼠标移出动画长度
Private Sub RefreshColor(Optional obj = Nothing, Optional e = Nothing) Handles Me.MouseEnter, Me.MouseLeave, Me.Loaded, Me.IsEnabledChanged Private Sub RefreshColor(Optional obj = Nothing, Optional e = Nothing) Handles Me.MouseEnter, Me.Loaded, Me.IsEnabledChanged
Try Try
If IsLoaded AndAlso AniControlEnabled = 0 AndAlso Not False.Equals(e) Then '防止默认属性变更触发动画,若强制不执行动画,则 e 为 False If IsLoaded AndAlso AniControlEnabled = 0 AndAlso Not False.Equals(e) Then '防止默认属性变更触发动画,若强制不执行动画,则 e 为 False
@@ -173,7 +177,7 @@
End If End If
Catch ex As Exception Catch ex As Exception
Log(ex, "刷新按钮颜色出错") Log(ex, "刷新带图标按钮颜色出错")
End Try End Try
End Sub End Sub
@@ -152,6 +152,7 @@
''' </summary> ''' </summary>
Public Sub PageOnExit() Public Sub PageOnExit()
If ModeDebug Then Log("[UI] 已触发 PageOnExit") If ModeDebug Then Log("[UI] 已触发 PageOnExit")
RaiseEvent PageExit()
Select Case PageState Select Case PageState
Case PageStates.ContentEnter, PageStates.ContentStay Case PageStates.ContentEnter, PageStates.ContentStay
PageState = PageStates.PageExit PageState = PageStates.PageExit
@@ -168,6 +169,7 @@
Case PageStates.PageExit, PageStates.Empty Case PageStates.PageExit, PageStates.Empty
End Select End Select
End Sub End Sub
Public Event PageExit()
''' <summary> ''' <summary>
''' 即将切换到其他页面,需要强制完成页面状态清理。 ''' 即将切换到其他页面,需要强制完成页面状态清理。
''' 需要立即切换至 Empty。 ''' 需要立即切换至 Empty。
@@ -252,7 +252,7 @@
End If End If
Catch ex As Exception Catch ex As Exception
Log(ex, "刷新按钮颜色出错") Log(ex, "刷新单选按钮颜色出错")
End Try End Try
End Sub End Sub
+7
View File
@@ -116,6 +116,12 @@ Public Class FormMain
'3:BUG+ IMP* FEAT- '3:BUG+ IMP* FEAT-
'2:BUG* IMP- '2:BUG* IMP-
'1:BUG- '1:BUG-
If LastVersion < 299 Then 'Snapshot 2.6.5
FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "支持选择多种预设的主页"))
FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化联网获取的主页的加载与缓存"))
FeatureCount += 18
BugCount += 13
End If
If LastVersion < 298 Then 'Snapshot 2.6.4 If LastVersion < 298 Then 'Snapshot 2.6.4
FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "Mod 管理中允许多选 Mod 进行批量操作")) FeatureList.Add(New KeyValuePair(Of Integer, String)(3, "Mod 管理中允许多选 Mod 进行批量操作"))
FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化崩溃分析,添加多种崩溃情况的判断")) FeatureList.Add(New KeyValuePair(Of Integer, String)(2, "优化崩溃分析,添加多种崩溃情况的判断"))
@@ -824,6 +830,7 @@ Public Class FormMain
RunInUi(Sub() RunInUi(Sub()
Setup.Set("UiCustomType", 1) Setup.Set("UiCustomType", 1)
FrmLaunchRight.ForceRefresh() FrmLaunchRight.ForceRefresh()
Hint("已加载主页自定义文件!", HintType.Finish)
End Sub) End Sub)
Exit Sub Exit Sub
End If End If
@@ -11,12 +11,12 @@ Public Module ModBase
#Region "声明" #Region "声明"
'下列版本信息由更新器自动修改 '下列版本信息由更新器自动修改
Public Const VersionBaseName As String = "2.6.4" '不含分支前缀的显示用版本名 Public Const VersionBaseName As String = "2.6.5" '不含分支前缀的显示用版本名
Public Const VersionStandardCode As String = "2.6.4." & VersionBranchCode '标准格式的四段式版本号 Public Const VersionStandardCode As String = "2.6.5." & VersionBranchCode '标准格式的四段式版本号
#If BETA Then #If BETA Then
Public Const VersionCode As Integer = 296 'Release Public Const VersionCode As Integer = 296 'Release
#Else #Else
Public Const VersionCode As Integer = 298 'Snapshot Public Const VersionCode As Integer = 299 'Snapshot
#End If #End If
'自动生成的版本信息 '自动生成的版本信息
Public Const VersionDisplayName As String = VersionBranchName & " " & VersionBaseName Public Const VersionDisplayName As String = VersionBranchName & " " & VersionBaseName
@@ -106,15 +106,15 @@ Retry:
Retry: Retry:
Select Case RetryCount Select Case RetryCount
Case 0 '正常尝试 Case 0 '正常尝试
Return NetGetCodeRequest(Url, Encode, 10000, IsJson, Accept) Return NetGetCodeByRequestOnce(Url, Encode, 10000, IsJson, Accept)
Case 1 '慢速重试 Case 1 '慢速重试
Thread.Sleep(500) Thread.Sleep(500)
Return NetGetCodeRequest(If(BackupUrl, Url), Encode, 30000, IsJson, Accept) Return NetGetCodeByRequestOnce(If(BackupUrl, Url), Encode, 30000, IsJson, Accept)
Case Else '快速重试 Case Else '快速重试
If GetTimeTick() - StartTime > 5500 Then If GetTimeTick() - StartTime > 5500 Then
'若前两次加载耗费 5 秒以上,才进行重试 '若前两次加载耗费 5 秒以上,才进行重试
Thread.Sleep(500) Thread.Sleep(500)
Return NetGetCodeRequest(If(BackupUrl, Url), Encode, 4000, IsJson, Accept) Return NetGetCodeByRequestOnce(If(BackupUrl, Url), Encode, 4000, IsJson, Accept)
Else Else
Throw RetryException Throw RetryException
End If End If
@@ -148,7 +148,7 @@ Retry:
For i = 1 To 4 For i = 1 To 4
Dim th As New Thread(Sub() Dim th As New Thread(Sub()
Try Try
RequestResult = NetGetCodeRequest(Url, Encode, 30000, IsJson, Accept) RequestResult = NetGetCodeByRequestOnce(Url, Encode, 30000, IsJson, Accept)
Catch ex As Exception Catch ex As Exception
FailCount += 1 FailCount += 1
RequestEx = ex RequestEx = ex
@@ -182,10 +182,10 @@ RequestFinished:
Loop Loop
Throw New Exception("未知错误") Throw New Exception("未知错误")
End Function End Function
Private Function NetGetCodeRequest(Url As String, Encode As Encoding, Timeout As Integer, IsJson As Boolean, Accept As String) Public Function NetGetCodeByRequestOnce(Url As String, Optional Encode As Encoding = Nothing, Optional Timeout As Integer = 30000, Optional IsJson As Boolean = False, Optional Accept As String = "")
If RunInUi() AndAlso Not Url.Contains("//127.") Then Throw New Exception("在 UI 线程执行了网络请求") If RunInUi() AndAlso Not Url.Contains("//127.") Then Throw New Exception("在 UI 线程执行了网络请求")
Url = SecretCdnSign(Url) Url = SecretCdnSign(Url)
Log("[Net] 获取网络结果:" & Url & ",最大超时 " & Timeout) Log($"[Net] 获取网络结果:{Url},超时 {Timeout}ms{If(IsJson, ",要求 json", "")}")
Dim Request As HttpWebRequest = WebRequest.Create(Url) Dim Request As HttpWebRequest = WebRequest.Create(Url)
Dim Result As New List(Of Byte) Dim Result As New List(Of Byte)
Try Try
@@ -269,6 +269,8 @@ RequestFinished:
'下载 '下载
Using Client As New WebClient Using Client As New WebClient
Try Try
Client.Headers(HttpRequestHeader.UserAgent) = "PCL2/" & VersionStandardCode & " Mozilla/5.0 AppleWebKit/537.36 Chrome/63.0.3239.132 Safari/537.36"
Client.Headers(HttpRequestHeader.Referer) = "http://" & VersionCode & ".pcl2.server/"
Client.DownloadFile(Url, LocalFile) Client.DownloadFile(Url, LocalFile)
Catch ex As Exception Catch ex As Exception
Throw New WebException("直接下载文件失败(" & Url & ")。", ex) Throw New WebException("直接下载文件失败(" & Url & ")。", ex)
@@ -111,8 +111,9 @@
IsJre = Not File.Exists(PathFolder & "javac.exe") IsJre = Not File.Exists(PathFolder & "javac.exe")
'运行 -version '运行 -version
Output = ShellAndGetOutput(PathFolder & "java.exe", "-version", 15000).ToLower Output = ShellAndGetOutput(PathFolder & "java.exe", "-version", 15000).ToLower
If Output = "" Then Throw New Exception("尝试运行该 Java 失败") If Output = "" Then Throw New ApplicationException("尝试运行该 Java 失败")
If ModeDebug Then Log("[Java] Java 检查输出:" & PathFolder & "java.exe" & vbCrLf & Output) If ModeDebug Then Log("[Java] Java 检查输出:" & PathFolder & "java.exe" & vbCrLf & Output)
If Output.Contains("/lib/ext exists") Then Throw New ApplicationException("无法运行该 Java,请在删除 Java 文件夹中的 /lib/ext 文件夹后再试")
'获取详细信息 '获取详细信息
Dim VersionString = If(RegexSeek(Output, "(?<=version "")[^""]+"), If(RegexSeek(Output, "(?<=openjdk )[0-9]+"), "")).Replace("_", ".").Split("-").First Dim VersionString = If(RegexSeek(Output, "(?<=version "")[^""]+"), If(RegexSeek(Output, "(?<=openjdk )[0-9]+"), "")).Replace("_", ".").Split("-").First
Do While VersionString.Split(".").Count < 4 Do While VersionString.Split(".").Count < 4
@@ -122,6 +123,7 @@
VersionString = "1." & VersionString VersionString = "1." & VersionString
End If End If
Loop Loop
If VersionString = "" Then Throw New ApplicationException($"未找到该 Java 的版本号{If(Output.Length < 500, $"{vbCrLf}输出为:{vbCrLf}{Output}", "")}")
Version = New Version(VersionString) Version = New Version(VersionString)
If Version.Minor = 0 Then If Version.Minor = 0 Then
Log("[Java] 疑似 X.0.X.X 格式版本号:" & Version.ToString) Log("[Java] 疑似 X.0.X.X 格式版本号:" & Version.ToString)
@@ -129,10 +131,10 @@
End If End If
Is64Bit = Output.Contains("64-bit") Is64Bit = Output.Contains("64-bit")
If Version.Minor <= 4 OrElse Version.Minor >= 25 Then Throw New Exception("分析详细信息失败,获取的版本为 " & Version.ToString) If Version.Minor <= 4 OrElse Version.Minor >= 25 Then Throw New Exception("分析详细信息失败,获取的版本为 " & Version.ToString)
'基于 #2249 发现的 JRE 17 似乎也导致了 Forge 安装失败,干脆禁用更多版本的 JRE '基于 #2249 发现 JRE 17 似乎也导致了 Forge 安装失败,干脆禁用更多版本的 JRE
If IsJre AndAlso VersionCode >= 16 Then Throw New Exception("由于高版本 JRE 对 Minecraft 的兼容性很差,因此不再允许使用") If IsJre AndAlso VersionCode >= 16 Then Throw New Exception("由于高版本 JRE 对游戏的兼容性很差,因此不再允许使用。你可以使用对应版本的 JDK,而非 JRE!")
''无论如何不允许使用 JRE 16,它完全是炸的,安 OptiFine、Forge 和启动 MC 都会炸 Catch ex As ApplicationException
'If IsJre AndAlso VersionCode = 16 Then Throw New Exception("由于 JRE 16 对 Minecraft 的兼容性很差,因此不再允许使用") Throw ex
Catch ex As Exception Catch ex As Exception
Log("[Java] 检查失败的 Java 输出:" & PathFolder & "java.exe" & vbCrLf & If(Output, "无程序输出")) Log("[Java] 检查失败的 Java 输出:" & PathFolder & "java.exe" & vbCrLf & If(Output, "无程序输出"))
Throw New Exception("检查 Java 失败(" & If(PathJavaw, "Nothing") & ")", ex) Throw New Exception("检查 Java 失败(" & If(PathJavaw, "Nothing") & ")", ex)
@@ -659,7 +661,7 @@ Wait:
SearchEntry.Contains("java") OrElse SearchEntry.Contains("jdk") OrElse SearchEntry.Contains("env") OrElse SearchEntry.Contains("java") OrElse SearchEntry.Contains("jdk") OrElse SearchEntry.Contains("env") OrElse
SearchEntry.Contains("环境") OrElse SearchEntry.Contains("run") OrElse SearchEntry.Contains("软件") OrElse SearchEntry.Contains("环境") OrElse SearchEntry.Contains("run") OrElse SearchEntry.Contains("软件") OrElse
SearchEntry.Contains("jre") OrElse SearchEntry = "bin" OrElse SearchEntry.Contains("mc") OrElse SearchEntry.Contains("jre") OrElse SearchEntry = "bin" OrElse SearchEntry.Contains("mc") OrElse
SearchEntry.Contains("software") OrElse SearchEntry.Contains("cache") OrElse SearchEntry.Contains("temp") OrElse SearchEntry.Contains("soft") OrElse SearchEntry.Contains("cache") OrElse SearchEntry.Contains("temp") OrElse
SearchEntry.Contains("corretto") OrElse SearchEntry.Contains("roaming") OrElse SearchEntry.Contains("users") OrElse SearchEntry.Contains("corretto") OrElse SearchEntry.Contains("roaming") OrElse SearchEntry.Contains("users") OrElse
SearchEntry.Contains("craft") OrElse SearchEntry.Contains("program") OrElse SearchEntry.Contains("世界") OrElse SearchEntry.Contains("craft") OrElse SearchEntry.Contains("program") OrElse SearchEntry.Contains("世界") OrElse
SearchEntry.Contains("net") OrElse SearchEntry.Contains("游戏") OrElse SearchEntry.Contains("oracle") OrElse SearchEntry.Contains("net") OrElse SearchEntry.Contains("游戏") OrElse SearchEntry.Contains("oracle") OrElse
@@ -675,7 +677,7 @@ Wait:
SearchEntry.Contains("mod") OrElse SearchEntry.Contains("高清") OrElse SearchEntry.Contains("download") OrElse SearchEntry.Contains("mod") OrElse SearchEntry.Contains("高清") OrElse SearchEntry.Contains("download") OrElse
SearchEntry.Contains("launch") OrElse SearchEntry.Contains("程序") OrElse SearchEntry.Contains("path") OrElse SearchEntry.Contains("launch") OrElse SearchEntry.Contains("程序") OrElse SearchEntry.Contains("path") OrElse
SearchEntry.Contains("version") OrElse SearchEntry.Contains("baka") OrElse SearchEntry.Contains("pcl") OrElse SearchEntry.Contains("version") OrElse SearchEntry.Contains("baka") OrElse SearchEntry.Contains("pcl") OrElse
SearchEntry.Contains("local") OrElse SearchEntry.Contains("packages") OrElse SearchEntry.Contains("4297127D64EC6") OrElse '官启文件夹 SearchEntry.Contains("local") OrElse SearchEntry.Contains("packages") OrElse SearchEntry.Contains("4297127d64ec6") OrElse '官启文件夹
SearchEntry.Contains("国服") OrElse SearchEntry.Contains("网易") OrElse SearchEntry.Contains("ext") OrElse '网易 Java 文件夹名 SearchEntry.Contains("国服") OrElse SearchEntry.Contains("网易") OrElse SearchEntry.Contains("ext") OrElse '网易 Java 文件夹名
SearchEntry.Contains("netease") OrElse SearchEntry.Contains("1.") OrElse SearchEntry.Contains("启动") Then SearchEntry.Contains("netease") OrElse SearchEntry.Contains("1.") OrElse SearchEntry.Contains("启动") Then
JavaSearchFolder(FolderInfo, Results, Source) JavaSearchFolder(FolderInfo, Results, Source)
@@ -1120,8 +1120,8 @@ SystemBrowser:
ElseIf McVersionCurrent.Version.McCodeMain >= 8 AndAlso McVersionCurrent.Version.McCodeMain <= 11 Then ElseIf McVersionCurrent.Version.McCodeMain >= 8 AndAlso McVersionCurrent.Version.McCodeMain <= 11 Then
'1.8 - 1.11:必须恰好 Java 8 '1.8 - 1.11:必须恰好 Java 8
MinVer = New Version(1, 8, 0, 0) : MaxVer = New Version(1, 8, 999, 999) MinVer = New Version(1, 8, 0, 0) : MaxVer = New Version(1, 8, 999, 999)
ElseIf McVersionCurrent.Version.McCodeMain = 12 AndAlso McVersionCurrent.Version.HasForge Then ElseIf McVersionCurrent.Version.McCodeMain = 12 Then
'1.12:若安装了 Forge,最高 Java 8 '1.12:最高 Java 8
MaxVer = New Version(1, 8, 999, 999) MaxVer = New Version(1, 8, 999, 999)
End If End If
End If End If
@@ -1843,10 +1843,14 @@ NextVersion:
Else Else
PackFormat = 12 PackFormat = 12
End If End If
Case 20, 99 '99 是快照版 Case 20
PackFormat = 15 If McVersionCurrent.Version.McCodeSub <= 1 Then
Case Else PackFormat = 15
PackFormat = 16 Else
PackFormat = 17
End If
Case Else '快照版是 99
PackFormat = 17
'https://minecraft.fandom.com/zh/wiki/数据包#数据包版本 'https://minecraft.fandom.com/zh/wiki/数据包#数据包版本
End Select End Select
McLaunchLog("正在构建自定义皮肤资源包,格式为:" & PackFormat) McLaunchLog("正在构建自定义皮肤资源包,格式为:" & PackFormat)
@@ -1,7 +1,4 @@
Imports System.IO.Compression Public Module ModMinecraft
Imports NAudio.Gui
Public Module ModMinecraft
#Region "文件夹" #Region "文件夹"
@@ -272,7 +272,7 @@
If Not MinecraftWindowName.StartsWith("FML") Then If Not MinecraftWindowName.StartsWith("FML") Then
'已找到 Minecraft 窗口 '已找到 Minecraft 窗口
WindowHandle = MinecraftWindowHandle WindowHandle = MinecraftWindowHandle
WatcherLog("Minecraft 窗口已加载:" & MinecraftWindowName & "(" & MinecraftWindowHandle.ToInt64 & ")") WatcherLog($"Minecraft 窗口已加载:{MinecraftWindowName}({MinecraftWindowHandle.ToInt64})")
IsWindowFinished = True IsWindowFinished = True
'最大化 '最大化
If Setup.Get("LaunchArgumentWindowType") = 4 Then If Setup.Get("LaunchArgumentWindowType") = 4 Then
@@ -282,6 +282,7 @@
'……虽然我很想这样说,但总有人反馈,算了 '……虽然我很想这样说,但总有人反馈,算了
Thread.Sleep(2000) Thread.Sleep(2000)
ShowWindow(WindowHandle, 3) ShowWindow(WindowHandle, 3)
WatcherLog($"已最大化 Minecraft 窗口:{MinecraftWindowHandle.ToInt64}")
Catch ex As Exception Catch ex As Exception
Log(ex, "最大化 Minecraft 窗口时出现错误") Log(ex, "最大化 Minecraft 窗口时出现错误")
End Try End Try
+4 -4
View File
@@ -23,11 +23,9 @@
Case "打开文件", "打开帮助" Case "打开文件", "打开帮助"
RunInThread(Sub() RunInThread(Sub()
Try Try
'确认实际路径 '确认实际路径
Dim ActualPaths = GetEventAbsoluteUrls(Data(0), Type) Dim ActualPaths = GetEventAbsoluteUrls(Data(0), Type)
Dim Location = ActualPaths(0), WorkingDir = ActualPaths(1) Dim Location = ActualPaths(0), WorkingDir = ActualPaths(1)
'执行 '执行
If Type = "打开文件" Then If Type = "打开文件" Then
Dim Info As New ProcessStartInfo With { Dim Info As New ProcessStartInfo With {
@@ -39,13 +37,14 @@
Else '打开帮助 Else '打开帮助
PageOtherHelp.EnterHelpPage(Location) PageOtherHelp.EnterHelpPage(Location)
End If End If
Catch ex As Exception Catch ex As Exception
Log(ex, "执行打开类自定义事件失败", LogLevel.Msgbox) Log(ex, "执行打开类自定义事件失败", LogLevel.Msgbox)
End Try End Try
End Sub) End Sub)
Case "启动游戏" Case "启动游戏"
If McLaunchStart(New McLaunchOptions With {.ServerIp = If(Data.Length >= 2, Data(1), Nothing), .Version = New McVersion(Data(0))}) Then If McLaunchStart(New McLaunchOptions With
{.ServerIp = If(Data.Length >= 2, Data(1), Nothing), .Version = New McVersion(Data(0))}) Then
Hint("正在启动 " & Data(0) & "……") Hint("正在启动 " & Data(0) & "……")
End If End If
@@ -54,6 +53,7 @@
Case "刷新主页" Case "刷新主页"
FrmLaunchRight.ForceRefresh() FrmLaunchRight.ForceRefresh()
If Data(0) = "" Then Hint("已刷新主页!", HintType.Finish)
Case "刷新帮助" Case "刷新帮助"
PageOtherLeft.RefreshHelp() PageOtherLeft.RefreshHelp()
+14 -14
View File
@@ -5,7 +5,7 @@
''' <summary> ''' <summary>
''' 接下来要播放的音乐文件路径。未初始化时为 Nothing。 ''' 接下来要播放的音乐文件路径。未初始化时为 Nothing。
''' </summary> ''' </summary>
Public MusicToplayList As List(Of String) = Nothing Public MusicWaitingList As List(Of String) = Nothing
''' <summary> ''' <summary>
''' 全部音乐文件路径。未初始化时为 Nothing。 ''' 全部音乐文件路径。未初始化时为 Nothing。
''' </summary> ''' </summary>
@@ -31,11 +31,11 @@
Next Next
End If End If
'打乱顺序播放 '打乱顺序播放
MusicToplayList = If(Setup.Get("UiMusicRandom"), Shuffle(New List(Of String)(MusicAllList)), New List(Of String)(MusicAllList)) MusicWaitingList = If(Setup.Get("UiMusicRandom"), Shuffle(New List(Of String)(MusicAllList)), New List(Of String)(MusicAllList))
If Not IgnoreFirst = "" AndAlso Not MusicToplayList.Count = 0 AndAlso MusicToplayList(0) = IgnoreFirst Then If Not IgnoreFirst = "" AndAlso Not MusicWaitingList.Count = 0 AndAlso MusicWaitingList(0) = IgnoreFirst Then
'若需要避免成为第一项的为第一项,则将它放在最后 '若需要避免成为第一项的为第一项,则将它放在最后
MusicToplayList.RemoveAt(0) MusicWaitingList.RemoveAt(0)
MusicToplayList.Add(IgnoreFirst) MusicWaitingList.Add(IgnoreFirst)
End If End If
Catch ex As Exception Catch ex As Exception
Log(ex, "初始化音乐列表失败", LogLevel.Feedback) Log(ex, "初始化音乐列表失败", LogLevel.Feedback)
@@ -46,12 +46,11 @@
''' </summary> ''' </summary>
Private Function DequeueNextMusicAddress() As String Private Function DequeueNextMusicAddress() As String
'初始化,确保存在音乐 '初始化,确保存在音乐
If MusicAllList Is Nothing Then MusicListInit(False) If MusicAllList Is Nothing OrElse MusicAllList.Count = 0 Then MusicListInit(False)
If MusicAllList.Count = 0 Then Throw New Exception("在没有音乐时尝试获取音乐路径")
'出列下一个音乐,如果出列结束则生成新列表 '出列下一个音乐,如果出列结束则生成新列表
DequeueNextMusicAddress = MusicToplayList(0) DequeueNextMusicAddress = MusicWaitingList(0)
MusicToplayList.RemoveAt(0) MusicWaitingList.RemoveAt(0)
If MusicToplayList.Count = 0 Then MusicListInit(False, DequeueNextMusicAddress) If MusicWaitingList.Count = 0 Then MusicListInit(False, DequeueNextMusicAddress)
End Function End Function
#End Region #End Region
@@ -106,7 +105,8 @@
Case MusicStates.Play Case MusicStates.Play
MusicPause() MusicPause()
Case Else Case Else
Hint("音乐目前为停止状态!", HintType.Critical) Log("[Music] 音乐目前为停止状态,已强制尝试开始播放", LogLevel.Debug)
MusicRefreshPlay(False)
End Select End Select
End If End If
End Sub End Sub
@@ -212,15 +212,15 @@
''' 继续音乐播放,返回是否成功切换了状态。 ''' 继续音乐播放,返回是否成功切换了状态。
''' </summary> ''' </summary>
Public Function MusicResume() As Boolean Public Function MusicResume() As Boolean
If MusicState = MusicStates.Pause Then If MusicState = MusicStates.Play Then
Return False
Else
RunInThread(Sub() RunInThread(Sub()
MusicNAudio.Play() MusicNAudio.Play()
MusicRefreshUI() MusicRefreshUI()
Log("[Music] 已恢复播放") Log("[Music] 已恢复播放")
End Sub) End Sub)
Return True Return True
Else
Return False
End If End If
End Function End Function
@@ -51,6 +51,6 @@ Imports System.Runtime.InteropServices
' 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 ' 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
' 方法是按如下所示使用“*” ' 方法是按如下所示使用“*”
<Assembly: AssemblyVersion("2.6.4.0")> <Assembly: AssemblyVersion("2.6.5.0")>
<Assembly: AssemblyFileVersion("2.6.4.0")> <Assembly: AssemblyFileVersion("2.6.5.0")>
<Assembly: NeutralResourcesLanguage("")> <Assembly: NeutralResourcesLanguage("")>
@@ -10,9 +10,12 @@
<StackPanel x:Name="PanCustom"> <StackPanel x:Name="PanCustom">
</StackPanel> </StackPanel>
<local:MyCard Margin="0,0,0,15" Title="快照版提示" x:Name="PanHint"> <local:MyCard Margin="0,0,0,15" Title="快照版提示" x:Name="PanHint">
<StackPanel Margin="25,40,23,12"> <local:MyIconButton LogoScale="1.1" Logo="F1 M2,0 L0,2 8,10 0,18 2,20 10,12 18,20 20,18 12,10 20,2 18,0 10,8 2,0Z"
<TextBlock x:Name="LabHint1" TextWrapping="Wrap" Margin="0,0,0,2" /> Height="20" Margin="10" HorizontalAlignment="Right" VerticalAlignment="Top"
<TextBlock x:Name="LabHint2" TextWrapping="Wrap" Margin="0,0,0,2" /> x:Name="BtnHintClose" />
<StackPanel Margin="25,38,23,15">
<TextBlock x:Name="LabHint1" TextWrapping="Wrap" Margin="0,0,0,2" FontSize="13.5" />
<TextBlock x:Name="LabHint2" TextWrapping="Wrap" Margin="0,0,0,2" FontSize="13.5" />
</StackPanel> </StackPanel>
</local:MyCard> </local:MyCard>
<local:MyCard Margin="0,0,0,15" Title="启动日志" x:Name="PanLog"> <local:MyCard Margin="0,0,0,15" Title="启动日志" x:Name="PanLog">
@@ -3,100 +3,206 @@
Private Sub Init() Handles Me.Loaded Private Sub Init() Handles Me.Loaded
PanBack.ScrollToHome() PanBack.ScrollToHome()
PanLog.Visibility = If(ModeDebug, Visibility.Visible, Visibility.Collapsed) PanLog.Visibility = If(ModeDebug, Visibility.Visible, Visibility.Collapsed)
'刷新主页
If ShouldRefresh Then
ShouldRefresh = False
RefreshCustom()
End If
'快照版提示 '快照版提示
#If BETA Then #If BETA Then
PanHint.Visibility = Visibility.Collapsed PanHint.Visibility = Visibility.Collapsed
#Else #Else
PanHint.Title = "快照版提示"
PanHint.Visibility = If(ThemeCheckGold(), Visibility.Collapsed, Visibility.Visible) PanHint.Visibility = If(ThemeCheckGold(), Visibility.Collapsed, Visibility.Visible)
LabHint1.Text = "快照版包含尚未在正式版发布的测试性功能,仅用于赞助者本人尝鲜。所以请不要发给其他人或者用于制作整合包哦!如果发现了 Bug,可以在 更多 → 反馈 中提交!" LabHint1.Text = "快照版包含尚未正式发布的测试功能,仅用于赞助者本人尝鲜。请不要发给其他人或者用来制作整合包哦!"
LabHint2.Text = "你可以通过赞助¥23.33 档位换取解锁码来隐藏这个提示。" LabHint2.Text = $"若已累积赞助¥23.33,在爱发电私信发送 {vbLQ}解锁码{vbRQ} 即可永久隐藏此提示。"
#End If #End If
End Sub End Sub
Private LatestFileContent As String = "" '暂时关闭快照版提示
Private LatestFileLink As String = Nothing #If Not BETA Then
Private IsRefreshing As Boolean = False Private Sub BtnHintClose_Click(sender As Object, e As EventArgs) Handles BtnHintClose.Click
Public ShouldRefresh As Boolean = True AniDispose(PanHint, True)
End Sub
#End If
#Region "自定义主页"
''' <summary> ''' <summary>
''' 刷新自定义的主页。返回是否成功。 ''' 刷新自定义主页。
''' </summary> ''' </summary>
Private Sub RefreshCustom() Private Sub Refresh() Handles Me.Loaded
If IsRefreshing Then RunInNewThread(Sub()
ShouldRefresh = True Try
Exit Sub SyncLock RefreshLock
End If RefreshReal()
End SyncLock
Catch ex As Exception
Log(ex, "加载 PCL 主页自定义信息失败", LogLevel.Msgbox)
End Try
End Sub, $"刷新自定义主页 #{GetUuid()}")
End Sub
Private Sub RefreshReal()
Dim Content As String = ""
Dim Url As String
Select Case Setup.Get("UiCustomType")
Case 1
'加载本地文件
Log("[Page] 主页自定义数据来源:本地文件")
Content = ReadFile(Path & "PCL\Custom.xaml") 'ReadFile 会进行存在检测
Case 2
Url = Setup.Get("UiCustomNet")
Download:
'加载联网文件
If String.IsNullOrWhiteSpace(Url) Then Exit Select
If Url = Setup.Get("CacheSavedPageUrl") AndAlso File.Exists(PathTemp & "Cache\Custom.xaml") Then
'缓存可用
Log("[Page] 主页自定义数据来源:联网缓存文件")
Content = ReadFile(PathTemp & "Cache\Custom.xaml")
'后台更新缓存
OnlineLoader.Start(Url)
Else
'缓存不可用
Log("[Page] 主页自定义数据来源:联网全新下载")
Hint("正在加载主页……")
RunInUiWait(Sub() LoadContent("")) '在加载结束前清空页面
Setup.Set("CacheSavedPageVersion", "")
OnlineLoader.Start(Url) '下载完成后将会再次触发更新
Exit Sub
End If
Case 3
Select Case Setup.Get("UiCustomPreset")
Case 0 '你知道吗
Log("[Page] 主页预设:你知道吗")
Content = "
<local:MyCard Title=""你知道吗?"" Margin=""0,0,0,15"">
<TextBlock Margin=""25,38,23,15"" FontSize=""13.5"" IsHitTestVisible=""False"" Text=""{hint}"" TextWrapping=""Wrap"" Foreground=""{DynamicResource ColorBrush1}"" />
<local:MyIconButton Height=""22"" Width=""22"" Margin=""9"" VerticalAlignment=""Top"" HorizontalAlignment=""Right""
EventType=""刷新主页"" EventData=""/""
Logo=""M875.52 148.48C783.36 56.32 655.36 0 512 0 291.84 0 107.52 138.24 30.72 332.8l122.88 46.08C204.8 230.4 348.16 128 512 128c107.52 0 199.68 40.96 271.36 112.64L640 384h384V0L875.52 148.48zM512 896c-107.52 0-199.68-40.96-271.36-112.64L384 640H0v384l148.48-148.48C240.64 967.68 368.64 1024 512 1024c220.16 0 404.48-138.24 481.28-332.8L870.4 645.12C819.2 793.6 675.84 896 512 896z"" />
</local:MyCard>"
Case 1 '回声洞
Log("[Page] 主页预设:回声洞")
Content = "
<local:MyCard Title=""回声洞"" Margin=""0,0,0,15"">
<TextBlock Margin=""25,38,23,15"" FontSize=""13.5"" IsHitTestVisible=""False"" Text=""{cave}"" TextWrapping=""Wrap"" Foreground=""{DynamicResource ColorBrush1}"" />
<local:MyIconButton Height=""22"" Width=""22"" Margin=""9"" VerticalAlignment=""Top"" HorizontalAlignment=""Right""
EventType=""刷新主页"" EventData=""/""
Logo=""M875.52 148.48C783.36 56.32 655.36 0 512 0 291.84 0 107.52 138.24 30.72 332.8l122.88 46.08C204.8 230.4 348.16 128 512 128c107.52 0 199.68 40.96 271.36 112.64L640 384h384V0L875.52 148.48zM512 896c-107.52 0-199.68-40.96-271.36-112.64L384 640H0v384l148.48-148.48C240.64 967.68 368.64 1024 512 1024c220.16 0 404.48-138.24 481.28-332.8L870.4 645.12C819.2 793.6 675.84 896 512 896z"" />
</local:MyCard>"
Case 2 '新闻主页
Log("[Page] 主页预设:Minecraft 新闻")
Url = "https://news.bugjump.net"
GoTo Download
End Select
End Select
RunInUi(Sub() LoadContent(Content))
End Sub
Private RefreshLock As New Object
'联网获取自定义主页文件
Private OnlineLoader As New LoaderTask(Of String, Integer)("自定义主页获取", AddressOf OnlineLoaderSub) With {.ReloadTimeout = 10 * 60 * 1000}
Private Sub OnlineLoaderSub(Task As LoaderTask(Of String, Integer))
Try Try
IsRefreshing = True '获取版本校验地址
PanCustom.Children.Clear() Dim VersionAddress As String
RunInNewThread(Sub() If Task.Input.Contains(".xaml") Then
Dim FileContent As String = "" VersionAddress = Task.Input.Replace(".xaml", ".xaml.ini")
Select Case Setup.Get("UiCustomType") Else
Case 0 VersionAddress = Task.Input.Split("?").First
'啥也不干 If Not VersionAddress.EndsWith("/") Then VersionAddress += "/"
Case 1 VersionAddress += "version"
'加载本地文件 If Task.Input.Contains("?") Then VersionAddress += Task.Input.Split("?").Last
FileContent = ReadFile(Path & "PCL\Custom.xaml") 'ReadFile 会进行存在检测 End If
Log("[System] 尝试从本地文件读取主页自定义数据(" & FileContent.Length & ")") '校验版本
Case 2 Dim Version As String = ""
'加载联网文件 Dim NeedDownload As Boolean = True
Try Try
Dim Link As String = Setup.Get("UiCustomNet") Version = NetGetCodeByRequestOnce(VersionAddress, Timeout:=10000)
If Link = LatestFileLink Then If Version.Length > 100 Then Throw New Exception($"获取的自定义主页版本过长({Version.Length} 字符)")
FileContent = LatestFileContent Dim CurrentVersion As String = Setup.Get("CacheSavedPageVersion")
Log("[System] 尝试缓存加载主页自定义数据(" & FileContent.Length & ")") If Version <> "" AndAlso CurrentVersion <> "" AndAlso Version = CurrentVersion Then
ElseIf Not String.IsNullOrWhiteSpace(Link) Then Log($"[Page] 当前缓存的自定义主页已为最新,当前版本:{Version},检查源:{VersionAddress}")
Log("[System] 开始从网络读取主页自定义数据(" & Link & ")") NeedDownload = False
FileContent = NetGetCodeByRequestRetry(Link) Else
Log("[System] 尝试从网络读取主页自定义数据(" & FileContent.Length & ")") Log($"[Page] 需要下载联网自定义主页,当前版本:{Version},检查源:{VersionAddress}")
End If End If
LatestFileLink = Link Catch exx As Exception
LatestFileContent = FileContent Log(exx, $"联网获取自定义主页版本失败", LogLevel.Developer)
Catch ex As Exception Log($"[Page] 无法检查联网自定义主页版本,将直接下载,检查源:{VersionAddress}")
Log(ex, "获取 PCL 主页自定义信息失败", LogLevel.Msgbox) End Try
LatestFileLink = "" '实际下载
End Try If NeedDownload Then
End Select Dim FileContent As String = NetGetCodeByRequestRetry(Task.Input)
If FileContent = "" Then Log($"[Page] 已联网下载自定义主页,内容长度:{FileContent.Length},来源:{Task.Input}")
IsRefreshing = False Setup.Set("CacheSavedPageUrl", Task.Input)
Exit Sub Setup.Set("CacheSavedPageVersion", Version)
End If WriteFile(PathTemp & "Cache\Custom.xaml", FileContent)
FileContent = "<StackPanel xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"" xmlns:local=""clr-namespace:PCL;assembly=Plain Craft Launcher 2"">" & FileContent & "</StackPanel>" End If
FileContent = FileContent.Replace("{path}", Path) '要求刷新
RunInUi(Sub() Refresh()
Try
Log("[System] 加载主页自定义数据")
PanCustom.Children.Add(GetObjectFromXML(FileContent))
IsRefreshing = False
Catch ex As Exception
IsRefreshing = False
Log("[System] 自定义信息内容:" & vbCrLf & FileContent)
If MyMsgBox(ex.Message, "加载自定义主页失败", "重试", "取消") = 1 Then
LatestFileLink = Nothing
LatestFileContent = ""
RefreshCustom()
End If
End Try
End Sub)
End Sub, "主页自定义刷新")
Catch ex As Exception Catch ex As Exception
Log(ex, "加载 PCL 主页自定义信息失败", LogLevel.Msgbox) Log(ex, $"联网下载自定义主页失败({Task.Input})", LogLevel.Hint)
IsRefreshing = False Task.Input = ""
End Try End Try
End Sub End Sub
Public Sub ForceRefresh(Optional ShowHint As Boolean = True) ''' <summary>
ShouldRefresh = True ''' 立即强制刷新自定义主页。
LatestFileContent = "" ''' 必须在 UI 线程调用。
LatestFileLink = Nothing ''' </summary>
If ShowHint Then Hint("已刷新主页!", HintType.Finish) Public Sub ForceRefresh()
FrmMain.PageChange(FormMain.PageType.Launch) Log("[Page] 要求强制刷新自定义主页")
Init() ClearCache()
'实际的刷新
If FrmMain.PageCurrent.Page = FormMain.PageType.Launch Then
PanBack.ScrollToHome()
Refresh()
Else
FrmMain.PageChange(FormMain.PageType.Launch)
End If
End Sub End Sub
''' <summary>
''' 清空自定义主页缓存信息。
''' </summary>
Private Sub ClearCache()
LoadedContentHash = -1
OnlineLoader.Input = ""
Setup.Set("CacheSavedPageUrl", "")
Setup.Set("CacheSavedPageVersion", "")
Log("[Page] 已清空自定义主页缓存")
End Sub
''' <summary>
''' 从文本内容中加载自定义主页。
''' 必须在 UI 线程调用。
''' </summary>
Private Sub LoadContent(Content As String)
SyncLock LoadContentLock
'如果加载目标内容一致则不加载
Dim Hash = Content.GetHashCode()
If Hash = LoadedContentHash Then Exit Sub
LoadedContentHash = Hash
'实际加载内容
PanCustom.Children.Clear()
If String.IsNullOrWhiteSpace(Content) Then
Log($"[Page] 实例化:清空自定义主页 UI,来源为空")
Return
End If
Content = "<StackPanel xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"" xmlns:local=""clr-namespace:PCL;assembly=Plain Craft Launcher 2"">" & Content & "</StackPanel>"
Content = Content.Replace("{path}", Path).Replace("{hint}", PageOtherTest.GetRandomHint()).Replace("{cave}", PageOtherTest.GetRandomCave())
Log($"[Page] 实例化:加载自定义主页 UI,最终内容长度:{Content.Count}")
Try
PanCustom.Children.Add(GetObjectFromXML(Content))
Catch ex As Exception
Log("[Page] 加载失败的自定义主页内容:" & vbCrLf & Content)
If MyMsgBox($"自定义主页内容编写有误,请根据下列错误信息进行检查:{vbCrLf}{ex.Message}", "加载自定义主页失败", "重试", "取消") = 1 Then
GoTo Refresh '防止 SyncLock 死锁
End If
End Try
End SyncLock
Return
Refresh:
ForceRefresh()
End Sub
Private LoadedContentHash As Integer = -1
Private LoadContentLock As New Object
#End Region
End Class End Class
@@ -213,7 +213,7 @@
</Grid> </Grid>
</StackPanel> </StackPanel>
</local:MyCard> </local:MyCard>
<local:MyCard Margin="0,0,0,15" Title="高级设置" IsSwaped="True" CanSwap="True"> <local:MyCard Margin="0,0,0,15" Title="高级启动选项" IsSwaped="True" CanSwap="True">
<Grid Margin="25,40,25,15"> <Grid Margin="25,40,25,15">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Name" /> <ColumnDefinition Width="Auto" SharedSizeGroup="Name" />
@@ -1,7 +1,4 @@
Imports System.Security.Principal Public Class PageVersionMod
Imports PCL.MyLoading
Public Class PageVersionMod
#Region "初始化" #Region "初始化"
@@ -336,8 +333,14 @@ Public Class PageVersionMod
'更新下边栏 UI '更新下边栏 UI
RefreshBottomBar() RefreshBottomBar()
End Sub End Sub
Private Sub Load_State(sender As Object, newState As MyLoadingState, oldState As MyLoadingState) Handles Load.StateChanged Private Sub UnselectedAllWithAnimation() Handles Load.StateChanged, Me.PageExit
Dim CacheAniControlEnabled = AniControlEnabled
AniControlEnabled = 0
ChangeAllSelected(False) ChangeAllSelected(False)
AniControlEnabled += CacheAniControlEnabled
End Sub
Private Sub PageVersionMod_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If My.Computer.Keyboard.CtrlKeyDown AndAlso e.Key = Key.A Then ChangeAllSelected(True)
End Sub End Sub
#End Region #End Region
Binary file not shown.
+453 -80
View File
@@ -1,6 +1,6 @@
 
industrial-craft|工业时代2 (Industrial Craft 2)|515771 industrial-craft|工业时代2 (Industrial Craft 2)|515771¨@industrial-craft|工业时代2 (Industrial Craft 2)|515771
@redpower2-core|红石力量2 (RedPower2)|71843
buildcraft@|建筑 (BuildCraft)|884720 buildcraft@|建筑 (BuildCraft)|884720
forestry@|林业*|708812 forestry@|林业*|708812
railcraft|铁路*|603270 railcraft|铁路*|603270
@@ -37,7 +37,7 @@ player-api|玩家API (Player API) - 1.6-1.12.1¨playerapi|玩家API (Player API)
ic2-classic|工业时代2经典版 (IC2 Classic)|1407663
not-enough-items-1-8|NEI物品管理器 (Not Enough Items) - 1.8+|389937¨notenoughitems|NEI物品管理器 (Not Enough Items) - <1.8|389937 not-enough-items-1-8|NEI物品管理器 (Not Enough Items) - 1.8+|389937¨notenoughitems|NEI物品管理器 (Not Enough Items) - <1.8|389937
@@ -114,7 +114,7 @@ bibliocraft|收藏馆 (BiblioCraft)|644088
natura|自然* natura|自然*
atomic-science|原子科学* atomic-science|原子科学*
atum|阿图姆:沙漠之旅/亚图姆:金沙之旅 (Atum 2: Return to the Sands)|1207987
blockphysics_by_id_miner|方块物理学 (BlockPhysics) blockphysics_by_id_miner|方块物理学 (BlockPhysics)
@@ -165,7 +165,7 @@ project-red-core|红石计划 (ProjectRed)¨project-red-base|红石计划 (Proje
dimensionaldoors|次元门 (Dimensional Doors)|896027 dimensionaldoors|次元门 (Dimensional Doors)|896027
chickenchunks|区块载入器 (ChickenChunks) chickenchunks|区块载入器 (ChickenChunks)
dlt2|动态蓄水槽 (Dynamic Liquid Tanks)
webdisplays-remasterd|内置网页浏览器 (WebDisplays)|778743 webdisplays-remasterd|内置网页浏览器 (WebDisplays)|778743
morph|变身* morph|变身*
@@ -257,7 +257,7 @@ redstone-arsenal|红石兵工厂*¨@redstone-arsenal|红石兵工厂 (Redstone A
big-reactors|大型反应堆*|348989 big-reactors|大型反应堆*|348989
endertanks|末影水槽 (Ender Tanks) - Forge¨endertanks-fabric|末影水槽 (Ender Tanks) - Fabric endertanks|末影水槽 (Ender Tanks) - Forge¨endertanks-fabric|末影水槽 (Ender Tanks) - Fabric
applied-energistics-2@ae2|应用能源2*|798231
hopper-ducts|漏斗管道* hopper-ducts|漏斗管道*
autofish|自动钓鱼*|630098 autofish|自动钓鱼*|630098
mrcrayfish-furniture-mod|MrCrayfish 的家具 (MrCrayfish's Furniture Mod)|321693 mrcrayfish-furniture-mod|MrCrayfish 的家具 (MrCrayfish's Furniture Mod)|321693
@@ -350,7 +350,7 @@ ex-aliquo
steves-carts-2|史蒂夫矿车2 (Steve's Carts 2) steves-carts-2|史蒂夫矿车2 (Steve's Carts 2)
mariculture|海洋物语*|321251 mariculture|海洋物语*|321251
evilcraft|邪恶工艺 (EvilCraft) evilcraft|邪恶工艺 (EvilCraft)
projecte|等价交换重制版 (ProjectE)|1109380
falling-meteors-mod|陨石 (Falling Meteors) falling-meteors-mod|陨石 (Falling Meteors)
@@ -384,7 +384,7 @@ pchan3-steamship-steamboat-pirates|飞艇与汽船 (SteamShip - SteamBoat and Pi
thaumic-energistics|神秘能源*|791638 thaumic-energistics|神秘能源*|791638
chisel|凿子*|641383
nuclearcraft-mod|核电工艺 (NuclearCraft) nuclearcraft-mod|核电工艺 (NuclearCraft)
opencomputers|开放式电脑 (Open Computers)|618383 opencomputers|开放式电脑 (Open Computers)|618383
elemental-stones|元素之石* elemental-stones|元素之石*
@@ -393,7 +393,7 @@ waila-nbt|万用高亮显示 (Waila NBT)
thaumcraft-node-tracker|神秘节点追踪* thaumcraft-node-tracker|神秘节点追踪*
geochests|箱载世界* geochests|箱载世界*
parachutemod|降落伞 (Parachute) parachutemod|降落伞 (Parachute)
gem-buffs-infinite-potion-effects|宝石效果/增益宝石 (Gem Buffs)
rftools@|RF工具箱 (RFTools)|416167 rftools@|RF工具箱 (RFTools)|416167
atomicstrykers-magic-yarn|AtomicStryker的魔法线 (AtomicStryker's Magic Yarn) atomicstrykers-magic-yarn|AtomicStryker的魔法线 (AtomicStryker's Magic Yarn)
@@ -544,7 +544,7 @@ dragonapi
electricraft|电力工艺 (ElectriCraft) electricraft|电力工艺 (ElectriCraft)
candycraft|糖果世界 (CandyCraft)|459723 candycraft|糖果世界 (CandyCraft)|459723
minefantasy2|我的幻想2 (MineFantasy2)
rails-of-war|铁路战争 (Rails of War) rails-of-war|铁路战争 (Rails of War)
actually-additions|实用拓展*|841281 actually-additions|实用拓展*|841281
@@ -574,12 +574,12 @@ llibrary
projecte|等价交换重制版 (ProjectE)|1109380
customthings|自定义物品 (CustomThings) @redpower2-core|红石力量2 (RedPower2)|71843
applied-energistics-2@ae2|应用能源2*|798231
automagy|自动化魔法* automagy|自动化魔法*
minefantasy2|我的幻想2 (MineFantasy2)
environmental-tech@|环境科技*|644622 environmental-tech@|环境科技*|644622
magic-cookies|魔法饼干*|710008 magic-cookies|魔法饼干*|710008
@@ -613,7 +613,7 @@ worldeditcui||1013295¨worldeditcui-fabric||1013295
ztones ztones
dummycore¨dummycore-unofficial dummycore¨dummycore-unofficial
extra-utilities|更多实用设备*|868981 extra-utilities|更多实用设备*|377817
openmodslib|开放式模组库 (OpenModsLib) openmodslib|开放式模组库 (OpenModsLib)
embers|余烬* embers|余烬*
neat|极简血量显示* - Forge|938958¨neat-fabric-quilt|极简血量显示 (Neat) - Fabric & Quilt|938958¨@neat|极简血量显示 (Neat)|938958 neat|极简血量显示* - Forge|938958¨neat-fabric-quilt|极简血量显示 (Neat) - Fabric & Quilt|938958¨@neat|极简血量显示 (Neat)|938958
@@ -832,7 +832,7 @@ re-zero-kara-hajimeru-isekai-seikatsu|RE:从零开始的异世界 (Re: Zero kara
minewatch||730508 minewatch||730508
thaumcraft-inventory-scanning|神秘时代物品栏扫描* thaumcraft-inventory-scanning|神秘时代物品栏扫描*
cyclic|循环*|648189 cyclic|循环*|648189
chisel|凿子*|641383
redstoneplusplus|红石++ (Redstone++) redstoneplusplus|红石++ (Redstone++)
ctm|连接纹理 (ConnectedTexturesMod) ctm|连接纹理 (ConnectedTexturesMod)
simulated-nights|夜晚模拟* simulated-nights|夜晚模拟*
@@ -1018,7 +1018,7 @@ wrapup
nuclear-physics nuclear-physics
wither-skeleton-tweaks|凋灵骷髅调整* wither-skeleton-tweaks|凋灵骷髅调整*
heat-and-climate|热量与气候* heat-and-climate|热量与气候*
customthings|自定义物品 (CustomThings)
exgregilo|格雷矿筛 (ExGregilo) exgregilo|格雷矿筛 (ExGregilo)
placebo placebo
plants plants
@@ -1027,7 +1027,7 @@ chinjufumod|镇守府 (ChinjufuMod +JapaneseBlock)|776626
track-api track-api
immersive-railroading|沉浸铁路*|783016 immersive-railroading|沉浸铁路*|783016
custom-main-menu|自定义主菜单*|769607
wildycraft||526348 wildycraft||526348
@@ -1050,7 +1050,7 @@ biobomb|生物炸弹 (BioBomb)|785148
ender-hopper|末影漏斗*|784833 ender-hopper|末影漏斗*|784833
mine-souls|黑魂战斗*|683570 mine-souls|黑魂战斗*|683570
radixcore radixcore
dlt2|动态蓄水槽 (Dynamic Liquid Tanks)
familiar-fauna|熟悉的动物*|785558 familiar-fauna|熟悉的动物*|785558
tinkers-tool-leveling|匠魂工具升级 (Tinkers' Tool Leveling)|646118 tinkers-tool-leveling|匠魂工具升级 (Tinkers' Tool Leveling)|646118
@@ -1068,7 +1068,7 @@ spawncontroller|自定义怪物生成 (SpawnController)|786558
wearable-backpacks|可穿戴背包*|664777 wearable-backpacks|可穿戴背包*|664777
heart-drop|生命汲取* heart-drop|生命汲取*
omlib|开放式炮台库 (OMLib) omlib|开放式炮台库 (OMLib)
dynamictrees|动态的树/有活力的树 (Dynamic Trees)|771545
merry-christmas|圣诞箱子 (Merry Christmas!)|786210 merry-christmas|圣诞箱子 (Merry Christmas!)|786210
cloud-control|可控制的云*|785903 cloud-control|可控制的云*|785903
zombie-ore|矿石僵尸 (Zombie ore)|786883 zombie-ore|矿石僵尸 (Zombie ore)|786883
@@ -1183,22 +1183,22 @@ infinity-item-editor|无尽物品编辑器*|791937
extra-rails|更多功能铁轨*|607938 extra-rails|更多功能铁轨*|607938
gregtania gregtania
origin origin
minecraft-transport-simulator@immersive-vehicles|沉浸车辆 (Immersive Vehicles) minecraft-transport-simulator@immersive-vehicles|沉浸车辆 (Immersive Vehicles)|946737
chest-transporter|搬箱器*|467680 chest-transporter|搬箱器*|467680
i18nupdatemod@|自动汉化更新 (I18nUpdateMod)|1424533 i18nupdatemod@|自动汉化更新 (I18nUpdateMod)|1424533
realistic-item-drops|真实物品掉落* realistic-item-drops|真实物品掉落*
pixelmon|像素精灵宝可梦 重铸*|291020 pixelmon|像素精灵宝可梦 重铸*|291020
controlling|键位冲突显示* - Forge/Fabric版|713187¨controlling-for-fabric|键位冲突显示 (Controlling) - Fabric|713187 @controlling|键位冲突显示 (Controlling)|713187
simpleleather|腐肉烧皮革 (SimpleLeather)|660382 simpleleather|腐肉烧皮革 (SimpleLeather)|660382
sync|克隆*|300110 sync|克隆*|300110
chiseled-me|超级变变变* chiseled-me|超级变变变*
progressive-automation-early-miner|进阶自动化 (Progressive Automation) progressive-automation-early-miner|进阶自动化 (Progressive Automation)
matmos|真实环境音效 (MAtmos) matmos|真实环境音效 (MAtmos)|805720
ye-olde-tanks|水箱* ye-olde-tanks|水箱*
improving-minecraft|改善的世界* improving-minecraft|改善的世界*
wawla|Wawla高亮显示 (What Are We Looking At) wawla@|Wawla高亮显示 (What Are We Looking At)
lightarea|点亮区域 (LightArea)|806149 lightarea|点亮区域 (LightArea)|806149
@replaymod|录像回放 (Replay Mod)|952909 @replaymod|录像回放 (Replay Mod)|952909
stellar-sky|群星璀璨*|502403 stellar-sky|群星璀璨*|502403
@@ -1207,7 +1207,7 @@ nei-addons|NEI扩充 (NEI Addons)
cucumber@ cucumber@
hunting-dimension|狩猎维度*|800351 hunting-dimension|狩猎维度*|800351
runes-of-wizardry|符文魔法 (Runes-of-Wizardry) runes-of-wizardry|符文魔法 (Runes-of-Wizardry)
dynamictrees|动态的树/有活力的树 (Dynamic Trees)|771545
coffee-workshop|咖啡工坊*|808472 coffee-workshop|咖啡工坊*|808472
in-game-account-switcher@|游戏内账号切换 (In-Game Account Switcher)|1211916 in-game-account-switcher@|游戏内账号切换 (In-Game Account Switcher)|1211916
consecration@|圣化*|849160 consecration@|圣化*|849160
@@ -1237,7 +1237,7 @@ dragontech|龙之科技/龙鳞实验版 (DragonTech/Dragon Scales EX)
gravityfalls-mod|怪诞小镇 (Gravity Falls) gravityfalls-mod|怪诞小镇 (Gravity Falls)
tfcbotania|TFC植物魔法 (TFCBotania) tfcbotania|TFC植物魔法 (TFCBotania)
no-recipe-guide|没有合成指南*|811530 no-recipe-guide|没有合成指南*|811530
takumi-craft|爬行者世界/苦力怕世界* - curseforge上的原贴,现已删除¨takumicraft|爬行者世界/苦力怕世界 (Takumi Craft) - 新贴 takumi-craft|爬行者世界/苦力怕世界* - curseforge上的原贴,现已删除¨takumicraft|爬行者世界/苦力怕世界 (Takumi Craft) - 新贴,现已失效
the-mists-of-riov|神秘世界 (The Mists of RioV Mod) the-mists-of-riov|神秘世界 (The Mists of RioV Mod)
nsr-no-respawn-screen|无重生屏幕 (No Respawn Screen)|793776 nsr-no-respawn-screen|无重生屏幕 (No Respawn Screen)|793776
@@ -1266,7 +1266,7 @@ refraction|折射*
librarianlib|图书馆 (LibrarianLib) librarianlib|图书馆 (LibrarianLib)
creeper-confetti@|烟花苦力怕*|775377 creeper-confetti@|烟花苦力怕*|775377
funnels|液体漏斗* funnels|液体漏斗*
advent-of-ascension-nevermine@adventofascension|虚无世界 (Nevermine)|325420 advent-of-ascension-nevermine@adventofascension|虚无世界 (Nevermine)|290532
toroquest|托罗探索 (Toro Quest)|818183 toroquest|托罗探索 (Toro Quest)|818183
rikmulds-core-mod rikmulds-core-mod
@@ -1287,7 +1287,7 @@ mobdrops|更多掉落 (MobDrops)
states|城邦*|819991 states|城邦*|819991
modular-machinery|模块化机械* modular-machinery|模块化机械*
compositegear|复合齿轮/复合装甲 (Composite Gear) compositegear|复合齿轮/复合装甲 (Composite Gear)
kiwi¨kiwi-fabric kiwi¨kiwi-fabric¨@kiwi
cuisine|料理工艺 🍳 (Cuisine 🍳)|821999 cuisine|料理工艺 🍳 (Cuisine 🍳)|821999
world-control|世界控制* world-control|世界控制*
@@ -1328,7 +1328,7 @@ shields-plus|更多盾牌*
ghost-buster ghost-buster
culinary-construct@|自定义三明治* culinary-construct@|自定义三明治*
armoreablemobs|怪物装备自定义 (ArmoreableMobs) armoreablemobs|怪物装备自定义 (ArmoreableMobs)
gem-buffs-infinite-potion-effects|宝石效果/增益宝石 (Gem Buffs)
advanced-inventory advanced-inventory
@@ -1390,7 +1390,7 @@ patchouli|帕秋莉手册* - Forge¨patchouli-fabric|帕秋莉手册 (Patchouli)
gases-framework gases-framework
ranged-pumps|范围泵*|668293 ranged-pumps|范围泵*|668293
bagginses|背包*|628505 bagginses|背包*|628505
ic2-classic|工业时代2经典版 (IC2 Classic)|1407663
cubicworldgen cubicworldgen
rally-health rally-health
@@ -1407,7 +1407,7 @@ sound-physics-fabric|物理声效 (Sound Physics)|676189
plethora-peripherals plethora-peripherals
simple-flight|简单的飞行*|374613 simple-flight|简单的飞行*|374613
factory-tech|工厂科技 (FactoryTech) factory-tech|工厂科技 (FactoryTech)
block-renderer¨blockrenderer
mysticallib mysticallib
crissaegrim crissaegrim
@@ -1423,7 +1423,7 @@ u-team-core
ftb-quests|FTB任务 (FTB Quests) - Forge|849746¨ftb-quests-fabric|FTB任务 (FTB Quests) - Fabric|849746 ftb-quests|FTB任务 (FTB Quests) - Forge|849746¨ftb-quests-fabric|FTB任务 (FTB Quests) - Fabric|849746
texfix|材质修复 (TexFix)|771588 texfix|材质修复 (TexFix)|771588
mapmakers-gadgets|地图作者小帮手 (Mapmaker's Gadgets) mapmakers-gadgets|地图作者小帮手 (Mapmaker's Gadgets)
travellers-gear|旅者之器 (Traveller's Gear)
ceramics|陶瓷器* ceramics|陶瓷器*
slashblade-japanese-addon-pack|拔刀剑日系附属包 (SlashBlade Japanese Addon Pack)|1230741 slashblade-japanese-addon-pack|拔刀剑日系附属包 (SlashBlade Japanese Addon Pack)|1230741
@@ -1538,7 +1538,7 @@ just-enough-energistics-jee
ironman|钢铁侠 (IronMan) ironman|钢铁侠 (IronMan)
chunk-animator|区块加载动画* chunk-animator|区块加载动画*
craftstudio-api craftstudio-api
travellers-gear|旅者之器 (Traveller's Gear)
fisks-superheroes-2|菲斯克的超级英雄 (Fisk's Superheroes)|806138 fisks-superheroes-2|菲斯克的超级英雄 (Fisk's Superheroes)|806138
aiot-botania|植物魔法全能工具 (AIOT Botania) aiot-botania|植物魔法全能工具 (AIOT Botania)
@@ -1744,7 +1744,7 @@ giacomos-fishing-net
the-hospital-mod|医院Mod*|873210¨hospital-mod-facilities-pack|医院Mod (The Hospital Mod) - 设施包1.12.2|873210¨hospital-mod-theatres-pack|医院Mod (The Hospital Mod) - 墙壁和地板包1.12.2|873210¨hospital-mod-pharmacy-pack|医院Mod (The Hospital Mod) - 药房设施包1.12.2,1.14.4|873210 the-hospital-mod|医院Mod*|873210¨hospital-mod-facilities-pack|医院Mod (The Hospital Mod) - 设施包1.12.2|873210¨hospital-mod-theatres-pack|医院Mod (The Hospital Mod) - 墙壁和地板包1.12.2|873210¨hospital-mod-pharmacy-pack|医院Mod (The Hospital Mod) - 药房设施包1.12.2,1.14.4|873210
more-charcoal|更多木炭* more-charcoal|更多木炭*
born-in-a-barn born-in-a-barn
aqua-acrobatics|水游技艺*
better-animations-collection@|更好的动物动作* better-animations-collection@|更好的动物动作*
quality-tools|工具品质* quality-tools|工具品质*
@@ -1753,7 +1753,7 @@ pollutant-pump|污染泵*
infinite-pollution-filter|无限污染过滤器* infinite-pollution-filter|无限污染过滤器*
jei-hider jei-hider
fastflyblockbreaking|飞行速破 (Fast Fly Block Breaking) fastflyblockbreaking|飞行速破 (Fast Fly Block Breaking)
exhausted-stamina|竭力攻击*
planttech-2|植物科技2 (PlantTech 2)|905616 planttech-2|植物科技2 (PlantTech 2)|905616
toast-control|消息框控制* toast-control|消息框控制*
@@ -1774,7 +1774,7 @@ up-and-down-and-all-around|颠倒世界*
lost-souls@|失落的灵魂* lost-souls@|失落的灵魂*
intelligent-energistics|智能能源* intelligent-energistics|智能能源*
ender-compass|末影指南针*|785069 ender-compass|末影指南针*|785069
ic2-tweaker
thaumic-gadgets|神秘宝具* thaumic-gadgets|神秘宝具*
multi-mine|多人开采* multi-mine|多人开采*
extra-foam-for-liteloader|Liteloader修复 (Extra Foam For LiteLoader)|982739 extra-foam-for-liteloader|Liteloader修复 (Extra Foam For LiteLoader)|982739
@@ -1797,7 +1797,7 @@ touhou-little-maid|车万女仆*|882845
eureka eureka
lazy-ae2|懒人AE2 (Lazy AE2) lazy-ae2|懒人AE2 (Lazy AE2)
libnine
equaldragons equaldragons
berries berries
infinity-gauntlet-mod|无限手套 (Infinity Gauntlet) infinity-gauntlet-mod|无限手套 (Infinity Gauntlet)
@@ -1810,7 +1810,7 @@ the-ultimate-dimension|究极次元*|885906
advanced-mortars|更好的研钵* advanced-mortars|更好的研钵*
crafttweaker-utils crafttweaker-utils
atum|阿图姆:沙漠之旅/亚图姆:金沙之旅 (Atum 2: Return to the Sands)|1207987
fps-reducer|FPS减速器 (FPS Reducer) fps-reducer|FPS减速器 (FPS Reducer)
freelook|自由视角 (FreeLook) freelook|自由视角 (FreeLook)
@@ -1930,7 +1930,7 @@ damage-control|伤害控制*
prestige|成就点* prestige|成就点*
yukarilib yukarilib
energy-converters|能量桥接器*
signpost|路标* signpost|路标*
diagonal-panes|对角线玻璃板* diagonal-panes|对角线玻璃板*
forgelin forgelin
@@ -2094,7 +2094,7 @@ healing-campfire|治愈营火* - Forge¨healing-campfire-fabric|治愈营火 (He
jetif|物品丢入流体 (Just Enough Throwing In Fluids) jetif|物品丢入流体 (Just Enough Throwing In Fluids)
rftools-base@|RF工具:基础 (RFTools Base) rftools-base@|RF工具:基础 (RFTools Base)
flopper|流体漏斗* flopper|流体漏斗*
exhausted-stamina|竭力攻击*
staminaplus|耐力值 (StaminaPlus) staminaplus|耐力值 (StaminaPlus)
enhanced-armaments|增强装备*|898546 enhanced-armaments|增强装备*|898546
spatialcompat|空间兼容 (SpatialCompat) spatialcompat|空间兼容 (SpatialCompat)
@@ -2284,7 +2284,7 @@ mahou-tsukai@|魔法使*|929252
moar-tinkers moar-tinkers
baubley-heart-canisters|心之容器*|795294 baubley-heart-canisters|心之容器*|795294
jaopcasingularities|JAOPCA的奇点 (JAOPCA Singularities)|958964 jaopcasingularities|JAOPCA的奇点 (JAOPCA Singularities)|958964
energy-converters|能量桥接器*
@@ -2301,8 +2301,8 @@ incorporeal|幻想多媒体*
amun-ra amun-ra
mysterious-mountain-lib|妖怪之山通用库 (MysteriousMountainLib) mysterious-mountain-lib|妖怪之山通用库 (MysteriousMountainLib)
loottweaker
rediscovered|特性重现*|359096
kitchen-mod|厨房 (The Kitchen Mod)|295019 kitchen-mod|厨房 (The Kitchen Mod)|295019
baubles-reborn|饰品栏重置版* baubles-reborn|饰品栏重置版*
@@ -2322,7 +2322,7 @@ spartan-and-fire|斯巴达之冰与火 (Spartan and Fire)
beacons-for-all¨beacons-for-all-fabric¨@beacons-for-all beacons-for-all¨beacons-for-all-fabric¨@beacons-for-all
more-flowers|更多功能花* more-flowers|更多功能花*
enchanting-with-thaumcraft|神秘附魔学*
buzzier-bees buzzier-bees
lollipop|棒棒糖* lollipop|棒棒糖*
@@ -2331,7 +2331,7 @@ thaumic-restoration|神秘复辟*
primal-boat|原始船舶* primal-boat|原始船舶*
eyes-in-the-darkness
thaumic-augmentation|神秘进阶*|1063250 thaumic-augmentation|神秘进阶*|1063250
lost-magic|失落的魔法* lost-magic|失落的魔法*
thaumic-arcana thaumic-arcana
@@ -2441,7 +2441,7 @@ gottschcore
not-enough-crashes|崩溃优化* - Fabric|1097535¨not-enough-crashes-forge|崩溃优化 (Not Enough Crashes) - Forge|1097535¨@notenoughcrashes|崩溃优化 (Not Enough Crashes)|1097535 not-enough-crashes|崩溃优化* - Fabric|1097535¨not-enough-crashes-forge|崩溃优化 (Not Enough Crashes) - Forge|1097535¨@notenoughcrashes|崩溃优化 (Not Enough Crashes)|1097535
crash-to-main-menu|崩溃返回主菜单* crash-to-main-menu|崩溃返回主菜单*
tinkers-jei tinkers-jei
loottweaker
better-questing-quest-book|更好的任务-任务书 (Better Questing - Quest Book) better-questing-quest-book|更好的任务-任务书 (Better Questing - Quest Book)
engineers-doors|工程师的门 (Engineer's Doors) engineers-doors|工程师的门 (Engineer's Doors)
tps-generator|TPS发电机 (TPS Generator) tps-generator|TPS发电机 (TPS Generator)
@@ -2464,7 +2464,7 @@ moddirector
function-api function-api
targetingapi targetingapi
re-targetingapi re-targetingapi
libnine
dominionlib dominionlib
endergetic|末地拓展 (The Endergetic Expansion) endergetic|末地拓展 (The Endergetic Expansion)
@@ -2554,7 +2554,7 @@ bloomful
pick-pocketer|扒手* pick-pocketer|扒手*
terraforged||1157666 terraforged||1157666
rad-metabolosis rad-metabolosis
mmd-orespawn
tragicmc3|悲惨世界3 (TragicMC 3)|1233212 tragicmc3|悲惨世界3 (TragicMC 3)|1233212
not-enough-rtgs|更多RTG (Not Enough RTGs) not-enough-rtgs|更多RTG (Not Enough RTGs)
@@ -2723,7 +2723,7 @@ nocurse|不诅咒 (NoCurse)|1066483
pretty-beaches||1113121¨pretty-beaches-fabric||1113121 pretty-beaches||1113121¨pretty-beaches-fabric||1113121
qing_gong|轻功 (qing_gong)|1065957 qing_gong|轻功 (qing_gong)|1065957
remnants|腐败* remnants|腐败*
rediscovered|特性重现*|359096
pane-in-the-glass pane-in-the-glass
dynamic-dynamos|能源炉动画* dynamic-dynamos|能源炉动画*
trophy-slots trophy-slots
@@ -2784,7 +2784,7 @@ mekanism-fluxified|“通量”机械*
stepup|平滑自动上坡 (StepUp) stepup|平滑自动上坡 (StepUp)
@sodium|钠 (Sodium)|1079347¨sodium|钠*|1079347 @sodium|钠 (Sodium)|1079347¨sodium|钠*|1079347
netherlicious||1104913
yungs-better-mineshafts-forge|YUNG的矿井优化 (YUNG's Better Mineshafts) - Forge¨yungs-better-mineshafts-fabric|YUNG的矿井优化 (YUNG's Better Mineshafts) - Fabric¨@yungs-better-mineshafts|YUNG的矿井优化 (YUNG's Better Mineshafts) yungs-better-mineshafts-forge|YUNG的矿井优化 (YUNG's Better Mineshafts) - Forge¨yungs-better-mineshafts-fabric|YUNG的矿井优化 (YUNG's Better Mineshafts) - Fabric¨@yungs-better-mineshafts|YUNG的矿井优化 (YUNG's Better Mineshafts)
terrible-chest|可怕的箱子/可怖箱子*|922554 terrible-chest|可怕的箱子/可怖箱子*|922554
spartan-shields|斯巴达之盾*|672959 spartan-shields|斯巴达之盾*|672959
@@ -2819,7 +2819,7 @@ crash-utilities
eldritch-mobs eldritch-mobs
farmers-delight@|农夫乐事 (Farmer's Delight) - Forge¨farmers-delight-fabric@|农夫乐事 (Farmer's Delight) - Fabric farmers-delight@|农夫乐事 (Farmer's Delight) - Forge¨farmers-delight-fabric@|农夫乐事 (Farmer's Delight) - Fabric
artifacts|奇异饰品* - Forge¨artifacts-fabric|奇异饰品 (Artifacts) - Fabric¨@artifacts|奇异饰品 (Artifacts) artifacts|奇异饰品* - Forge¨artifacts-fabric|奇异饰品 (Artifacts) - Fabric¨@artifacts|奇异饰品 (Artifacts)
mechanized-steam-power|机械化蒸汽动力*
dynamictreestfc|动态的树:群峦传说附属 (Dynamic Trees-TFC) dynamictreestfc|动态的树:群峦传说附属 (Dynamic Trees-TFC)
dynamic-trees-the-twilight-forest|动态的树:暮色森林附属 (Dynamic Trees-The Twilight Forest) dynamic-trees-the-twilight-forest|动态的树:暮色森林附属 (Dynamic Trees-The Twilight Forest)
@@ -2843,7 +2843,7 @@ survival-utilities|生存工具*
slashblade|拔刀剑 (SlashBlade)|726664 slashblade|拔刀剑 (SlashBlade)|726664
portal-blocks-2-0|传送门方块 (Portal Blocks)|1077770 portal-blocks-2-0|传送门方块 (Portal Blocks)|1077770
slimecraft-add-tools-etc slimecraft-add-tools-etc
mechanized-steam-power|机械化蒸汽动力*
moreswordonline|动漫神域 (SwordCraftOnline) moreswordonline|动漫神域 (SwordCraftOnline)
camera-mod|照相机*|1162901 camera-mod|照相机*|1162901
heartdrops|生命汲取 (Heart Drops) heartdrops|生命汲取 (Heart Drops)
@@ -2860,7 +2860,7 @@ project-red-illumination|红石计划:照明 (Project Red - Illumination)¨pro
project-red-world|红石计划:探索 (Project Red - World) project-red-world|红石计划:探索 (Project Red - World)
project-red-compat|红石计划:兼容性 (Project Red - Compat) project-red-compat|红石计划:兼容性 (Project Red - Compat)
canvas-renderer|Canvas渲染器*|1211675¨@canvas|Canvas渲染器 (Canvas Renderer)|1211675 canvas-renderer|Canvas渲染器*|1211675¨@canvas|Canvas渲染器 (Canvas Renderer)|1211675
custom-main-menu|自定义主菜单*|769607
coolfood|冷饮 (CoolFood) coolfood|冷饮 (CoolFood)
infinitevillagertrading@|无限村民交易 (InfiniteVillagerTrading) infinitevillagertrading@|无限村民交易 (InfiniteVillagerTrading)
infinite-trading|无限交易* - Forge¨infinite-trading-fabric|无限交易 (Infinite Trading) - Fabric¨@infinite-trading|无限交易 (Infinite Trading) infinite-trading|无限交易* - Forge¨infinite-trading-fabric|无限交易 (Infinite Trading) - Fabric¨@infinite-trading|无限交易 (Infinite Trading)
@@ -2908,7 +2908,7 @@ drcyanos-lootable-bodies|可拾取尸体 (DrCyano's Lootable Bodies)|406482
simply-cats simply-cats
pams-harvestcraft-2-crops|潘马斯农场2 - 作物 (Pam's HarvestCraft 2 - Crops)|1000336 pams-harvestcraft-2-crops|潘马斯农场2 - 作物 (Pam's HarvestCraft 2 - Crops)|1000336
base-metals|基础金属* base-metals|基础金属*
mmd-orespawn
mmdlib mmdlib
just-poop-mod|屎! (Poop Mod!) just-poop-mod|屎! (Poop Mod!)
costumes|服装* costumes|服装*
@@ -2932,7 +2932,7 @@ pams-harvestcraft-2-food-extended|潘马斯农场2 - 食物拓展 (Pam's Harvest
pams-harvestcraft-2-trees|潘马斯农场2 - 果树 (Pam's HarvestCraft 2 - Trees)|1000336 pams-harvestcraft-2-trees|潘马斯农场2 - 果树 (Pam's HarvestCraft 2 - Trees)|1000336
minecart-direction-follow¨better-minecart-rotation-forge minecart-direction-follow¨better-minecart-rotation-forge
modern-metals|现代金属* modern-metals|现代金属*
block-renderer¨blockrenderer
blockus blockus
conjurers-cookbook conjurers-cookbook
color-unchained color-unchained
@@ -2955,7 +2955,7 @@ lambdynamiclights@|Lambda的动态光源 (LambDynamicLights)|1082100
realistic-torches|真实火把*|566201 realistic-torches|真实火把*|566201
durability-viewer|耐久显示器*|1086168 durability-viewer|耐久显示器*|1086168
netherlicious||1104913
ground-item-highlighting|地面物品高光显示*|1084931 ground-item-highlighting|地面物品高光显示*|1084931
@@ -2976,7 +2976,7 @@ packagedexcrafting|封包合成拓展 (PackagedExCrafting)
compactstorage|紧凑存储 (compactstorage) compactstorage|紧凑存储 (compactstorage)
useful-backpacks|实用背包* useful-backpacks|实用背包*
@conquest-reforged|征服者 (ConquestReforged)|1431287 conquest-reforged|征服者 (ConquestReforged)|1431287
steelseries-gamesense steelseries-gamesense
pizzaatimes-timber-mod pizzaatimes-timber-mod
tellme tellme
@@ -3059,7 +3059,7 @@ entity-culling|实体渲染机制优化*
hammerandvil|锻造锤与锤锻台 (HammerAndVil) hammerandvil|锻造锤与锤锻台 (HammerAndVil)
simply-backpacks|简易背包* simply-backpacks|简易背包*
@mermod mermod-fabric¨mermod-forge|Mermod / Mermaid Tail Mod - 1.19.2~1.18.2 Forge版本
better-placement|更好的放置*|730136 better-placement|更好的放置*|730136
fat-cat|大资本家* fat-cat|大资本家*
waystones2waypoints|传送石碑路径点 (Waystones2Waypoints) waystones2waypoints|传送石碑路径点 (Waystones2Waypoints)
@@ -3143,7 +3143,7 @@ demagnetize|消磁*
controlling|键位冲突显示* - Forge/Fabric版|713187¨controlling-for-fabric|键位冲突显示 (Controlling) - Fabric|713187
cinderscapes|余烬奇景* cinderscapes|余烬奇景*
tfc-homestead tfc-homestead
tfctinkers|群峦与匠魂 (TFC Tinkers) tfctinkers|群峦与匠魂 (TFC Tinkers)
@@ -3190,7 +3190,7 @@ ambience-extras|环境音乐:附加 (Ambience - Extras)
additions-mod additions-mod
extracpus|更多CPU (Extra CPUs) extracpus|更多CPU (Extra CPUs)
extra-crafting-storage extra-crafting-storage
conquest-reforged|征服者 (ConquestReforged)|1431287 @conquest-reforged|征服者 (ConquestReforged)|1431287
underground-city-engineering@|地下城市工程*|943842 underground-city-engineering@|地下城市工程*|943842
essentials essentials
soul-shards-respawn soul-shards-respawn
@@ -3246,7 +3246,7 @@ randompatches-integration
bubble-column-elevator-backport|1.13水域机制 (1.13 Water Mechanics) bubble-column-elevator-backport|1.13水域机制 (1.13 Water Mechanics)
basic-nether-ores|基础下界矿石*|1136294 basic-nether-ores|基础下界矿石*|1136294
nuclearcraft-reactor-builder|核电工艺反应堆建造机 (NuclearCraft Reactor Builder) nuclearcraft-reactor-builder|核电工艺反应堆建造机 (NuclearCraft Reactor Builder)
pams-harvestcraft-2-food-core|潘马斯农场2 - 食物核心 (Pam's HarvestCraft 2 - Food Core)|1000336 pams-harvestcraft-2-food-core|潘马斯农场2 - 食物核心 (Pam's HarvestCraft 2 - Food Core)|1313245
eki-lib eki-lib
nodami|伤害免疫机制移除 (No Damage Immunity) nodami|伤害免疫机制移除 (No Damage Immunity)
@@ -3265,7 +3265,7 @@ devtech|GTCEu-CrT开发套件*
jurassic-world-reborn-mod|侏罗纪世界重生* jurassic-world-reborn-mod|侏罗纪世界重生*
cardboard@ cardboard@
enchanting-with-thaumcraft|神秘附魔学*
crimson-revelations|血腥启示 (Crimson Revelation) crimson-revelations|血腥启示 (Crimson Revelation)
environmental-core@ environmental-core@
bigger-crafting-tables bigger-crafting-tables
@@ -3303,7 +3303,7 @@ suspended-server|挂起服务器*
starlight@|星光* - Fabric|1216316¨starlight-forge@|星光 (Starlight) - Forge|1216316 starlight@|星光* - Fabric|1216316¨starlight-forge@|星光 (Starlight) - Forge|1216316
research-table|研究台 🔬 (Research Table 🔬)|871188 research-table|研究台 🔬 (Research Table 🔬)|871188
shoulder-surfing-reloaded|越肩视角重制*|985499 shoulder-surfing-reloaded|越肩视角重制*|985499
aqua-acrobatics|水游技艺*
silents-mechanisms|寂静机械 (Silent Mechanisms) silents-mechanisms|寂静机械 (Silent Mechanisms)
project-potman|背锅人计划 (ProjectPotman) project-potman|背锅人计划 (ProjectPotman)
nbt-crafting@|数据包NBT合并* nbt-crafting@|数据包NBT合并*
@@ -3358,7 +3358,7 @@ vanilla-hammers|原版材质锤* - Fabric¨vanilla-hammers-forge|原版材质锤
imblocker|输入法冲突修复 (IMBlocker)|935619 imblocker|输入法冲突修复 (IMBlocker)|935619
hardcore-map-reset hardcore-map-reset
tfc-aged-drinks|群峦陈酿 (TFC Aged Drinks) tfc-aged-drinks|群峦陈酿 (TFC Aged Drinks)
buildcraft-rf
youtubers-lucky-blocks|Youtuber的幸运方块 (Youtuber's Lucky Blocks) youtubers-lucky-blocks|Youtuber的幸运方块 (Youtuber's Lucky Blocks)
wandering-trapper|流浪猎人* wandering-trapper|流浪猎人*
chocolate-fix chocolate-fix
@@ -3757,7 +3757,7 @@ loading-timer@|加载时长显示*
ocrocketry ocrocketry
chime-fabric@chime chime-fabric@chime
witherite@|凋灵合金* witherite@|凋灵合金*
mermod-fabric¨mermaid-tail-mod|人鱼尾*¨mermod-forge|Mermod / Mermaid Tail Mod - 1.19.2~1.18.2 Forge版本 mermaid-tail-mod|人鱼尾*¨@mermod
astromine-core|天体矿工:核心 (Astromine: Core) astromine-core|天体矿工:核心 (Astromine: Core)
dungeondq dungeondq
dynamic-trees-integrated-dynamics|动态的树:动态联合/集成动力附属 (Dynamic Trees - Integrated Dynamics) dynamic-trees-integrated-dynamics|动态的树:动态联合/集成动力附属 (Dynamic Trees - Integrated Dynamics)
@@ -4085,7 +4085,7 @@ ticktock@servertick
fps-reducre-for-fabric|FPS减速器(Fabric) (FPS Reducer (For Fabric)) fps-reducre-for-fabric|FPS减速器(Fabric) (FPS Reducer (For Fabric))
art-artillery|艺术?火炮! (Art? Artillery!) art-artillery|艺术?火炮! (Art? Artillery!)
minemenufabric@|我的菜单 Fabric 版 (MineMenuFabric) minemenu-refabricated@minemenufabric|我的菜单 Fabric 版 (MineMenuFabric)
@tabtps @tabtps
@afkpeace¨afkpeace @afkpeace¨afkpeace
@@ -4099,7 +4099,7 @@ searchable-containers|可搜索容器*
integrated-additions|集成扩展* integrated-additions|集成扩展*
matchlock-guns|火绳枪*
fabric-autoswitch@autoswitch|自动切换工具 (AutoSwitch) fabric-autoswitch@autoswitch|自动切换工具 (AutoSwitch)
inventory-profiles-next@|一键背包整理Next* inventory-profiles-next@|一键背包整理Next*
drill|钻头* drill|钻头*
@@ -4112,7 +4112,7 @@ village-employment|村庄就业*
deathlog@|死亡日志* deathlog@|死亡日志*
automatic-elytra|自动鞘翅* automatic-elytra|自动鞘翅*
axolotl-bucket-fix|美西螈桶修复*
xks-decoration|XK的装饰 (XK's Deco)|1214362 xks-decoration|XK的装饰 (XK's Deco)|1214362
endgame-materials-addons|更多终局材料* endgame-materials-addons|更多终局材料*
ravage-and-cabbage ravage-and-cabbage
@@ -4556,7 +4556,7 @@ multi-world
terralith¨@terralith terralith¨@terralith
overworld-two¨overworld-two-forge overworld-two¨overworld-two-forge
xl-packets|XL数据包 (XL Packets) - Forge¨xl-packets-fabric|XL数据包 (XL Packets) - Fabric
rftools-storage@|RF工具:存储 (RFTools Storage) rftools-storage@|RF工具:存储 (RFTools Storage)
rftools-builder@|RF工具:建造机 (RFTools Builder) rftools-builder@|RF工具:建造机 (RFTools Builder)
@@ -4604,7 +4604,7 @@ morevanillaarmor|更多原版盔甲 (MoreVanillaArmor)
eternal-tales@ eternal-tales@
oh-the-biomes-youll-go-fixes|“你将去的生物群系”修复模组 (Oh The Biomes You'll Go Fixes) oh-the-biomes-youll-go-fixes|“你将去的生物群系”修复模组 (Oh The Biomes You'll Go Fixes)
wild-world wild-world
eyes-in-the-darkness
miskatonic-mysteries¨miskatonic-mysteries-legacy|Miskatonic Mysteries - Forge,未完成且已停更 miskatonic-mysteries¨miskatonic-mysteries-legacy|Miskatonic Mysteries - Forge,未完成且已停更
harvesters-night|收割者之夜 (Harvester's Night) harvesters-night|收割者之夜 (Harvester's Night)
slotlock@|锁定槽 (SlotLock) slotlock@|锁定槽 (SlotLock)
@@ -4963,7 +4963,7 @@ one-block-forge
human-reborn human-reborn
@addadd|额外扩展 (Additional Additions)|1427321¨additional-additions|额外扩展* - Fabric|1427321¨additional-additions-forge|额外扩展 (Additional Additions) - Forge|1427321 @addadd|额外扩展 (Additional Additions)|1427321¨additional-additions|额外扩展* - Fabric|1427321¨additional-additions-forge|额外扩展 (Additional Additions) - Forge|1427321
earlygame@ earlygame@
happiness-is-a-warm-gun@
kvc-blocks|蛋挞君的原版补全方块篇 (KVCBlocks)|1239534 kvc-blocks|蛋挞君的原版补全方块篇 (KVCBlocks)|1239534
enigtech2-util enigtech2-util
@@ -5581,7 +5581,7 @@ radium-reforged|镭*
backpackmod@ backpackmod@
untamedwilds|不羁野性 (Untamed Wilds)|1211422 untamedwilds|不羁野性 (Untamed Wilds)|1211422
advancements-tracker@|进度追踪器概览 (Advancements Tracker and Overview)
no-null-processors no-null-processors
ma-enchants|Ma 附魔* ma-enchants|Ma 附魔*
@@ -5952,7 +5952,7 @@ fabricskyboxes@
@fvt @fvt
blue_skies_tcon blue_skies_tcon
tdv-tweaks tdv-tweaks
ic2-tweaker
picture-in-picture-pip picture-in-picture-pip
guilt-trip guilt-trip
parcool|跑酷! (ParCool!) parcool|跑酷! (ParCool!)
@@ -6659,7 +6659,7 @@ astemirs-fireflies
ender-crop¨@ender-crop ender-crop¨@ender-crop
modupdater modupdater
fivehead fivehead
axolotl-bucket-fix|美西螈桶修复*
attained-drops|可种植掉落物* attained-drops|可种植掉落物*
attained-drops-2|可种植掉落物2* attained-drops-2|可种植掉落物2*
@@ -6823,7 +6823,7 @@ dumplings-delight@|饺子乐事*
thermal_extra thermal_extra
nether-sky-block@|下界空岛* nether-sky-block@|下界空岛*
arte-magicum arte-magicum
tinkers-craft|工匠创意 (Tinkers' Craft)
ocean-blender|海洋搅拌机 (OceanBlender) ocean-blender|海洋搅拌机 (OceanBlender)
buildcraft-fluxified buildcraft-fluxified
brewin-and-chewin|饮酒作乐 (Brewin' And Chewin') brewin-and-chewin|饮酒作乐 (Brewin' And Chewin')
@@ -7815,7 +7815,7 @@ advancedshader|光影前向兼容 (AdvancedShader)
the-wools|羊毛! (The Wools!)¨@the-wools|羊毛! (The Wools!) the-wools|羊毛! (The Wools!)¨@the-wools|羊毛! (The Wools!)
fabric-enchantments fabric-enchantments
glued glued
tinkers-craft|工匠创意 (Tinkers' Craft)
tinker-leveling tinker-leveling
gtce-tj-edition|格雷科技社区版:TJ版 (GregTech Community Edition: TJ Edition) gtce-tj-edition|格雷科技社区版:TJ版 (GregTech Community Edition: TJ Edition)
upc upc
@@ -8090,7 +8090,7 @@ mob-catcher
guns-rpg-waystone-addon guns-rpg-waystone-addon
biospheres-fabric|现代生物圈 (Modern Biospheres) biospheres-fabric|现代生物圈 (Modern Biospheres)
better-snowball-fight-2@better-snowball-fight|更好的打雪仗 (Better Snowball Fight)|1323495 better-snowball-fight-2@better-snowball-fight|更好的打雪仗 (Better Snowball Fight)|1396154
feathers feathers
brb@|更好的配方书 (Better Recipe Book) brb@|更好的配方书 (Better Recipe Book)
boatoverhaul-forge|行船机制修改 (Boat Overhaul) - Forge¨boatoverhaul-fabric|行船机制修改 (Boat Overhaul) - Fabric boatoverhaul-forge|行船机制修改 (Boat Overhaul) - Forge¨boatoverhaul-fabric|行船机制修改 (Boat Overhaul) - Fabric
@@ -8833,7 +8833,7 @@ kubejs-offline|KubeJS离线文档 (KubeJS Offline Documentation)
advancements-tracker@|进度追踪器概览 (Advancements Tracker and Overview)
memory-settings|内存设置* memory-settings|内存设置*
tiny-item-animations@ tiny-item-animations@
more-plates-revamped@|更多金属板重置版* more-plates-revamped@|更多金属板重置版*
@@ -9078,7 +9078,7 @@ commandspy
slimyfloor slimyfloor
daily-dad@|每日冷笑话*¨daily-dad-server@|每日冷笑话 (Daily Dad) - Daily Dad - Server daily-dad@|每日冷笑话*¨daily-dad-server@|每日冷笑话 (Daily Dad) - Daily Dad - Server
good-ending good-ending
xl-packets|XL数据包 (XL Packets) - Forge¨xl-packets-fabric|XL数据包 (XL Packets) - Fabric
creeper-nuggets creeper-nuggets
coherent-villages coherent-villages
@@ -9960,7 +9960,7 @@ enderio-unofficial|末影接口非官方版 (EnderIO Unofficial)
dimensional-gravity dimensional-gravity
happiness-is-a-warm-gun@
bring-color-to-my-skies bring-color-to-my-skies
portal-dungeons portal-dungeons
@@ -10571,7 +10571,7 @@ warrior-rage@
pokefood pokefood
armor-souls-reforged armor-souls-reforged
matchlock-guns|火绳枪*
@the-aether-redux|天境:新生代 (The Aether: Redux) @the-aether-redux|天境:新生代 (The Aether: Redux)
@banner||1447687 @banner||1447687
staaaaaaaaaaaack@ staaaaaaaaaaaack@
@@ -11198,3 +11198,376 @@ armor-status-hud-renewed|耐久信息显示:重生 (Armor Status HUD Renewed)
boblib boblib
placeable-mobs placeable-mobs
potion-blender potion-blender
t6-auto-attack-mod@t6-auto-attack
forceasciifont-backport
@vmupdate|VM汉化更新 (VMTranslationUpdate)
trample-no-more@
directional-damage-indicator
digs-dnd-origins
superior-flat
fungal-infection-spore
@easy-tweak
netherless-quartz
@maple-api
@reforged-fabric-api
caffeinated
buildcraft-rf
gilded-ingot
chatpatches@|聊天补丁 (Chat Patches)
@burning-furnace
shadowizardlib@
ants-unleashed
@seaborgium
gold-fish
pipeplus@
deuf-refabricated
runic-items@
twist|诡变*
@serverlistbufferfixer
oil-refinery
themangonewadvent
@worthy-food
better-nether-continuation|更好的下界延续 (BetterNether Continuing)
stygian-end-continuation|末地:生物群系扩展延续*
skill-slots¨skill-slots-fabric
novam-terram-continuation
@jade-feet|玉足 (Jade Feet)
cutting-edge
xp-from-harvest-forked
mob-options
mod-sets@|模组集*
hold-that-chunk@
dark-matter@
@steal_dogs|偷狗 (Steal Dogs)
@faster-random
simply-steel-continued@
simple-corinthium
chidori-origins-collection
enhancedp2p|增强的P2P (EnhancedP2P)
custom-de-upgrade-recipes|自定义 DE 升级配方 (Custom DE Upgrade Recipes)
mode-switch
better-clouds-forge
@better-clouds
@easymapdownload
client-crafting
anvil-repairing@
headcrabs
kubejs-industrial-foregoing
recipe-book-delight@|配方书乐事*
chest-hoppers
@gravy-delight
@ubes-delight
torcherino-unofficial
more-bows-and-arrows
xp-shop
acclaimed-origins@
replanter
zombie-infection-vaccine
simple-achievements
achievement-books
invocore-utility-mod
saljus-quill
derelict
@charged-charms
custom-villagers|自定义村民*
turtlematic
remove-base-origins
@cobblemon-delights|方块宝可梦乐事 (Cobblemon Delights)
redirectionor|异引定址*
villager-mantle-fix|村民帽子修复*
rechiseled-create@
xaeroplus@|Xaero的地图增强 (XaeroPlus)
cosmetic-nametags@
thirdlife-rts@
@real-peaceful-mode|真正的和平模式 (Real Peaceful Mode)
niftyblocks
elfs-dark-dimension
xaeros-minimap-world-map-waystones-compability
jagms-kiwis@
@masaadditions
@improved-trident-enchantments
mystic-bows
forgiving-world
@skillcloaks
swordinthestone@
lazy-ae2-patch|懒人AE2补丁 (Lazy AE2 Patch)
yamato-gun-mod@yamato-gun
ars-mage-fight
epicfight-pirates
kubejs-entity-events-extension
mc-dungeons-enchantments@
rei-custom-command
copperative@|铜心协力*
growable-storage-cells
growable-cells-2
cinchcraft
day-counter@ag-day-counter
sculk-redstone-components@sculkredstonecomponents
toggle-enchantments
unbreakable-enchantment-forge@unbreakable-enchantment
immersive-portal-gun@portal-gun|沉浸式传送枪*
tac-craft-tactical-armor-pack
@flexible-arms|灵巧双手 (Flexible Arms)
boat-tweaks
@effect-descriptions
@diagonal-windows
illager-invasion@
@touhou-origins-blessings
altorigingui@
dynamic-trees-pams-harvestcraft-2
dynamic-trees-hexerei
@minium-stone
@fastrtp
@tech-decorators|科技装饰商 (Tech Decorators)
dynamic-trees-ars-nouveau
@kazzmons-magecraft
@metal-bundles
cute-kiwi-birds-new-animal
moremobheads
@ouchies
@traditional-asphalt
@thaumic_boots
carpeted-stairs@
just-enough-archaeology
bedrock_world
@world-preview
the-five-nights-at-freddys-mod@the-five-nights-at-freddys-mod#all-versions|玩具熊的五夜后宫 (The Five Nights at Freddy's Mod)
easylan@|自定义LAN局域网联机服务器 (EasyLAN)
pelagic-prehistory
@minerally
better-jukeboxes
patboxs-brewery@brewery
stackable-stew-and-soup
mindful-darkness@
@sbet
nature-arise@
more-beautiful-torches
quality-crops
@individual-keep-inventory
permanent-sponges@
hang-glider@
@auto-twerk
block-beams@
adorabuild-structures
moogs-end-structures
@brew-guide
@oneclickcrafting
@genshin-ui
fenomena-structures@phenomena-structures
first-join-message
expansive-weaponry
wabi-sabi-structures-forge¨wabi-sabi-structures-fabric
@jobsaddon
@partyaddon
loading-backgrounds
cuisine-delight@|料理乐事*
iron-bookshelves@
@dimensional-expansion
danger-close
hardcore-wither
get-off-my-lawn-reserved@goml-reserved
dangerousstonecutter@
normal-damage
crabbers-delight
slot-cycler
resource-pack-overrides@
arcane-lanterns
@crashma
blackwolf-library¨blackwolf-library-fabric
blues-scape-and-run-bosses
gigeresque
lookaround
projectileimmunityfix
@betterzoom
@player-visibility
bag-of-holding-forge@bag-of-holding
fish-of-thieves@
qualitys-delight
arrows-info
godly-vampirism
itemlocks
pick-block-pro@|选择方块专业版*
skin-and-bones
@pet-armor
@more-nugget|更多矿物粒 (More Nugget)
dual-swords@
organizable-play-screens@
labelling-containers@
inventory-pause-forge@
ready-player-fun
condensed-creative@
leaves-us-in-peace@
yellow-snow@
no-tnt-griefing@
monster-plus
ilmusu-enchantments@ilmusuenchantments
desired-servers@
attributizer@
reactive@
simple-deepslate
minunrpg
more-sheep-wools
maturi-delight@
forgified-fabric-api@
artisanat
devmode
better-trims@bettertrims
@doggo-mod-overhauled
traders-nightmare
command-block-ide@
green-thing-mod
lmft@
peripheralium@
@resource-switcher|资源切换器 (ResourceSwitcher)|1460184
clutter@
no-enchantment-cap-1-12-2-backport
dimension-viewer@
@more-food|更多食物 (More Food)
tfcgyres-orehints
badstdout@
multiworld-mod
miaooo
pipeblocker@
moa-decor-lights
craft-saddles-forge-1-16-5
@elytra-fix
@ho-library
riskofrainmod|雨中冒险 (Risk of Rain Mod)
baddie-mobs-uwu
beacons-revisioned
silence-mobs@
utilitix@
tiny-coal@
replay-mod-for-forge-reborn
flib
copper-revisioned
fine-tuned-calibration@finetunedcalibration
third-person-maps@
carpet-minitweaks@minitweaks
time-in-a-bottle-forge
seared-ladder-backport@seared-ladder-(backport)
wall-jumped@
red-core@
record-days-survived@
veinminer-companion
@leashable-players
snowballs-freeze-mobs@
guinea-pigs
vault-research
the-chaser
bandaging
enchanted-charms
@nether-api
mother-silverfish
little-botanics
ex-pattern-provider
@integrated-circuit
creative-disk
engineers-construct
@botools|假人映射 (Botools)
witch-mobility
gravestones-die-classy||530045
@pebbles-begone
eternal-eats
zombiegame|僵尸游戏 (Zombie Game)
effect-overhaul
eidolon-patches
fruity-random-teleport|紫颂果味随机传送*
pipe-master-2000|管道专家 2000 (Pipe Master 2000 / Pipe Googles)
@command-macros|命令宏 (Command Macros)
@shwetro|上海地铁装饰组件 (The Shanghai Wetro Mod)
tactical-aid|战术医疗*
@clear-enchanting
fishing-bobber-detector
create-balanced-flight
brewin-and-chewin-remastered
cupboard
mcinstance-loader@
pre-fish-feed|打窝*
armor-trim-item-fix@
waffles-moss
delightful-cuisine-for-woodheads
towers-of-the-wild-modded|旷野之息高塔:再重制 (Towers of the Wild Modded)
waffles-terracotta-plaster
watermedia@
@inverse-phantoms
@cactus-storage