Polymorph is a mod that solves recipe conflicts by letting players choose between all potential outputs shared by the same ingredients.
With a sufficiently large amount of mods, recipe conflicts are a common occurrence and the responsibility for resolving these usually falls on the user or modpack developer, using datapacks or other tools to ensure that each recipe is unique.
Polymorph offers an alternative solution, allowing all possible crafting and smelting recipes to co-exist regardless of conflicts.
Features
Crafting

When a group of ingredients matches more than one recipe, a button will appear above the output slot. Pushing this button will show a list of all possible results and selecting one will change the crafting output to match. Polymorph will also remember the last selection as long as the ingredients don't change, so repeated crafting actions are possible on the same selection.
Smelting

When a valid input matches more than one output, a button will appear above the output slot. Pushing this button will show a list of all possible results with the currently selected result highlighted in green. Selecting one of the listed results will change the smelting output to match. This selection will be saved to the block itself and persist across world loading and unloading.
Smithing

Exactly like the crafting screen, a button will appear above the output slot when a valid input matches more than one output. Upon selection, the output will change to match.
Commands
To assist identifying potential conflicts, there's a command /polymorph conflicts that will try to identify recipes
that conflict with each other and outputs a list of them to your logs folder. Currently, the command will scan crafting,
smelting, blasting, smoking, and smithing recipes.
Affiliates
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 |
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.20.x/CHANGELOG.md).
## [0.49.11+1.20.1] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#339](https://github.com/illusivesoulworks/polymorph/pull/338)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.20.x/CHANGELOG.md).
## [0.49.11+1.20.1] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#339](https://github.com/illusivesoulworks/polymorph/pull/338)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.19.x/CHANGELOG.md).
## [0.46.7+1.19.2] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#340](https://github.com/illusivesoulworks/polymorph/pull/340)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.19.x/CHANGELOG.md).
## [0.46.7+1.19.2] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#340](https://github.com/illusivesoulworks/polymorph/pull/340)
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to the format [MCVERSION-MAJORMOD.MAJORAPI.MINOR.PATCH](https://mcforge.readthedocs.io/en/1.15.x/conventions/versioning/).
## [1.18.2-0.51] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#342](https://github.com/illusivesoulworks/polymorph/pull/342)
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.0.25-1.18.2] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#342](https://github.com/illusivesoulworks/polymorph/pull/342)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.2.0+1.21.1] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#338](https://github.com/illusivesoulworks/polymorph/pull/338)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.2.0+1.21.1] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#338](https://github.com/illusivesoulworks/polymorph/pull/338)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.2.0+1.21.1] - 2026.09.09
### Changed
- Updated JEI compatibility to remove mixins and use the new recipe transfer listener API (thanks mezz!) [#338](https://github.com/illusivesoulworks/polymorph/pull/338)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.1.0+1.21.1] - 2025.07.21
### Changed
- Retooled block entity registration for recipe data to accommodate for Fabric components
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.1.0+1.21.1] - 2025.07.21
### Changed
- Retooled block entity registration for recipe data to accommodate for Fabric components
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.1.0+1.21.1] - 2025.07.21
### Changed
- Retooled block entity registration for recipe data to accommodate for Fabric components
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.10+1.21.1] - 2025.04.22
### Fixed
- Fixed more potential concurrency issues
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.10+1.21.1] - 2025.04.22
### Fixed
- Fixed more potential concurrency issues
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.10+1.21.1] - 2025.04.22
### Fixed
- Fixed more potential concurrency issues
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.20.x/CHANGELOG.md).
## [0.49.10+1.20.1] - 2025.04.22
### Fixed
- Fixed potential concurrency crashes [#310](https://github.com/illusivesoulworks/polymorph/issues/310)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.20.x/CHANGELOG.md).
## [0.49.10+1.20.1] - 2025.04.22
### Fixed
- Fixed potential concurrency crashes [#310](https://github.com/illusivesoulworks/polymorph/issues/310)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.9+1.21.1] - 2025.04.13
### Fixed
- Fixed potential concurrency crashes
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.9+1.21.1] - 2025.04.13
### Fixed
- Fixed potential concurrency crashes
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.9+1.21.1] - 2025.04.13
### Fixed
- Fixed potential concurrency crashes
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.20.x/CHANGELOG.md).
## [0.49.9+1.20.1] - 2025.03.31
### Fixed
- Fixed potential NPE crashes [#299](https://github.com/illusivesoulworks/polymorph/issues/299) [#307](https://github.com/illusivesoulworks/polymorph/issues/307)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.20.x/CHANGELOG.md).
## [0.49.9+1.20.1] - 2025.03.31
### Fixed
- Fixed potential NPE crashes [#299](https://github.com/illusivesoulworks/polymorph/issues/299) [#307](https://github.com/illusivesoulworks/polymorph/issues/307)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.8+1.21.1] - 2025.03.31
### Added
- Added
de_de,de_at, andde_chlocalizations [#296](https://github.com/illusivesoulworks/polymorph/pull/296)
- Fixed potential NPE crashes
- Fixed erroneous block entities being added to recipe checks [#298](https://github.com/illusivesoulworks/polymorph/issues/298)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.8+1.21.1] - 2025.03.31
### Added
- Added
de_de,de_at, andde_chlocalizations [#296](https://github.com/illusivesoulworks/polymorph/pull/296)
- Fixed potential NPE crashes
- Fixed erroneous block entities being added to recipe checks [#298](https://github.com/illusivesoulworks/polymorph/issues/298)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.8+1.21.1] - 2025.03.31
### Added
- Added
de_de,de_at, andde_chlocalizations [#296](https://github.com/illusivesoulworks/polymorph/pull/296)
- Fixed potential NPE crashes
- Fixed erroneous block entities being added to recipe checks [#298](https://github.com/illusivesoulworks/polymorph/issues/298)
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.7+1.21.1] - 2024.12.15
### Changed
- Updated
zh_cnlocalization [#289](https://github.com/illusivesoulworks/polymorph/pull/289)
- Fixed differentiation of certain modded recipe item outputs
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.7+1.21.1] - 2024.12.15
### Changed
- Updated
zh_cnlocalization [#289](https://github.com/illusivesoulworks/polymorph/pull/289)
- Fixed differentiation of certain modded recipe item outputs
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.21.x/CHANGELOG.md).
## [1.0.7+1.21.1] - 2024.12.15
### Changed
- Updated
zh_cnlocalization [#289](https://github.com/illusivesoulworks/polymorph/pull/289)
- Fixed differentiation of certain modded recipe item outputs
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.20.x/CHANGELOG.md).
## [0.49.8+1.20.1] - 2024.12.15
### Fixed
- Fixed differentiation of certain modded recipe item outputs
This is a copy of the changelog for the most recent version. For the full version history, go [here](https://github.com/illusivesoulworks/polymorph/blob/1.20.x/CHANGELOG.md).
## [0.49.8+1.20.1] - 2024.12.15
### Fixed
- Fixed differentiation of certain modded recipe item outputs
