OneEnoughItem (OEI)
This modification was created to solve the problem of item duplication in modpacks – when there are three types of silver, four kinds of lead, five varieties of tomatoes, or six different types of corn, each with their own crafting recipes.
With OEI, you can easily replace duplicate items with unified representatives for each category.
Typical Situations
17 different types of tomatoes in one modpack
Six types of silver ore in a pack
And they all have independent creation recipes!
Those days are over. With OEI, items are automatically replaced with designated representatives immediately after they appear in the game!
How to Use
The mod works based on datapacks and supports hot reloading. Configure replacements in the data/oei/replacements folder using simple JSON syntax:
[
{
"matchItems": [
"#forge:ore",
"minecraft:potato",
"minecraft:carrot"
],
"resultItems": "minecraft:egg"
}
]
List the identifiers of items to be replaced in the matchItems section, and specify the representative item in resultItems.
Important: Never replace an item with itself – this may cause critical errors!
KubeJS Integration:
ServerEvents.highPriorityData(event => {
event.addJson("oei:replacements/raw_materials.json", [
{
"matchItems": ["#forge:raw_materials/silver"],
"resultItems": "thermal:raw_silver"
}
]);
});
OEI supports replacement by tags. If tag-based replacement requires game reloading, use direct item identifiers instead (likely due to conflicts between mods).
Built-in Editor (version 1.0.3 and above):
Press CTRL+R to open the graphical interface for configuring replacements without writing code!
The editor includes a function for removing duplicate recipes.
Results
OEI replaces items at the earliest stage – not by scanning player inventories.
Example: Replacing all items with eggs instantly transforms the creative inventory:

Recipes are automatically adapted. Here iron ingots → eggs in a furnace recipe:

All recipes are processed automatically, including display in JEI:

Works with trading, achievements, and almost all recipes except hardcoded ones.
Additionally, replacing items with air will completely remove them. However, for compatibility reasons, such changes will not take effect in the creative inventory and JEI display.
Deep Replacement
Activate in settings to extend replacements to item interaction contexts (for example, healing iron golems with eggs after replacing iron ingots).
Use when standard recipe replacement doesn't work for certain mods. Note: Only affects item detection – does not fully inherit the original item functionality.
Development Plans
- Property Removal: Remove properties of replaced items (for example, food properties to exclude them from Spice of Life handbooks). Configurable.
- Tag Inheritance: Make representatives inherit all tags from replaced items.
- Tag Removal: Completely remove tags from replaced items to exclude them from recipes.