McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门

Mod Menu

添加一个模组菜单,用于查看已安装的模组列表。

fabric / quilt 作者 Prospector 支持版本 1.14.4 - 26.1

模组详细介绍

Mod Menu

Mods 界面截图,左侧搜索栏和筛选按钮下方显示几个模组列表,其中 Mod Menu 被选中。界面右侧显示模组的详细信息,如作者、描述、链接、致谢以及配置模组的按钮。

Mod Menu 允许你查看已安装的模组,并且如果模组支持,可以快速便捷地访问其配置界面。

Mod Menu 还支持一些更高级的功能,例如可翻译的模组名称和描述、借助 PatboxText Placeholder API 在模组描述中支持 QuickText 格式化、将库模组与常规模组区分过滤、为托管在 Modrinth 或提供自身更新源的模组提供更新检查器,以及对我们提供的所有功能进行深度配置。

支持的平台

Mod Menu 目前适用于 Minecraft: Java Edition 1.14 或更高版本的 Fabric 或 Quilt。

开发者

Mod Menu 包含一系列 API,供开发者改善其模组在 Mod Menu 中的显示效果。这些 API 以语言键、JSON 元数据甚至 Java API 的形式提供。

翻译 API

你可以翻译模组的名称、摘要和描述,而无需接触任何 Java 代码。只需将符合支持格式的翻译键添加到任意你希望的语言中。

翻译 API 文档

以下是 Mod Menu 翻译成海盗语的示例。要创建你自己的翻译,只需将翻译键末尾的 modmenu不是开头的那个)替换为你自己的模组 ID,例如 modmenu.descriptionTranslation.traverse

en_pt.json

```json

"modmenu.nameTranslation.modmenu": "模组菜单!",

"modmenu.descriptionTranslation.modmenu": "伙计,你安装的模组菜单!",

"modmenu.summaryTranslation.modmenu": "伙计,你安装的模组菜单!"

```

> 这里的摘要翻译是冗余的,无需包含,因为它与描述相同,但为了展示你可以将摘要(模组的简短单句描述)与描述分开翻译,即使在英语中也是如此!

Fabric 元数据 API

你可以仅通过 fabric.mod.json 中的元数据添加许多内容。

所有这些都添加到 fabric.mod.json 中 Mod Menu 元数据的自定义块中。以下是此 API 提供的许多功能的示例用法:

fabric.mod.json

```json5

{

...

"custom": {

"modmenu": {

"links": {

"modmenu.discord": "https://discord.gg/jEGF5fb"

},

"badges": [ "library", "deprecated" ],

"parent": {

"id": "example-api",

"name": "Example API",

"description": "模块化示例库",

"icon": "assets/example-api-module-v1/parent_icon.png",

"badges": [ "library" ]

},

"update_checker": true

}

}

}

```

Fabric 元数据 API 文档

徽章 ("badges": [ ])

虽然 Client 徽章会自动添加到设置为仅客户端的模组(在 fabric.mod.json 中设置 "environment": "client" 即可实现),但其他徽章如 LibraryDeprecated 需要在此处定义。

支持的值:

  • library - 应分配给纯粹作为其他模组依赖的模组,默认情况下不应向用户显示,除非用户手动启用。
  • deprecated - 应分配给仅因遗留原因存在的模组,例如旧的 API 模块等。

其他值将被忽略,Mod Menu 不支持添加自定义徽章。如果你有添加新徽章的充分理由,可以在此处提交问题

链接 ("links": { })

links 对象允许模组作者在描述末尾添加自定义超链接。如果你在官方的 fabric.mod.json 元数据中指定了 sources 联系方式,它也将包含在链接部分。

links 对象中的任何键都将包含在链接部分,键将用作翻译键。例如:

fabric.mod.json

```json

"custom": {

"modmenu": {

"links": {

"modmenu.discord": "https://discord.gg/jEGF5fb"

}

}

}

```

将显示为文本为 "Discord" 的链接,因为 "Discord" 是 Mod Menu 提供的 "modmenu.discord" 的英文翻译。

Mod Menu 提供了几个可用于链接的默认翻译。完整列表可在 Mod Menu 的语言文件中查看此处。所有默认链接翻译键的格式为 modmenu.

你也可以提供自己的翻译,如果你想添加自定义链接。请确保为任何自定义键使用你自己的命名空间(而不是 modmenu)。

父模组 ("parent": "mod_id" 或 { })

父模组用于将一个模组显示为另一个模组的子项。这适用于划分为不同模块的模组。fabric.mod.json 中的以下元素将定义该模组为 'flamingo' 模组的子项:

fabric.mod.json

```json

"custom": {

"modmenu": {

"parent": "flamingo"

}

}

```

但是,如果你想将模组分组到一个父模组下,而该父模组并非实际存在的模组,你也可以这样做。在下面的示例中,一个模组为虚拟父模组定义元数据。确保此元数据包含在所有使用该虚拟父模组的子模组中。这也可以用作可选父模组的后备方案,如果存在真实的模组元数据,它将被替换。

