Skip to content

Commit

Permalink
✨ feat(zhlint): re-enable zhlint & format
Browse files Browse the repository at this point in the history
  • Loading branch information
bingling-sama committed Aug 21, 2024
1 parent 1325cc0 commit 1caccd5
Show file tree
Hide file tree
Showing 11 changed files with 41 additions and 40 deletions.
4 changes: 2 additions & 2 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ echo "running docs:tsc"
pnpm run docs:tsc
echo "running docs:format"
pnpm run docs:format
# echo "running docs:zhlint"
# pnpm run docs:zhlint
echo "running docs:zhlint"
pnpm run docs:zhlint
1 change: 1 addition & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"default": true,
"MD013": false,
"MD033": false,
"MD041": false
}
2 changes: 1 addition & 1 deletion .zhlintignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
docs/.vitepress
node_modules
38 changes: 19 additions & 19 deletions docs/blog/everything_you_should_know_about_minecraft.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ date: 2024-07-31 15:30:00
editor: bingling-sama
---

# 📓新手玩家必修第一课
# 📓 新手玩家必修第一课

Mod、插件、光影……各种名词傻傻分不清?一篇文章带你搞懂 Minecraft 的一切。

Expand All @@ -27,19 +27,19 @@ Mod、插件、光影……各种名词傻傻分不清?一篇文章带你搞

Minecraft 最初是一款使用 Java 编程语言开发的 PC 端单机游戏,随着时间的发展,衍生出了许多不同的版本,但我们今天要讨论的,是运行在 PC 上的 Minecraft Java Edition,即众人熟知的 Java 版。

2014 年 9 月 15 日,微软以 25 亿美元的天价将 Minecraft 收入麾下。自此以后,玩家们在购买了 Minecraft 正版账号以后,就可以使用微软官方推出的 *Minecraft Launcher* *Minecraft 启动器*来下载并游玩 Minecraft。
2014 年 9 月 15 日,微软以 25 亿美元的天价将 Minecraft 收入麾下。自此以后,玩家们在购买了 Minecraft 正版账号以后,就可以使用微软官方推出的 *Minecraft Launcher* (*Minecraft 启动器*) 来下载并游玩 Minecraft。

由于官方启动器没有包含任何社区内容,这就催生了许多第三方 Minecraft 启动器。例如旧朝遗老 *MultiMC* 以及新生代的 *PolyMC**Prism Launcher* 等。

然而对于国内玩家来说,记忆中更多的可能还是 *忘却的旋律**HMCL* 等第三方启动器。
然而对于国内玩家来说,记忆中更多的可能还是*忘却的旋律**HMCL* 等第三方启动器。

这些启动器各有特色,都兼容了许多有意思的社区内容,包括后面会提到的 *Mod**光影* 等。
这些启动器各有特色,都兼容了许多有意思的社区内容,包括后面会提到的 *Mod**光影*等。

## Java 是个啥?咖啡吗?

Minecraft 的游戏本体实际上是一个 `.jar` 格式的文件,它需要运行在 Java 虚拟机上。

Java 是一门高级程序设计语言,属于运行时语言。所谓 *运行时Runtime*,就是程序在运行时所需要的环境。对于 Java 来说,这个运行时就是 Java 虚拟机。
Java 是一门高级程序设计语言,属于运行时语言。所谓*运行时 (Runtime)*,就是程序在运行时所需要的环境。对于 Java 来说,这个运行时就是 Java 虚拟机。

在游玩 Minecraft 之前,你需要安装游戏版本对应的 Java 版本。一般来说,安装 JRE 版本的 Java 就可以了,但也可能有其他原因会导致 JRE 无法完美运行游戏,所以会需要安装 JDK 版本的 Java。

Expand Down Expand Up @@ -72,7 +72,7 @@ Java 是一门高级程序设计语言,属于运行时语言。所谓 *运行

在认知多元化的今天,除了原始人 Steve 和 Alex,Mojang 在 1.20 版本中还引入了各种肤色与着装的默认皮肤,TA 们也都有各自的名字:Sunny、Kai、Makena……

