What are you searching for?

One Enough Item

One Enough Item

With OEI, you can effortlessly replace duplicate items with a single designated representative item.

download 328.5K Downloads · favorite 47 Followers · Updated 1 month ago
Fabric Forge Neoforge 1.17 1.17.1 1.18 1.18.1 1.18.2 +21 more

Versions

inventory_2
One Enough Item 1.0.6

1.0.6 · 1 month ago · 256.35 KB

Release download
Neoforge 1.21.1
inventory_2
One Enough Item 1.0.6-jech

1.0.6-jech · 2 months ago · 256.51 KB

Release download
Forge 1.20.1 1.20.2 1.20.3
inventory_2
One Enough Item 1.0.6

1.0.6 · 3 months ago · 255.78 KB

Release download
Forge 1.20.1 1.20.2 1.20.3
inventory_2
One Enough Item 1.0.5.1

1.0.5.1 · 5 months ago · 294.79 KB

Release download
Forge 1.20.1
inventory_2
One Enough Item 1.0.5.1

1.0.5.1 · 5 months ago · 294.05 KB

Release download
Neoforge 1.21.1

About

OneEnoughItem (OEI)

This mod was developed to resolve the issue of duplicated item dictionaries in modpacks – three types of silver, four types of lead, five types of tomatoes, six types of corn – each with distinct recipes.

With OEI, you can effortlessly replace duplicate items with unique designated representatives.

Typical Cases

e7b458ea
17 types of tomatoes in a modpack

304e2a74
Six types of silver ore in a modpack

All with independent recipes!

Those days are now over. With OEI, items are replaced with their designated representatives immediately upon creation!

Usage

OEI is datapack-driven and supports hot reloading. Configure replacements at data/oei/replacements using this simple syntax:

[
    {
        "matchItems": [
            "#forge:ore",
            "minecraft:potato",
            "minecraft:carrot"
        ],
        "resultItems": "minecraft:egg"
    }
]

List item IDs to replace under matchItems, and specify the designated representative in resultItems.

Warning: Never replace an item with itself – this may cause critical bugs!

KubeJS Integration:

ServerEvents.highPriorityData(event => {
    event.addJson("oei:replacements/raw_materials.json", [
        {
            "matchItems": ["#forge:raw_materials/silver"],
            "resultItems": "thermal:raw_silver"
        }
    ]);
});

OEI supports tag matching. If tag-based replacements require game reloads, use raw item IDs instead (likely due to mod conflicts).

Built-in Editor (v1.0.3+):
Press CTRL+R to open the GUI editor for codeless replacement configuration!
The editor includes recipe deduplication – see official documentation.

Effects

OEI replaces items at the earliest possible stage – not by scanning player inventories.

Example: Replacing all items with eggs instantly transforms the creative inventory:
CreativeModeTabs

Recipes automatically adapt. Here, iron ingots → eggs in a furnace recipe:
Crafting

All recipes are automatically processed, including JEI displays:
JEI

Works with trades, advancements, and nearly all non-hardcoded recipes.

Additionally, replacing items with air will completely remove them. However, for compatibility reasons, such changes will not take effect in the Creative Mode inventory or JEI displays.

Deep Replacement

Enable in config to extend replacements to item interaction contexts (e.g., healing iron golems with eggs after replacing iron ingots).

Use when standard recipe replacement fails for specific mods.
Note: Only affects item detection – does not fully inherit original item functionality.

Roadmap

  • Properties Stripping: Remove properties of replaced items (e.g., food properties to exclude them from Spice of Life handbooks). Configurable.
  • Tag Inheritance: Make representatives inherit all tags from replaced items.
  • Tag Removal: Completely strip tags from replaced items to eliminate them from recipes.
open_in_new View on Modrinth
Compatibility
Client: Required Server: Required
gavel GPL-3.0-only

Conversation

What are your thoughts?

lock Cookie consent

SkinMC uses cookies to provide functionality and features.