
Caerula Arbor作物兼容性
使深蓝之树作物与标准Minecraft作物自动化兼容,同时保留其原始行为。
Caerula Arbor 作物兼容
这是一个面向 Minecraft 1.20.1 (Forge) 上 Caerula Arbor 的轻量级兼容附加组件。
它让六种 Caerula Arbor 植物暴露标准的 Minecraft 作物接口(原版 CropBlock 契约),以便通用的作物收割机、自动化模组以及其他标准农业集成能够识别它们。它主要依赖标准作物接口和标签,并针对 Harvest With Ease 9.4.0 提供了一个小型可选兼容补丁,因为该模组的作物年龄查找假设存在一个字面名为 age 的属性。其他已经支持原版作物的模组应能通过正常的作物接口和标签识别这些植物。
变更内容
以下 Caerula Arbor 植物被暴露为标准作物。它们原有的 blockstate 属性仍是唯一的成熟度属性 (0..N);桥接层的 getAgeProperty() 返回的正是该属性,而 getMaxAge() 从该属性的可能值中推导出其最大值。
- Viviparous Lily
- Nethersea Potato
- Nethersea Wheat
- Ocean Peduncle
- Ocean Cell
- Fake Egg
该附加组件保留了 Caerula Arbor 的生长、骨粉、掉落物、种植物品、形状、碰撞、光照、寻路和踩踏行为。它不复制或覆盖 Caerula Arbor 的战利品表或 blockstate/model JSON。
作物条目
作物语义在实例文件 config/caerula_crop_compat/crops.json 中配置。首次运行时会以当前 Caerula Arbor 默认值创建六个条目。每个条目都是自包含的:
{
"crops": [
{
"block": "caerula_arbor:planted_cell",
"seed": "caerula_arbor:ocean_cell",
"age_property": "blockstate",
"max_age": -1,
"crop_tag": true,
"seed_tag": true,
"enabled": true
}
]
}
向 crops 追加另一个对象即可添加条目。max_age: -1 会从属性的可能值中推导最大值;非负值本身必须是这些可能值之一。无效的 ID、属性和范围会发出警告并被跳过。
条目不会动态转换任意类。六个内置的 Caerula Arbor 类由 coremod 进行转换,并通过 CaerulaCropBlock 桥接层使用每个配置字段。一个已经是 CropBlock 的额外方块可以通过兼容查找使用 age_property,并可以参与生成的标签,但本模组不会覆盖该方块自身的 getMaxAge() 或种子方法。非 CropBlock 不会被转换;其有效的标签设置会保留并发出警告,但仅仅添加一个 JSON 条目并不会使其获得标准 CropBlock 自动化。
enabled 标志控制本模组的配置语义和生成的标签。将其设为 false 不会撤销对六个内置 Caerula Arbor 类的启动时超类转换,也不会将这些类变回普通的 Block 类。
| 能力 | 内置 Caerula 桥接 | 现有用户 CropBlock |
用户非 CropBlock |
|---|---|---|---|
age_property / HWE 查找 |
由桥接层使用 | 由兼容查找使用 | 不使用 |
max_age |
由 CaerulaCropBlock 使用 |
不覆盖该方块 | 不使用 |
seed |
由桥接层使用 | 不覆盖该方块 | 不使用 |
crop_tag / seed_tag |
生成 | 生成 | 生成 |
enabled |
禁用配置查找和标签;不撤销转换 | 禁用此条目的查找和标签 | 禁用此条目的标签 |
minecraft:crops 和 forge:seeds 标签由一个基于已启用条目生成的小型服务器数据包提供。该数据包在启动时重新生成,并且对 Forge 1.20.1 是安全的;编辑文件并重启实例以应用更改。
需求
- Minecraft 1.20.1
- Forge 47.x
- Caerula Arbor 0.12.4 或更新版本
在客户端和服务器上都安装(它会更改方块状态和服务器端行为)。
兼容性
已在 Caerula Arbor 0.12.6 上测试。允许加载 0.12.4 及更新版本,但在测试之前无法保证与未来 Caerula Arbor 更新的兼容性。
此附加组件通过 Forge coremod 转换器在启动时重写六个内部 Caerula Arbor 作物类。在将 Block 替换为兼容的 CropBlock 桥接层之前,它会检查每个原始超类和构造函数调用。如果未来的 Caerula Arbor 更新改变了该结构,加载会显式失败,而不是静默地产生不兼容的行为。
致谢
Caerula Arbor 由 Apocalypse 及贡献者创建。
本项目是一个非官方兼容附加组件,与 Caerula Arbor 开发者无关联,也未获得其认可。
许可证
GNU General Public License v3.0。参见 LICENSE。
Caerula Arbor 在 GPL-3.0 下分发。本项目在相同许可证下发布。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。