One Enough Item (OEI) заменяет одинаковые по назначению предметы разных модов выбранным представителем. Например, несколько видов серебряных материалов в сборке можно свести к одному, согласовав рецепты и использование.
Как работают замены
Замена выполняется на ранней стадии создания предметов, без постоянного сканирования инвентарей игроков. Обрабатываются рецепты, их отображение в JEI, торговля и достижения; жёстко заданная логика отдельных модов может не поддерживаться. Замена на воздух удаляет предмет. Для совместимости это не применяется к его отображению в творческом инвентаре и JEI.


Правила датапака
Файлы правил располагаются в data/oei/replacements. Поддерживается горячая перезагрузка. Пример структуры:
[
{
"matchItems": ["#forge:ore", "minecraft:potato", "minecraft:carrot"],
"resultItems": "minecraft:egg"
}
]
В matchItems задаются идентификаторы или теги исходных предметов, в resultItems — предмет-представитель. Пример показывает синтаксис, а не рекомендуемую настройку баланса. Не заменяйте предмет самим собой: автор предупреждает о критических ошибках.
Интеграция с KubeJS
ServerEvents.highPriorityData(event => {
event.addJson("oei:replacements/raw_materials.json", [
{
"matchItems": ["#forge:raw_materials/silver"],
"resultItems": "thermal:raw_silver"
}
]);
});
Если замены по тегам из-за конфликтов требуют перезапуска игры, автор предлагает использовать точные идентификаторы предметов.
