Repository navigation
Recipe Selector
Applies to Utility Nexus QoL 1.1.3 for Minecraft 1.21.1 (NeoForge).
Two different crafting recipes can match the same ingredients and produce different results. This is common in a modded pack — one mod adds a recipe using an ingredient another mod also uses, or two mods each add their own interpretation of a combination.
Vanilla resolves this silently: it picks one, you get an item you did not ask for, and there is no indication that an alternative existed. You put your materials in and something else comes out.
A small swap-arrows button appears above the result slot in:
- the crafting table, and
- the 2×2 inventory grid.
Click it and a panel of result icons opens. Pick one, and:
- it previews the result before you commit, and
- then really crafts it.
Your choice is remembered for the session and synced to the server, so it does not need re-picking, and so the client and server agree on what is being made.
Enabled by default. Disable it with:
# config/utility_nexus/qol/recipe-select.toml
[recipeSelect]
enabled = falseRecipe conflicts are hard to detect generically, because mods disagree about what "the same ingredients" means. This mod therefore handles two mods specially:
| Mod | Behaviour |
|---|---|
| Polymorph | Steps aside. Polymorph ships its own recipe-conflict selector for vanilla crafting screens, so this mod suppresses its duplicate overlay there — otherwise you would get two competing buttons over the same result slot. |
| Tom's Storage |
Adds coverage. TomsStorageRecipeSelectorAdapter plus MixinCraftingTerminalBlockEntity make the selector appear in Tom's Storage crafting terminals, which are not vanilla crafting menus. |
Both are optional, and the two relationships are opposites: with Polymorph you get someone else's selector instead of this one, with Tom's Storage you get this one where it would otherwise be absent.
If you are reading the source, the interesting parts:
| Class | Role |
|---|---|
MixinCraftingMenu |
Detects conflicts and adds the button. |
MixinCraftingTerminalBlockEntity |
Same, for Tom's Storage crafting terminals. |
ServerRecipePreferences |
Server-side storage of the session preferences, synced to clients. |
RecipeSelectorScreenAdapter / RecipeSelectorScreens
|
The result panel and its UI. |
RecipeSelectNetwork |
Client/server packets. |
PolymorphCompat |
Detects Polymorph and suppresses this mod's button where Polymorph's own selector already appears. |
- It does not add recipes. It chooses between recipes that already exist.
- It does not persist your choice across restarts. Session-only, by design — a preference that silently rewrites what your materials turn into is not something you want to forget you set.
- It does not resolve conflicts in non-crafting containers beyond the ones it explicitly integrates. A mod with a bespoke crafting GUI you have not heard of will not be covered.
Conflict detection runs when a crafting container is open. It is bounded by the number of recipes matching the current grid contents, which in a heavily modded pack can be noticeable in a container with very many recipes. If the selector feels sluggish in one specific container, that is the reason.
No cost when no crafting screen is open.
Utility Nexus QoL is by Stalking Dragons, released under the MIT License. Waystones, Polymorph and Tom's Storage retain full credit for their own work. Not affiliated with or endorsed by them.