简介
OneEnoughItem
本模组开发的初衷是解决物品辞典重复的问题,三种银四种铅五种番茄六种玉米,还各自有着不同的配方。
使用OEI,可以便捷地将重复物品替换为唯一指定代表物品。
典型案例
整合包里有17种番茄
整合包中里六种银矿石
而且,他们还有着各自独立的配方!
如今,那样的日子一去不复返了,有了OEI,你可以在物品刚创建时就将其替换为唯一指定代表物品!
使用方式
OEI由数据包驱动,支持热重载,路径data/oei/replacements,你可以通过下面的写法实现非常简单的物品替换:
[
{
"matchItems": [
"#forge:ore",
"minecraft:potato",
"minecraft:carrot"
],
"resultItems": "minecraft:egg"
}
]
将需要替换的物品id写进一个"matchItems"列表,再将唯一指定代表物品填在"resultItems"字段,即可在游戏中实现自动替换。
切记:请不要让物品自己替换自己,这极有可能引起bug!
在KubeJS中使用:
ServerEvents.highPriorityData(event => {
event.addJson("oei:replacements/raw_materials.json", [
{
"matchItems":
[
"#forge:raw_materials/silver"
],
"resultItems": "thermal:raw_silver"
}
]);
});
OEI支持标签匹配,如在标签匹配功能的过程中,出现需重载游戏才能使替换效果生效的情况,请考虑使用原始物品id替换,这很可能是和其它模组冲突导致的。
使用内置编辑器:
从1.0.3版本开始,OEI内置替换规则编辑器,默认按下CTRL+R即可打开UI,体验无需大脑的零代码编辑体验!
替换规则编辑器中附带了配方去重功能,使用方式请查询官方说明。
使用效果
OEI的物品替换并不是实时检测玩家身上的物品再进行替换,而是发生在非常非常初始的阶段。
有多初始呢?
举个例子,我将整个游戏中的物品都替换成了鸡蛋,那么打开创造模式物品栏就会看见这一幕:
是的,从诞生的时刻起,这些物品就不再是原来的自己了!
由此延伸,物品相应的配方也会发生替换,例如这里将铁锭替换成了鸡蛋:
是的,对于所有物品配方都是自动生效的。
并且,在与JEI等配方管理器同时使用时,JEI中展示的配方也会相应地变化:
可以说,只要是JEI所支持的配方,都可以完全自动替换!例如交易或成就。
就算不支持,在游戏中注册过的配方,只要不是非常特殊的硬编码形式,也可以正常实现替换。
此外,将物品替换为空气即可彻底移除该物品,但出于兼容性考虑,在创造模式物品栏和 JEI 中,此种改动并不会生效。
深度替换
如果在配置文件中开启了深度替换选项,与物品互动相关的使用场景也可以实现替换,如在将铁锭替换为鸡蛋后,使用鸡蛋为铁傀儡回复生命。
在使用个别独特模组的过程中,如果发现有配方无法正常替换,也可以尝试打开此功能。
该功能仅针对物品检测,无法完全继承原物品自身的功能。
未来计划
支持抹除被移除物品的物品属性,目前已支持抹除被替换物品的食物属性,使其不会出现在生活调味料系列的食物手册上,该功能可在配置文件中关闭。
支持继承被替换物品的全部标签。
支持删除被替换物品的全部标签,使其彻底从配方中消失。