# 
Hey Wiki
[](https://modrinth.com/mod/hey-wiki)
[](https://crowdin.com/project/hey-wiki)
[
](https://fabricmc.net/)
[
](https://neoforged.net/)
[

](https://crowdin.com/project/hey-wiki)
Hey Wiki 是一个由 [Minecraft Wiki](https://minecraft.wiki) 社区制作的客户端模组,允许你按下 H 键(可自定义)来打开你准星所指或鼠标悬停的方块、物品或实体的 Wiki 页面,无论是原版还是模组内容。
Hey Wiki 支持 [Fabric](https://fabricmc.net/) 和 [NeoForge](https://neoforged.net/)。
## 功能特性
- 按下 H 键(可自定义)来打开你准星所指或鼠标悬停的方块/物品/实体/状态效果的 Wiki 页面(Minecraft Wiki 或相应模组的 Wiki)。
- 按下 Alt+H 或 Opt+H 来打开你主手物品的 Wiki 页面。
- 按下 B 键打开 Wiki 搜索界面。你可以在搜索栏中输入内容来搜索 Wiki 页面。
- 添加了多个[命令](#命令)。
- 在聊天中使用 `[[wiki 链接]]` 语法来[链接到 Wiki 页面](#聊天中的-wiki-链接)。
也支持使用 [MCBrowser](https://modrinth.com/mod/mcbrowser) 和 [MCEF](https://modrinth.com/mod/mcef) 进行游戏内浏览。
~~我之前不知道这个模组有点像 *Lexica Botania*,但它确实是。~~
https://github.com/mc-wiki/minecraft-mod-heywiki/assets/45287180/b0650362-1fe9-46ff-83a1-48219d5fcc05
### 如何使用
1. 安装模组。你可以从 [Modrinth](https://modrinth.com/mod/hey-wiki) 下载。别忘了安装[依赖项](#依赖项)。
2. 用准星指向一个方块/实体,或在你的物品栏中将光标悬停在一个物品上。
3. 按下快捷键(默认为 H)。
4. 在弹出的屏幕上确认操作或将链接复制到剪贴板。
### 配置
可选地,你可以在配置菜单中更改这些行为:
> [!TIP]
> 在 Fabric 上,你需要安装 [Mod Menu](https://modrinth.com/mod/modmenu) 才能访问配置菜单。
- 打开 Wiki 页面是否需要确认:默认为 true
- 当你使用[命令](#命令)时,打开 Wiki 页面是否需要确认:默认为 false
- 你偏好的 Wiki 语言,覆盖游戏语言:默认为你的游戏语言
- (针对中文用户)你偏好的中文变体,覆盖游戏语言:默认为你的游戏语言
- 打开 Wiki 页面的快捷键:默认为 H
- 查询距离:默认为 5.2 格(与创造模式相同)
- 是否允许查询流体:默认为 false
- 是否在物品栏中为可查询的物品添加提示工具:默认为 true。
### 命令
以下命令可用:
- `/imfeelinglucky []` - 带你去模组决定的任何地方。
- 示例:`/imfeelinglucky minecraft` -> `https://minecraft.wiki/????????`
- `/wiki ` - 打开指定页面名称的 Minecraft Wiki 页面。`页面名称` 可以包含命名空间。
- 示例:`/wiki minecraft:creeper` -> `https://minecraft.wiki/w/?search=creeper`
- 别名:`/whatis`
- `/whatbiome` - 打开你当前所在群系的 Minecraft Wiki 页面。
- `/whatstructure` - 打开你当前所在结构的 Minecraft Wiki 页面。
- 此命令仅在单人游戏中可用。
- `/whatcommand ` - 打开指定命令的 Minecraft Wiki 页面。
- 示例:`/whatcommand give` -> `https://minecraft.wiki/w/?search=%2Fgive`
- 别名:`/whatcmd`
- `/whatisthis` - 打开你准星所指的方块/物品/实体的 Minecraft Wiki 页面。
- `/whatisthisitem` - 打开你主手所持物品的 Minecraft Wiki 页面。
- `whatisthisitem offhand` - 同上,但针对副手。
- `/whatversion` - 打开当前游戏版本的 Minecraft Wiki 页面。
- 示例:`/whatversion` -> `https://minecraft.wiki/w/Java_Edition_1.21.5`
请注意,如果你使用命令打开页面,确认屏幕将不会出现。
### 聊天中的 `[[Wiki 链接]]`
Hey Wiki 支持聊天中的 `[[wiki 链接]]` 语法。当你发送包含 `[[wiki 链接]]` 语法的消息时,Hey Wiki 会将其替换为可点击的链接。页面名称可以包含命名空间。
这也支持跨 Wiki 链接。例如:
- `[[aether:lore]]` 将链接到 Aether Wiki 的 "lore" 页面(跨 Wiki)
- `[[en:enderman]]` 将链接到英文 Minecraft Wiki 的 "enderman" 页面(跨语言)
- `[[minecraft:en:enderman]]` 将链接到英文 Minecraft Wiki 的 "enderman" 页面(跨 Wiki 和跨语言)
## 支持的 Wiki
目前,Hey Wiki 支持以下 Wiki:
- [Minecraft Wiki](https://minecraft.wiki)
- [Aether Wiki](https://aether.wiki.gg)
- [Mekanism Wiki](https://wiki.aidancbrady.com)
- [The Twilight Forest Wiki](http://benimatic.com/tfwiki/)
- [Applied Energistics 2 Wiki](https://guide.appliedenergistics.org/)
- [Stardust Labs Wiki](https://stardustlabs.miraheze.org/)
- [Create Wiki](https://create.fandom.com/wiki/)
- [Voidscape Wiki](https://voidscape.tamaized.com/)
- [Advent of Ascension Wiki](https://adventofascension.fandom.com/wiki/)
- [Doggy Talents Next Wiki](https://doggytalentsnext.wiki.gg/)
- [Endertech Infinity Wiki](https://endertechinfinity.wiki.gg/)
- [Marvel Superheroes Mod Wiki](https://marvelsuperheroesmod.wiki.gg/)
- [BlockFront Wiki](https://blockfront.wiki.gg/)
- [Cobblemon Wiki](https://wiki.cobblemon.com/)
如果你想添加对其他 Wiki 的支持,可以[提交一个 issue](https://github.com/mc-wiki/minecraft-mod-heywiki/issues/new?labels=new+wiki%2Ctriage+needed&template=new_wiki.yml)。
此外,你也可以通过使用资源包来添加对其他 Wiki 的支持。
## API
### 资源包
> [!NOTE]
> 此 API 自 v1.6.0 起稳定。
Hey Wiki 支持使用资源包来添加对其他 Wiki 的支持。为此,在你的资源包的 `assets//wiki_family/` 文件夹中创建一个 JSON 文件,格式如下:
```json
{
// 绑定到该 Wiki 家族的命名空间
"namespace": [
"minecraft"
],
// 不同语言 Wiki 的列表
"wikis": [
{
// 文章页面的 URL 模式。%s 将被查询内容替换
"article_url": "https://minecraft.wiki/?search=%s",
// (可选)如果 Wiki 是 MediaWiki 站点,则填写 API URL
"mw_api_url": "https://minecraft.wiki/api.php",
// (可选)搜索页面的 URL 模式。%s 将被查询内容替换。
"search_url": "https://minecraft.wiki/?search=%s",
// (可选)随机文章页面的名称
"random_article": "Special:RandomRootPage/Main",
// (可选)Hey Wiki 应如何从 Wiki 获取摘要。可以是 "text_extracts" 或 "none"。
// "text_extracts" 仅适用于安装了 TextExtracts 和 PageImages 扩展的 MediaWiki 站点。你可以通过访问 Wiki 上的 Special:Version 来检查。
"excerpt": "text_extracts",
// (可选)用于自动完成搜索的提供程序。可以是 "mediawiki" 或 "algolia"。
"search_provider": "mediawiki",
// (可选)如果你使用 algolia 作为搜索提供程序,则必须填写以下字段
"algolia": {
"api_url": "https://example-dsn.algolia.net/",
"index_name": "example",
"api_key": "efcc14a8c70a1489d18cfd565cce53ca",
"app_id": "9957A67102"
},
"language": {
// Wiki 的语言代码
"wiki_language": "en",
// 这是否是主要语言。如果为 true,当没有其他语言匹配时,此语言将作为回退
"main": true,
// Wiki 支持的默认游戏内语言。如果游戏内语言不被 Wiki 支持,此语言将作为回退
"default": "en_us",
// 如果正则表达式匹配游戏内语言,当配置为自动时,将使用此 Wiki
"regex": "^en_.*",
// (可选)同上,但用于排除
"exclude": null,
// (可选)一个自定义语言代码,允许你将翻译键覆盖到特定页面。应在 assets//lang/.json 处存在翻译文件
"lang_override": "minecraft_en"
}
},
{
// 另一种语言
"article_url": "https://de.minecraft.wiki/?search=%s",
"language": {
"wiki_language": "de",
"default": "de_de",
"regex": "^de_.*",
"exclude": null
}
}
]
}
```
你还需要在 `assets//lang/` 文件夹中包含一个翻译文件,格式如下:
```json
{
// 假设定义位于 `assets/heywiki/wiki_family/minecraft.json`
"wiki_family.heywiki.minecraft": "Minecraft Wiki"
}
```
### 通过数据组件或 NBT 自定义物品
> [!WARNING]
> 此 API 是实验性功能,可能随时更改。
数据包和自定义服务器作者可以在 `custom_data` 组件中使用 `heywiki:identifier`、`heywiki:translation_key` 和 `heywiki:fallback_title` 来为物品提供自定义命名空间和名称。然而,这只适用于自定义物品。对于 1.20.4,你可以直接在 NBT 中填充这些字段。
你需要使用上述方法通过资源包注册一个带有自定义命名空间的新 Wiki。如果要求玩家下载资源包不可行,我们也可以将其与模组本身一起提供。
例如,在 "niceserver" 上,要让一个骨头物品解析到 "Drill" 页面,你首先需要按照上述方法注册 "niceserver" 命名空间。然后你可以给玩家这个物品:
1.21:
```mcfunction
/give @s minecraft:bone[minecraft:custom_data={"heywiki:identifier": "niceserver:drill", "heywiki:fallback_title": "Drill", "heywiki:translation_key": "item.niceserver.drill"}]
```
1.20.4:
```mcfunction
/give @s minecraft:bone{"heywiki:identifier": "niceserver:drill", "heywiki:translation_key": "item.niceserver.drill"}
```
## 依赖项
对于 Fabric:
- (必需)[Fabric API](https://modrinth.com/mod/fabric-api):提供基础的模组功能
- (必需)[Architectury API](https://modrinth.com/mod/architectury-api):用于多模组加载器兼容性
- (必需)[Cloth Config](https://modrinth.com/mod/cloth-config):用于配置
- (推荐)[Mod Menu](https://modrinth.com/mod/modmenu):用于访问配置菜单
- (可选)[MCBrowser](https://modrinth.com/mod/mcbrowser) 和 [MCEF](https://modrinth.com/mod/mcef):用于游戏内浏览器
- (可选)[REI](https://modrinth.com/mod/roughly-enough-items)/[EMI](https://modrinth.com/mod/emi)/[JEI](https://modrinth.com/mod/jei):支持集成
对于 NeoForge:
- (必需)[Architectury API](https://modrinth.com/mod/architectury-api):用于多模组加载器兼容性
- (必需)[Cloth Config](https://modrinth.com/mod/cloth-config):用于配置
- (可选)[REI](https://modrinth.com/mod/roughly-enough-items)/[EMI](https://modrinth.com/mod/emi)/[JEI](https://modrinth.com/mod/jei):支持集成
## 版本控制
### Hey Wiki
Hey Wiki 本身遵循[语义化版本控制](https://semver.org/)。版本号格式为 `..[-]`。版本号根据以下规则递增:
- **主版本号**:当对稳定的公共 API 进行破坏性更改时递增。
- **次版本号**:当以向后兼容的方式向稳定的公共 API 添加新功能时递增。
- **修订号**:当进行错误修复时递增。
### Minecraft
Hey Wiki 支持多个 Minecraft 版本。
每个 Minecraft 版本都被分配一个支持状态:
- **活跃**:此版本接收新功能和错误修复。功能将尽可能合理地向下移植。
- **维护**:此版本仅接收错误修复和安全补丁。通常不向下移植功能。
- **生命周期结束**:不应期望进一步的更新。
当前的 Minecraft 正式版和主分支始终是活跃的。拉取请求几乎总是应该提交到 `master` 分支。如果被接受,它们应该被挑选到其他活跃分支。
当新的快照发布时,`master` 分支会更新到该快照。快照可能只接收一个版本或根本不接收版本。仅 Fabric 支持快照。
旧的 Minecraft 版本根据其受欢迎程度和社区兴趣提供长期支持。LTS 版本最初接收活跃支持。一段时间后,它们将被降级为维护状态。旧的快照不受支持。
下表显示了哪些版本受支持:
| Git 分支 | Minecraft 版本 | 支持状态 | 是否为 LTS? | 模组加载器 |
|-------------|----------------------|-------------------|-------------|------------------|
| `master` | 1.21.7 | 活跃(最新) | ? | Fabric, Neoforge |
| `mc/1.21.5` | 1.21.5 | 生命周期结束 | 否 | Fabric, Neoforge |
| `mc/1.21.4` | 1.21.4 | 生命周期结束 | 否 | Fabric, Neoforge |
| `mc/1.21.3` | 1.21.2, 1.21.3 | 生命周期结束 | 否 | Fabric, Neoforge |
| `mc/1.21.1` | 1.21, 1.21.1 | 活跃(LTS) | 是 | Fabric, Neoforge |
| `mc/1.20.6` | 1.20.6 | 生命周期结束 | 否 | Fabric, Neoforge |
| `mc/1.20.5` | 1.20.5 | 生命周期结束 | 否 | Fabric, Neoforge |
| `mc/1.20.4` | 1.20.4 | 维护(LTS) | 是 | Fabric, Neoforge |
| N/A | *过时的快照* | 生命周期结束 | 否 | Fabric |