AnvilLib
AnvilLib 是一个由 Anvil Dev 开发的 NeoForge 模组库,为 Minecraft 模组开发者提供一系列实用的工具和框架。
特性
AnvilLib 采用模块化设计,包含以下功能模块:
| 模块 | 说明 |
|---|---|
| Config | 基于注解的配置系统 |
| Codec | 数据编解码与网络序列化工具 |
| Integration | 模组兼容性集成框架 |
| Network | 网络通信与数据包自动注册框架 |
| Recipe | 世界内配方系统 |
| Moveable Entity Block | 可被活塞推动的方块实体支持 |
| Multiblock | 动态多方块系统 |
| Registrum | 简化的注册系统 |
| Util | 可共享的工具方法 |
| Wheel | 轮盘菜单客户端 API |
| Rendering | 功能不多的渲染库 |
| Sync | 声明式字段同步系统 |
| Font | SDF 字体渲染系统 |
| Collision | AABB/三角形 SAT 碰撞检测 |
| Space Select | 可视化空间选区系统 |
| Main | 聚合模块(包含全部子模块) |
| 版本差分 | 版本间 API 变更与迁移指南 |
依赖引入
Gradle
groovy
repositories {
mavenCentral() // 本项目已经上传至 Maven Central
maven { url = "https://server.cjsah.net:1002/maven/" } // 如果你有使用最新构建的需求
// 如果你需要使用的模块中包含接口注入,由于 NeoForge 对 MavenCentral 的镜像不完整,你需要按以下格式添加
exclusiveContent {
forRepositories(
// 以下二选一
mavenCentral()
maven { // Anvil Lib
name = "Cjsah Maven"
url = "https://server.cjsah.net:1002/maven/"
}
)
filter {
includeGroup "dev.anvilcraft.lib"
}
}
}
dependencies {
// 完整库
implementation "dev.anvilcraft.lib:anvillib-neoforge-26.1:2.0.0"
// 或按需引入单独模块
implementation "dev.anvilcraft.lib:anvillib-config-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-codec-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-integration-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-moveable-entity-block-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-multiblock-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-network-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-recipe-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-registrum-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-util-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-wheel-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-rendering-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-sync-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-font-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-collision-neoforge-26.1:2.0.0"
implementation "dev.anvilcraft.lib:anvillib-space-select-neoforge-26.1:2.0.0"
}kotlin
repositories {
mavenCentral() // 本项目已经上传至 Maven Central
maven { url = "https://server.cjsah.net:1002/maven/" } // 如果你有使用最新构建的需求
}
dependencies {
implementation("dev.anvilcraft.lib:anvillib-neoforge-26.1:2.0.0")
// 按需引入示例
implementation("dev.anvilcraft.lib:anvillib-config-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-codec-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-integration-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-moveable-entity-block-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-multiblock-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-network-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-recipe-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-registrum-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-util-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-wheel-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-rendering-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-sync-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-font-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-collision-neoforge-26.1:2.0.0")
implementation("dev.anvilcraft.lib:anvillib-space-select-neoforge-26.1:2.0.0")
}TIP
版本号建议与项目发布版本保持一致(当前工程配置为 mod_version=2.0.0)。
构建项目
bash
# 克隆仓库
git clone https://github.com/Anvil-Dev/AnvilLib.git
cd AnvilLib
# macOS / Linux 构建
./gradlew build
# Windows PowerShell / CMD 构建
gradlew.bat build许可证
本项目采用 MIT License 许可证。
Registrum 模块部分代码基于 Registrate,遵循 Mozilla Public License 2.0。
作者
- Gugle - 主要开发者
- 秋水AuU_ - 多方块、Util、Network 模块贡献者
- 竹若泠 - Rendering 模块贡献者
- LouisQuepierts - Rendering 模块贡献者
- MercuryGryph - Wheel 模块贡献者