API 包声明
基本信息
| 属性 | 值 |
|---|---|
| 文件 | src/main/java/mytown/api/package-info.java |
| 内容 | 包级 @API 注解(全文 3 行) |
| 启用版本 | Minecraft 1.7.10 |
内容
@cpw.mods.fml.common.API(owner = "MyTown", apiVersion = "1.0", provides = "MyTown|API")
package mytown.api;
| 字段 | 值 |
|---|---|
owner |
MyTown |
apiVersion |
1.0 |
provides |
`MyTown |
实现要点
⚠️ provides 与 owner 都写 MyTown,不带 2,而 modid 是 MyTown2。
本 mod 内共有 3 处这种「MyTown vs MyTown2」不一致:
| 位置 | 值 |
|---|---|
本文件 provides / owner |
MyTown|API / MyTown |
| SellSign 告示牌 ID | MyTown:SellSign |
| modid(Constants) | MyTown2 |
三者指向同一个 mod,但字符串不同。写条目时不能把告示牌 ID 或 API 名写成 MyTown2:*。
⚠️ apiVersion = "1.0" 是 API 版本,与 mod 版本
(Constants 的 VERSION = GRADLETOKEN_VERSION)无关。
后者是构建期占位符,拿不到真实值。
覆盖范围
该注解作用于整个 mytown.api 包,即:
⚠️ api 包内不含任何 Block / Item / Entity 注册 ——
本 mod 唯一的注册内容(MyTown:SellSign)在
mytown.entities.signs.SellSign,不在 API 包内。