[Minecraft 官网](https://www.minecraft.net) 的玩家档案页面中,你可以选择其他默认皮肤或者上传自己自定义的皮肤,可以在各大论坛下载,也可以自己动手绘制。但需要注意的是,在 Minecraft Java Edition 中,皮肤格式应为 64x64 像素大小的 PNG 文件,其中包含皮肤的内外两层,内层禁止透明,外层可以是透明的。
[Minecraft 官网](https://www.minecraft.net)的玩家档案页面中,你可以选择其他默认皮肤或者上传自己自定义的皮肤,可以在各大论坛下载,也可以自己动手绘制。但需要注意的是,在 Minecraft Java Edition 中,皮肤格式应为 64x64 像素大小的 PNG 文件,其中包含皮肤的内外两层,内层禁止透明,外层可以是透明的。

> 在 Minecraft Bedrock Edition 中,皮肤支持 128x128 像素大小的 PNG 文件,并且支持透明度。但需要注意的是,**完全透明的皮肤是非法的,至少要有一个有色像素**
Expand All @@ -87,21 +87,21 @@ Java 是一门高级程序设计语言,属于运行时语言。所谓 *运行

但有时候玩家们只是因为某些原因无法连接至 Mojang 服务器才使用离线登录,有没有其他方式可以显示皮肤呢?

答案是肯定的。在离线模式下,你可以使用皮肤 Mod 或第三方验证服务器来加载皮肤。例如 [[CSL]万用皮肤补丁 (CustomSkinLoader)](https://www.mcmod.cn/class/883.html) 模组和 [LittleSkin - 国内最大第三方皮肤站](https://littleskin.cn)
答案是肯定的。在离线模式下,你可以使用皮肤 Mod 或第三方验证服务器来加载皮肤。例如 [[CSL] 万用皮肤补丁 (CustomSkinLoader)](https://www.mcmod.cn/class/883.html) 模组和 [LittleSkin - 国内最大第三方皮肤站](https://littleskin.cn)

> 通过这些第三方的加载方式,你甚至可以自定义披风。
## 材质包和数据包

从 Minecraft 的早期版本Alpha 1.2.2开始,*材质包* 作为一种可以使玩家自定义游戏画面与材质资源的 API 被引入游戏中。
从 Minecraft 的早期版本 (Alpha 1.2.2) 开始,*材质包*作为一种可以使玩家自定义游戏画面与材质资源的 API 被引入游戏中。

通过材质包,玩家可以自定义物品、方块材质,游戏音效,GUI 风格等游戏外观内容,一定程度上极大丰富了游戏的艺术性质,给玩家们带来了更大的自定义空间。

材质包以 `.zip` 压缩文件格式分发,通常放置在游戏版本目录下的 `resourcepacks` 文件夹内。你也可以将其解压为文件夹放置在此处,Minecraft 同样会识别并加载。

在多人模式下,服务器端可以通过 `server.properties` 指定一个材质包链接。玩家连接时客户端会询问是否使用服务器材质包,在得到同意后会自动下载并安装。

*数据包**材质包* 一样,都是 Mojang 官方推出的用于丰富游戏内容的自定义方式,而数据包侧重的,是修改游戏的行为。
*数据包**材质包*一样,都是 Mojang 官方推出的用于丰富游戏内容的自定义方式,而数据包侧重的,是修改游戏的行为。

你可以使用数据包来修改游戏中各种战利品的出现概率,也可以修改各种物品的合成方式,还可以向其中加入编写好的指令来实现更高级的自定义行为。

Expand All @@ -115,25 +115,25 @@ Java 是一门高级程序设计语言,属于运行时语言。所谓 *运行

## 啥是 Mod?和插件有啥区别?

*模组*,又称*Mod*,即 *Modification* 的缩写,指对游戏本身的玩法或机制进行修改、增加,在各种游戏中均有类似的玩法。
*模组*,又称 *Mod*,即 *Modification* 的缩写,指对游戏本身的玩法或机制进行修改、增加,在各种游戏中均有类似的玩法。

而在 *Minecraft Java Edition* 中,Mod 通常代指 *Mod 加载器* 加载的后缀名为 `.jar` 的文件。一般放置于版本目录下的 `mods` 文件夹内。
而在 *Minecraft Java Edition* 中,Mod 通常代指 *Mod 加载器*加载的后缀名为 `.jar` 的文件。一般放置于版本目录下的 `mods` 文件夹内。

在 Minecraft Mod 的发展历史中,Mod 加载器的更迭历史也十分丰富。从最初的 MCP,到沿用至今的 Forge,后起之秀 Fabric,还有昙花一现的 LiteLoader 等等。以后有机会我们也会试着撰写更详细的博文来介绍。

*插件*,又称 *Plugin*,与 Mod 类似,也是对游戏本身进行修改的方式,但在 Minecraft 中,插件往往指通过 *插件加载器* 用于 *服务端* `.jar` 文件。一般放置于服务器目录下的 `plugins` 文件夹内。
*插件*,又称 *Plugin*,与 Mod 类似,也是对游戏本身进行修改的方式,但在 Minecraft 中,插件往往指通过*插件加载器*用于*服务端*`.jar` 文件。一般放置于服务器目录下的 `plugins` 文件夹内。

如果你有过架设 Minecraft Java Edition 的服务器的经验,那么你应该听说过 Bukkit、Spigot、Paper 等名字,这些都是插件加载器的名称。

由于服务端与客户端的差异,插件能够实现的修改范围比 Mod 要小很多,几乎无法实现与 GUI 或添加全的新物品或方块的功能,但提供了很多便于服务器管理的 API,所以大部分插件的核心不在于玩法,而在于服务器管理功能。

而对于 ~~牢玩家~~ 高玩来说,只使用 Mod 或只使用插件当然是无法满足的啦,于是便衍生出了 Mohist、CatServer、Arclight 等 *混合端*。这些混合型服务端同时支持一种 Mod 加载器和一种插件加载器。
而对于~~牢玩家~~高玩来说,只使用 Mod 或只使用插件当然是无法满足的啦,于是便衍生出了 Mohist、CatServer、Arclight 等*混合端*。这些混合型服务端同时支持一种 Mod 加载器和一种插件加载器。

## 光影是啥?

*光影*,源自于 *Shader*,即着色器。在游戏开发领域经常会有相关名词,其实它代表了游戏内光的渲染行为。

相信读者可能在某些视频作品中见到过绚丽的天空和光效,这都是光影的功劳,而要在游戏中使用光影,需要使用 *光影加载器*
相信读者可能在某些视频作品中见到过绚丽的天空和光效,这都是光影的功劳,而要在游戏中使用光影,需要使用*光影加载器*

最著名、使用率最高的光影加载器非 *OptiFine* 莫属了。但由于其较差的兼容性,经常会导致游戏出现问题,其它类似的光影加载器也多多少少有类似的兼容性问题。

Expand All @@ -153,11 +153,11 @@ Minecraft 与其他主机游戏不同,其并没有一键式的安装程序。

要完全搞清楚这些概念,只需要稍稍了解整个 Minecraft 的安装与运行流程即可。

首先,你需要下载一个启动器,不管是新的、旧的、国内的、国外的、官方的还是第三方的,都会提供一个叫做 *安装版本* 的功能。Minecraft 具有相当多不同的在这一步你需要选择一个你想游玩的版本来安装。
首先,你需要下载一个启动器,不管是新的、旧的、国内的、国外的、官方的还是第三方的,都会提供一个叫做*安装版本*的功能。Minecraft 具有相当多不同的在这一步你需要选择一个你想游玩的版本来安装。

当你选择好版本以后,启动器会在指定的地方生成一个文件夹,所有的游戏文件都在这个文件夹中。大部分启动器默认生成的文件名称为 `.minecraft`。以 `.` 开头的 文件名 / 文件夹名 在大多数操作系统上表示隐藏文件,需要通过特殊配置方可查看。
当你选择好版本以后,启动器会在指定的地方生成一个文件夹,所有的游戏文件都在这个文件夹中。大部分启动器默认生成的文件名称为 `.minecraft`。以 `.` 开头的文件名 / 文件夹名在大多数操作系统上表示隐藏文件,需要通过特殊配置方可查看。

安装游戏前,有些第三方启动器会询问你是否同时安装模组加载器,即 Mod Loader。此时你可以选择安装 Forge、 Fabric或其他受支持的 Mod Loader。
安装游戏前,有些第三方启动器会询问你是否同时安装模组加载器,即 Mod Loader。此时你可以选择安装 Forge、Fabric 或其他受支持的 Mod Loader。

在一切准备就绪以后,登陆上你的微软账号,就可以点击启动了。

Expand All @@ -169,7 +169,7 @@ Minecraft 与其他主机游戏不同,其并没有一键式的安装程序。

整合包是社区作者们通过挑选、组合 Mods,对 Mod 的内容进行修改,制作专属的资源包和数据包并配置好后最终打包发布的游戏版本。

整合包的发布方式有很多,最简单的是整合包作者直接将整个游戏文件夹打包成压缩包进行发布,但这样最终形成的压缩文件会十分庞大,并且会违反 Minecraft 最终用户许可协议EULA,于是社区作者们想到了更聪明的解决方式。
整合包的发布方式有很多,最简单的是整合包作者直接将整个游戏文件夹打包成压缩包进行发布,但这样最终形成的压缩文件会十分庞大,并且会违反 Minecraft 最终用户许可协议 (EULA),于是社区作者们想到了更聪明的解决方式。

将所有 Mod 的版本信息列成一个清单,再将和所有配置文件打包在一起,安装时读取 Mod 列表并下载到版本文件夹中,并将配置文件复制到相应的位置。这就是目前主流的大部分整合包格式的工作原理。譬如 CurseForge 格式、Modrinth 格式、HMCL 格式、MultiMC 格式……

Expand All @@ -179,4 +179,4 @@ Minecraft 与其他主机游戏不同,其并没有一键式的安装程序。

亲爱的读者感谢您阅读到这里,相信您现在对于 Minecraft 已经有了一个大致的了解,赶紧启动 Minecraft 去体验一下方块世界吧!

如果对本文有任何疑问与建议,欢迎在评论区留言或者向我们发送 [GitHub Issue](https://github.com/GlobeMC/crashmc.com/issues) [电子邮件](mailto:[email protected]) 进行讨论。
如果对本文有任何疑问与建议,欢迎在评论区留言或者向我们发送 [GitHub Issue](https://github.com/GlobeMC/crashmc.com/issues)[电子邮件](mailto:[email protected])进行讨论。
2 changes: 1 addition & 1 deletion docs/blog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ date: 2024-06-22 19:11:00

### 文章摘要

出现在第一个 `---` 不包括 Frontmatter之前的部分为文章摘要,将显示在文章列表卡片中。
出现在第一个 `---` (不包括 Frontmatter) 之前的部分为文章摘要,将显示在文章列表卡片中。

### 标题与小标题

Expand Down
2 changes: 1 addition & 1 deletion docs/client/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Minecraft 客户端,是 Minecraft 游戏本身一大组成部分。通俗来说,玩家游玩的 Minecraft 游戏本身就是客户端。

客户端需要使用 `启动器` 启动。有关启动器,可以参考[[basis|基础知识]]
客户端需要使用 `启动器` 启动。有关启动器,可以参考 [[basis|基础知识]]

:::tip
如果您对 Minecraft 有较详细的理解,那么您不必完整阅读。
Expand Down
4 changes: 2 additions & 2 deletions docs/commons.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

解释:JVM 内存溢出,导致游戏崩溃。

解决方案:更新显卡驱动,64 位系统用户请确保使用 64 位 Java ,32 位系统用户请调低你的 Minecraft 使用内存
解决方案:更新显卡驱动,64 位系统用户请确保使用 64 位 Java,32 位系统用户请调低你的 Minecraft 使用内存

显卡驱动下载:[Intel](https://www.intel.cn/content/www/cn/zh/search.html#sort=relevancy&f:@tabfilter=[Downloads]&f:@stm_10385_zh=[%E6%98%BE%E5%8D%A1]) | [AMD](https://www.amd.com/zh-hans/support) | [Nvidia](https://www.nvidia.cn/geforce/drivers/)
显卡驱动下载:[Intel](https://www.intel.cn/content/www/cn/zh/search.html#sort=relevancy&f:@tabfilter=[Downloads]&f:@stm_10385_zh=[%E6%98%BE%E5%8D%A1]) | [AMD](https://www.amd.com/zh-hans/support) | [Nvidia](https://www.nvidia.cn/geforce/drivers/)

64 位 Java 下载:[Java 8](https://cdn.crashmc.com/https://github.com/bell-sw/Liberica/releases/download/8u402%2B7/bellsoft-jre8u402+7-windows-amd64-full.msi) | [JDK 17](https://cdn.crashmc.com/https://github.com/bell-sw/Liberica/releases/download/17.0.10%2B13/bellsoft-jdk17.0.10+13-windows-amd64.msi)

Expand Down
14 changes: 7 additions & 7 deletions docs/contribute/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ editor: bingling-sama

## Step.1 克隆项目

首先 fork [GitHub 仓库](https://github.com/GlobeMC/crashmc.com) 到你名下,然后克隆仓库到本地:
首先 fork [GitHub 仓库](https://github.com/GlobeMC/crashmc.com)到你名下,然后克隆仓库到本地:

```bash
# 推荐使用 SSH
Expand All @@ -34,7 +34,7 @@ git clone https://github.com/{yourname}/crashmc.com.git
在涉及任何站外链接时,请优先添加官方链接,尽量避免不必要的第三方链接。

:::tip 提示
为了方便各位快速建立文档内页面的链接,我们已经为文档添加了双向链接支持。语法可以参考 [语法 | Nólëbase 集成](https://nolebase-integrations.ayaka.io/pages/zh-CN/integrations/markdown-it-bi-directional-links/syntax.html)
为了方便各位快速建立文档内页面的链接,我们已经为文档添加了双向链接支持。语法可以参考[语法 | Nólëbase 集成](https://nolebase-integrations.ayaka.io/pages/zh-CN/integrations/markdown-it-bi-directional-links/syntax.html)
:::

如果某一个解决方案为特定启动器独占功能,我们提供了全局组件来标注它。示例如下:
Expand Down Expand Up @@ -73,31 +73,31 @@ editor: username <!-- GitHub Username -->

### 代码内容

如果您参与了代码内容的修改,~~相信您应该多少懂一些贡献流程,~~ 这里不再过多赘述贡献流程。
如果您参与了代码内容的修改,~~相信您应该多少懂一些贡献流程,~~这里不再过多赘述贡献流程。

要注意的是,在准备 commit 之前,请运行 `docs:check` 任务来检查并格式化代码。

## Step.3 提交更改

在完成内容编写以后,请将您的所有更改 commit 到您的 fork 下,再向 [这里][prbranch] 提交 PR。
在完成内容编写以后,请将您的所有更改 commit 到您的 fork 下,再向[这里][prbranch]提交 PR。

:::warning 重要提醒
请务必将您的更改 PR 到 `dev` barnch,以便我们审查排版及合并冲突。
:::

:::tip Assign
如果您的更改范围为文档相关,请 Assign `@bingling-sama``@xxx``@xxx`一般来说请您按 Suggestion 进行请求即可,这会加快我们对您的代码审查与合并速度。
如果您的更改范围为文档相关,请 Assign `@bingling-sama``@xxx``@xxx` (一般来说请您按 Suggestion 进行请求即可),这会加快我们对您的代码审查与合并速度。
:::

## Step4.剩余流程
## Step4剩余流程

在收到您的 PR 后,我们会尽最快速度审查您的代码,并合并到 `dev` branch。

我们会每周进行一次例行 merge,将所有已完成的更改合并到生产环境 `main` branch,因此请不要将您的更改 PR 到 `main` branch,这会增大我们的代码审查和文档部署工作量。

## 其他提醒

如果要提交博客内容,请参考 [博客主页](https://crashmc.com/blog/) 的贡献指南。
如果要提交博客内容,请参考[博客主页](https://crashmc.com/blog/)的贡献指南。

## 鸣谢

Expand Down
4 changes: 2 additions & 2 deletions docs/server/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ Minecraft 服务端,是 Minecraft 游戏本身一大组成部分。通俗来
| Cuberite | [Cuberite 官方网站](https://cuberite.org/) | FakeTruth,其原始名称为 “MCServer” |
| …… | …… | …… |

注1:这里没有列出 Paper 和 Spigot 的分支服务端。
注 1:这里没有列出 Paper 和 Spigot 的分支服务端。

注2:Cuberite 是基于 C++ 重写的 Minecraft 服务端,该文档不会讨论任何不基于原版 Minecraft 客户端修改而成的服务端,如果你在此类服务端中遇到问题,请向服务端作者反馈。
注 2:Cuberite 是基于 C++ 重写的 Minecraft 服务端,该文档不会讨论任何不基于原版 Minecraft 客户端修改而成的服务端,如果你在此类服务端中遇到问题,请向服务端作者反馈。

### 模组服务端

Expand Down
2 changes: 1 addition & 1 deletion docs/server/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

注:Spigot 和 Paper 及其衍生服务器端的问题也可部分参考该条目

### Bukkit 插件自动更新失败
### Bukkit 插件自动更新失败

解释:部分 Bukkit 插件会在启动时自动更新,但是插件自动更新失败了。

Expand Down
Loading

0 comments on commit 1caccd5

Please sign in to comment.