
外部覆盖模型库
Minecraft 物品图标的渲染时分层。将额外精灵叠加到任意物品的图标上——由资源包和物品属性驱动,无需编写任何代码。
eoml — 外部覆盖模型库
Minecraft 物品图标的渲染时分层。 在任意物品的图标之上叠加额外精灵图——由资源包和物品属性驱动,无需编写任何代码。 跨加载器库,支持 1.20.1(Forge)、1.21.1(NeoForge) 和 26.1.2(NeoForge)。
这是一个库,不是内容模组。 单独安装它不会改变任何东西。 它是资源包和模组的依赖项,用于实现分层物品图标。 请参阅"功能"部分,了解可直接复制粘贴使用的示例。
功能
为任意物品添加一个额外的图标层,仅当条件为真时显示。
// assets/mymod/eoml/layers/runeblade.json — 直接将其放入资源包即可
{
"targets": ["mymod:runeblade", "#minecraft:swords"],
"layers": [
{ "sprite": "mymod:runes/base_glow" },
{ "sprite": "mymod:runes/drawn_crown",
"when": { "type": "eoml:item_property", "property": "minecraft:pull", "min": 0.65 } },
{ "sprite": "mymod:runes/cracked",
"when": { "type": "eoml:variable_range", "name": "property:minecraft:damage", "min": 0.5 } }
]
}
图层是累积的——列表顺序即绘制顺序。每个图层可以携带自己的条件,条件可以通过 all_of / any_of / none_of 组合。
以上就是全部功能。无需 Java,无需数据包,无需服务端安装。
特性
| 图层规则 | 在任意物品图标上添加任意额外图层,条件控制,支持多层 |
| 图案装饰 | 接管原版盔甲纹饰图案,为其提供自己的精灵图层,可按槽位 / 材质 / 基础模型扩展 |
| 物品覆盖 | 基于谓词的模型切换(assets/<ns>/overrides/item/) |
| 模型覆盖 | 将外部模型 JSON 提供给原版自己的模型加载器 |
| 插件 API | 其他模组可以注册自己的变量和条件类型;eoml 将图层系统作为通用扩展平台对外暴露 |
内置条件: always、variable_equals、variable_range、item_property(原版和模组物品属性)、item_in、all_of / any_of / none_of。
内置变量: 物品 id、任意物品标签,以及任意原版/模组物品属性——因此资源包已经可以基于耐久、堆叠数量、拉弓进度、纹饰材质等来门控图层。
支持的版本
| Minecraft | 加载器 | 状态 |
|---|---|---|
| 1.20.1 | Forge 47.x | ✅ |
| 1.21.1 | NeoForge 21.1.x | ✅ |
| 26.1.2 | NeoForge 26.1.x | ✅ |
相同的规则 JSON 在三个版本上均可使用。 唯一因版本而异的部分是 property:——例如 minecraft:pulling 存在于 1.20.1 / 1.21.1,但在 26.1.2 上不存在,该版本改用弩/拉弓轴。
客户端 / 服务器
实际上仅客户端可用。 所有数据都从资源栈读取,因此定义位于客户端,并且可在原版服务器上运行——无需服务端安装,无需数据包。模组本身会在两侧加载,在专用服务器上是安全的。
整合包
你可以自由地将 eoml 包含在任何整合包中。无需授权。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。