Files
Shiroha/README.md
T

46 lines
2.7 KiB
Markdown
Raw Normal View History

2026-07-24 22:07:50 +08:00
# Shiroha
2026-08-12 23:41:07 +08:00
![License](https://img.shields.io/badge/License-GPL--3.0-blue)
![MC](https://img.shields.io/badge/Minecraft-26.2-green)
![Upstream](https://img.shields.io/badge/Upstream-Folia-orange)
2026-07-24 22:07:50 +08:00
2026-08-12 23:41:07 +08:00
Shiroha 是 [Folia](https://github.com/PaperMC/Folia) 的一个分支。Folia 是基于 Paper 的多线程 Minecraft 服务端,Shiroha 在其基础上跟进最新 Minecraft 版本(当前为 26.2,见 `gradle.properties`),做一些修正、性能优化和配置化的功能扩展。
2026-07-24 22:07:50 +08:00
2026-08-12 23:41:07 +08:00
本项目为半闭源项目,以本仓库内的内容为准。
## 构建
需要 Java 25+(构建工具链见 `build.gradle.kts`)。
2026-07-24 22:07:50 +08:00
```bash
2026-08-01 21:20:52 +08:00
./gradlew applyAllPatches
2026-07-24 22:07:50 +08:00
./gradlew createPaperclipJar
```
2026-08-12 23:41:07 +08:00
产物为 paperclip jar,位于 `shiroha-server/build/libs/`。构建任务基于 paperweight-patcher,其余任务可通过 `./gradlew tasks` 查看。
2026-07-24 22:07:50 +08:00
2026-08-12 23:41:07 +08:00
## 功能
2026-07-24 22:07:50 +08:00
2026-08-12 23:41:07 +08:00
功能大多带有配置开关,配置项定义集中在 `shiroha-server/src/main/java/io/nanachiyo0721/shiroha/config/modules/`,各项的说明直接写在配置文件的注释中,建议以生成出的配置文件和源码注释为准。
具体改动以 patch 文件为准:
- `shiroha-server/minecraft-patches/features/` — 对 Minecraft 源码的改动
- `shiroha-server/paper-patches/features/` — 对上游 Paper 的改动
- `shiroha-api/paper-patches/features/` — API 侧改动
主要类别:
- **修正**:Folia 相关的线程与区域化问题、传送与末影珍珠、地狱门 ticket、实体同步等,对应文件名前缀多为 `Fix-*` / `Correct-*`
- **优化**:包含部分来自 Leaf、Gale、Purpur、Pufferfish、Lithium 等项目的移植与改写,对应 patch 文件名带有来源前缀;移植的准确性建议对照 patch 内容与原项目确认。
- **配置系统**:自研的注解式配置框架(`shiroha-server/src/main/java/io/nanachiyo0721/shiroha/config/`),支持热重载与基于 dialog 的图形化配置界面,由 `/shirohaconfig` 命令操作(`shiroha-server/src/main/java/io/nanachiyo0721/shiroha/commands/config/`)。
2026-08-13 11:05:32 +08:00
- **存档格式**:除原版 `.mca` 外支持 `b_linear`(带缓冲刷写的 Linear)区域格式(`shiroha-server/src/main/java/io/nanachiyo0721/shiroha/enums/EnumRegionFormat.java`)。
2026-08-12 23:41:07 +08:00
- **状态栏**:TPS、内存、区域信息状态栏,由 `/bar` 命令与配置控制(`shiroha-server/src/main/java/io/nanachiyo0721/shiroha/functions/bars/`)。
- **其他**:实体唤醒时长、实体数量限制(Kaiiju)、传送门速率限制、CPU 亲和性等,详见对应 patch 与配置模块。
以上列表不保证完整,未列出的改动请自行查阅 patch 目录。
## 许可
本项目按 [GPL-3.0](LICENSE) 许可。其中从其他项目移植的代码,其归属与许可情况见各 patch 文件内的说明。