fabric.mod.json

```json

"custom": {

"modmenu": {

"parent": {

"id": "this-mod-isnt-real",

"name": "虚拟模组",

"description": "用这个虚拟模组做酷炫的事情",

"icon": "assets/real-mod/fake-mod-icon.png",

"badges": [ "library" ]

}

}

}

```

虚拟父模组仅支持以下元数据:

  • id (字符串)
  • name (字符串)
  • description (字符串)
  • icon (字符串)
  • badges (字符串数组)

禁用更新检查器 ("update_checker": false)

默认情况下,Mod Menu 的更新检查器将使用模组 jar 文件的哈希值在 Modrinth 上查找最新版本。如果找到匹配的项目,它将检查支持你的模组加载器和 Minecraft 版本的最新版本,如果其哈希值与现有文件不同,将提示用户有可用更新。

你可以通过在 Mod Menu 元数据中将 update_checker 设置为 false 来禁用更新检查器,如下所示:

fabric.mod.json

```json

"custom": {

"modmenu": {

"update_checker": false

}

}

```

Quilt 元数据 API

由于 Mod Menu 也支持 Quilt,Fabric 元数据 API 部分中的相同 API 也可用于 Quilt 模组,但自定义元数据的格式略有不同。

不是将 "modmenu" 块放在 "custom" 块内,而是将 "modmenu" 块作为根对象中的一个元素。因此应如下所示:

quilt.mod.json

```json5

{

...

"modmenu": {

// 这里是你的链接、徽章等内容的放置位置

}

}

```

Java API

要使用 Java API,你需要在 gradle 项目中将 Mod Menu 添加为编译时依赖项。这不会使你的模组依赖 Mod Menu,但它将在你的环境中供你测试使用。

build.gradle

```gradle

// 将 Terraformers Maven 仓库添加到你的 repositories 块中

repositories {

maven {

name = "Terraformers"

url = "https://maven.terraformersmc.com/"

}

}

// 在你的环境中添加 Mod Menu 作为依赖项

dependencies {

// 在 Minecraft 26.x 之前,使用 "modImplementation" 代替

implementation("com.terraformersmc:modmenu:${project.modmenu_version}")

}

```

然后,在你的 gradle.properties 中定义你使用的 Mod Menu 版本。你可以在此处获取最新版本号,但如果你使用的不是最新的 Minecraft 版本,可能需要不同的版本。查看版本页面获取完整版本列表。

gradle.properties

```properties

modmenuversion=VERSIONNUMBER_HERE

```

> 如果你不想在环境中进行测试,但仍想针对 Mod Menu 进行编译以使用 Java API,可以使用 modCompileOnly 代替 modImplementation(即使 Mod Menu 未更新到你运行的 Minecraft 版本,这也有效)。

Java API 文档

开始使用

要使用 API,请在一个类上实现 ModMenuApi 接口,并将其作为类型为 "modmenu" 的入口点添加到你的 fabric.mod.json 中,如下所示:

fabric.mod.json

```json

"entrypoints": {

"modmenu": [ "com.example.mod.ExampleModMenuApiImpl" ]

}

```

模组配置界面

模组可以提供 Screen 工厂,以提供自定义配置界面,通过配置按钮打开。在你的 API 实现中实现 getModConfigScreenFactory 方法来实现此功能。

此功能的预期用例是让模组提供自己的配置界面。配置界面的模组 ID 会自动根据入口点来源的模组容器确定。

提供的配置界面

模组可以提供 Screen 工厂,为其他模组提供自定义配置界面,通过配置按钮打开。在你的 API 实现中实现 getProvidedConfigScreenFactories 方法来实现此功能。

此功能的预期用例是让像 Cloth Config 这样的模组为使用其 API 的模组提供配置界面。

整合包徽章

模组可以通过实现 attachModpackBadges 方法为其他模组赋予 Modpack 徽章,例如通过以下方式:

```java

@Override

public void attachModpackBadges(Consumer consumer) {

consumer.accept("modmenu"); // 表示 'modmenu' 是整合包的一部分

}

```

请注意,'内部'模组如 Minecraft 本身和模组加载器不能被赋予整合包徽章,因为它们不包含在典型的整合包分发中。

静态辅助方法

ModMenuApi 还提供了一些辅助方法,供希望更好地与 Mod Menu 协作的模组使用,例如创建自己的 Mods 按钮。

创建 Mods 界面实例

你可以调用此方法获取 Mods 界面的实例:

```java

Screen createModsScreen(Screen previous)

```

创建 Mods 按钮 Text

你可以调用此方法获取将显示在 Mod Menu Mods 按钮上的 Text:

```java

Text createModsButtonText()

```

基本信息

模组名称Mod Menu
作者Prospector
下载量89,398,166
关注数23,049
支持版本1.14.4 - 26.1
加载器fabric / quilt
客户端required
服务端unsupported

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人次:3,044,201  |  今日访问人次:28,329  |  昨日访问人次:20,728

独立 IP:7,706  |  最近24小时独立访客:25,332

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6