FootLib

FootLib

这是我所有模组共享的类和API

基础库

FootLib

FootLib 是 Foot 系列模组所使用的 API 与实用工具库。 它提供以下共享系统:

  1. 货币定义(开发中)

  2. 汇率系统(开发中)

  3. 这也是我所有模组的共享 API(开发中)

版本控制

FootLib 使用四段式版本控制系统:

Overhaul.Major.Semi-major.Patch/Hotfix/Minor-tag

示例: 0.0.1.0 → Semi-major 更新(第三位为 1)

各段含义

  • Overhaul 破坏向后兼容性。 Overhaul 并不意味着大更新,而是意味着从此版本起不再有向后兼容性。

  • Major 新系统、新机制或重大扩展。

  • Semi-major 重要的内容或系统新增。 属于不破坏先前 API 的大型次要更新。

  • Patch / Hotfix / Minor 小型更新、错误修复、微型功能或紧急修复。

预发布标签

-tag 可选标签很多,因此我来展示本项目所使用的标签:

  • release:稳定构建,可以放心地作为依赖使用。
  • beta:对 -alpha 代码的发布候选/验证版本。
  • alpha:半稳定的实验性构建。 以下标签由于其不稳定性,仅在 GitHub 上提供:
  • nightly:不稳定的实验性构建。
  • dev:开发分支。

重要说明

一次 Overhaul(1.x.x.x、2.x.x.x 等)会终止对所有先前 Foot 模组的支持。

这就是 FootLib 不使用 SemVer 的原因——SemVer 无法表达重大更新与破坏所有依赖的 overhaul 更新之间的区别。 FootLib 的版本控制让不兼容的原因变得明确。 别担心,本模组仍在持续更新并添加新功能,我只是恰好还有很多其他项目在考虑中,所以把它们完成才是关键

使用方法 Maven 仓库

repositories {
    maven { url = "https://api.modrinth.com/maven" }
}

Gradle(Groovy)

dependencies {
    implementation("maven.modrinth:footlib:${footlib_version}")
}

neoforge.mods.toml

[[dependencies.${mod_id}]]
    modId="footlib"
    type="required"
    versionRange="[min_version, max_version)"
    ordering="NONE"
    side="BOTH"
#Put an actual version in min_version and max_version

给那些想要依赖本模组的人的专业提示:

  1. 在设置 neoforge.mods.toml 时,通常你会希望将 versionRange 设为 [0.0.0.1, 1.0.0.0) 或 [1.0.0.0, 2.0.0.0),如果你需要非 overhaul 版本中的某个功能,可以这样做:[0.2.5.4, 1.0.0.0)
  2. 除非你绝对确定多个 overhaul 版本都能正常工作,否则只以候选中最新的那一个为目标。