# HadEnoughItems (HEI)
HadEnoughItems is an Item and Recipe viewing mod for Minecraft with a focus on stability, performance, and ease of use.
This means (same as JEI of course):
- Just ingredients and recipes
- Clean API for developers
- Not a coremod – no dependencies other than Forge.
New features in HEI:
- Memory optimizations
- Load time optimizations
- Render optimizations
- Autocrafting
- Bookmark and Favoriting of Recipes
- Able to change default fluid containers for when you pick up fluids from the ingredient menu
- Able to fill fluid containers by clicking on fluids in the ingredient menu
- Able to order bookmarks differently
- Consider diacritics when searching
- Removable "Recipe By" tooltip in recipe menu
- More information available in recipe tabs
- Better ordering of recipes in certain contexts
- Better rendering of ingredient amounts to improve clarity
- Bookmark Groups
- Collapsible Groups
Keybinds
All keys below are rebindable under Options => Controls => Had Enough Items (HEI). They only apply while a GUI is open.
Bookmarks and Groups
Point at an ingredient or a recipe and press one of these. Whether you bookmark an ingredient or a recipe is decided by what is under the cursor, not by which key you press — the same key does both.
| Key | Purpose |
|---|---|
A |
Bookmarks the hovered ingredient or recipe to the end of the current bookmark group. |
Shift + A |
Bookmarks the hovered ingredient or recipe to the start of the current bookmark group. |
Ctrl + A |
Bookmarks the hovered ingredient into a new group of its own, at the end. |
Ctrl + Shift + A |
Bookmarks the hovered ingredient into a new group of its own, at the start. |
Pressing any of these keys on something that is already bookmarked, removes it. Bookmarking an ingredient you already have bookmarked elsewhere moves it to whichever end you asked for rather than adding a second copy. Recipes always get a group of their own, so Ctrl makes no difference to them.
The bookmark overlay opens by itself the first time you bookmark something, and closes when you remove the last one.
Bookmark Groups
Point anywhere along a group's rows for these:
| Key | What it does |
|---|---|
Shift + Up |
Moves the group up one place. |
Shift + Down |
Moves the group down one place. |
Shift + C |
Autocrafts a recipe group. Requires autocrafting to be enabled in the config. |
Ctrl + Left Click |
Drags the whole group rather than a single bookmark, which is how you move bookmarks between groups. |
Ctrl + Scroll |
Cycles the amount of the final output of a recipe chain. |
A on the group's coloured tab |
Deletes the whole group. No confirmation, no undo. Restricted to the narrow tab on the left so it can't be hit while aiming at a bookmark. |
Hold Alt while hovering a group to list its actions in the tooltip.
Other
Ctrl + O shows and hides HEI. Show/Hide Bookmarked Ingredients toggles just the bookmark overlay and has no key assigned by default.
For Devs:
Add CleanroomMC's repository and depend on HEI's maven entry:
repositories {
maven {
url 'https://maven.cleanroommc.com'
}
}
dependencies {
implementation 'mezz:jei:4.34.3'
} All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
|
R
4.34.3
|
1d ago | 1 | |||
|
R
4.34.2
|
1d ago | 1 | |||
|
R
4.34.1
|
1d ago | 1 | |||
|
R
4.34.0
|
1d ago | 1 | |||
|
R
4.33.0
|
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 |
- bookmarks**: Press twice to remove a bookmark group *[commit by @Rongmario in 05ad007]*
## Bug Fix
- config**: Mix-up between recipeBookmarksEnabled & autocraftingEnabled *[commit by @Rongmario in e110d8b]*
- reload**: Ensure erroneous plugins aren't removed globally *[commit by @Rongmario in 0ed3bd5]*
- Full Changelog**: https://github.com/CleanroomMC/HadEnoughItems/compare/4.36.0...4.36.1
- History grid from JEI Utilities *[PR by @Rongmario, tttsaurus in #264]*
- reload**: Warn about third-party plugin leaks on reload *[commit by @Rongmario in 318b280]*
## Bug Fix
- bookmark**: Unwrap bookmarks when editing the blacklist in edit mode *[commit by @Rongmario in 173564f]*
- bookmark**: Return the bookmarked ingredient from the bookmark overlay API *[commit by @Rongmario in 5b511c2]*
- [Fixes issue #236 by @Cal-Is-Burning]*
- bookmark**: Disallow dragging when bookmarks are disabled *[commit by @Rongmario in 34c65b3]*
- [Fixes issue #234 by @Circulate233]*
- reload**: Drop stale anvil and brewing caches on reload *[commit by @Rongmario in f8698e1]*
- reload**: Reset the order tracker and string interner on full reload *[commit by @Rongmario in 638b109]*
- reload**: Refresh the reused ingredient filter on recipes-only reload *[commit by @Rongmario in 63f3452]*
- reload**: Build synchronous search indexes on full reload *[commit by @Rongmario in 49f9cee]*
- reload**: Interrupt superseded search tree builds instead of waiting *[commit by @Rongmario in 1c85d9f]*
- reload**: Finish the search tree build on full reload *[commit by @Rongmario in 01aaa04]*
- reload**: Let the recipe search thread time out when idle *[commit by @Rongmario in 67b6947]*
- reload**: Delete ingredient grid framebuffers when the runtime is replaced *[commit by @Rongmario in 91e1f3f]*
- reload**: Clear stale filter listeners on recipes-only reload *[commit by @Rongmario in dc02c36]*
- reload**: Unregister previous EnchantedBookCache on reload *[commit by @Rongmario in d04f890]*
## Refactor
- ghost**: Pass the raw ingredient under the mouse to ghost dragging *[commit by @Rongmario in 2a325c0]*
- bookmark**: Redirect bookmark focuses and unwraps through the helper *[commit by @Rongmario in fb0497a]*
- Full Changelog**: https://github.com/CleanroomMC/HadEnoughItems/compare/4.35.1...4.36.0
- Improve Russian translations for JEI tooltips *[PR by @GitNell in #254]*
- Implement Config button position settings *[PR by @atferrys in #262]*
- Add border to pinned tooltip *[PR by @ZZZank in #257]*
- Remove amount limit when creating GuiIngredient *[PR by @ZZZank in #256]*
- api**: Expose "recipe by:" id tooltip callback *[PR by @jbredwards in #258]*
## Bug Fix
- Tooltip preview for GuiIngredients bigger than 16*16 *[PR by @ZZZank in #260]*
## Other
- Revert "Close #2951 Update recipe transfer handlers every tick" *[PR by @ZZZank in #261]*
- [Fixes issue #2951]*
## First-time Contributors
- @GitNell made their first contribution!**
- @atferrys made their first contribution!**
- @jbredwards made their first contribution!**
- @github-actions[bot] made their first contribution!**
- Full Changelog**: https://github.com/CleanroomMC/HadEnoughItems/compare/4.35.0...4.35.1
- Conventions *[commit by @Rongmario in 977ed05]*
## Other
- Cherrypick some commits from JEI *[PR by @ZZZank, Rongmario, mezz in #243]*
- [Fixes issue #2890]*
- [Fixes issue #2790]*
- [Fixes issue #3009]*
- [Fixes issue #2951]*
- [Fixes issue #3894]*
- [Fixes issue #4227]*
- Bookmark recipe only when not bookmarking ingredient *[PR by @ZZZank in #249]*
- API for adding autocrafting support for legacy mods *[PR by @ZZZank in #252]*
- Ingredient tooltip *[PR by @ZZZank in #251]*
- Add scroll bar to
IngredientInfoRecipe*[PR by @ZZZank in #248]* - Fix texture trim handling *[PR by @ZZZank in #247]*
- Fixes #237, restored compatibility with AE2FC + forks' class transformations *[commit by @Rongmario in 0b571da]*
- [Fixes issue #237 by @bartoszkiljanski]*
- Resolves #235 *[commit by @Rongmario in d60fcb5]*
- [Fixes issue #235 by @Circulate233]*
- Fixes #245 *[commit by @Rongmario in 2c7753d]*
- [Fixes issue #245 by @FunkyPotao]*
- Fixes #242 *[commit by @Rongmario in 3198b05]*
- [Fixes issue #242 by @FlashyGuitar603]*
- Full Changelog**: https://github.com/CleanroomMC/HadEnoughItems/compare/4.34.3...4.35.0
- Compatibility with More Overlays
- Autocrafting sometimes crashing when creating recipe layout
### Changed
- Play animation for every item in a recipe bookmark when it is added
- Crashes when recipes wrappers that have outputs as inputs are being favourited
- Null ingredients being compared when it should short-circuit
IIngredientBlacklistmodification rebuilding the ingredient filter on every call- Resource Hogs issue, disables
asyncSearchTreeBuilding
- New API to allow ghost ingredient handler targets to be aware of the mouse's current position
holdToDragGhostIngredientsconfiguration to allow actual dragging of ingredients, defaulted off- Positional insertion when dragging ingredients into bookmark groups
### Fixed
- Issues with ingredients not being able to be dragged to the bookmark grid
- Issues with dragging from the bookmark panel
- Atlas bleed shown in certain cases when arrows are being drawn
- Better keybind selection for adding bookmarks
- Allow mods to expose a slot's ingredient type through providers (thanks @romanfedyniak!)
- New search index system, powered by mezz's new library
- Search index replacement API
- Animation when adding bookmark ingredients
- Ability to disable categories through config
### Fixed
- Dedicated servers not able to run when autocrafting
- HEI keybinds were being activated when the text field was focused
- Collapsible groups affecting previous/next buttons, making them act weird
- Previous/next buttons now abide
hideOnSinglePage, enabled only when there are adjacent pages (thanks @default-dx!) - Allow previous/next page buttons to wrap on navigating when it isn't 1/1
- Avoid consuming scroll event if mouse is in exclusion area (thanks @ZZZank!)
- Token related issues
- Blacklisting issues when they are added/removed at runtime
### Changed
- Rewritten autocrafting and bookmarking
- Initialize the bookmark menu only when there are bookmarks present
- Move to the most logical page when adding/removing bookmarks
- Improve navigation layout around GUI exclusion areas (thanks @Circulate233!)
- Fix wrong lang keys used for category prev/next (thanks to @WaitingIdly!)
- Fix race conditions with recipe wrappers casting to the wrong classes
- Fixes brittle rendering exception handling when it comes to items like Forestry's crates
- Optimizes AnvilRecipe storage, from upstream JEI (thanks to @jchung01!)
- Search recipe in both favourited and bookmarked recipes (thanks to @ZZZank!)
- Fixed cyclical bookmarked recipes straight up crashing the client
- Autocrafting Fixes
- Supports reusable items (items with container/durability)
- Stopped crafting items when they already exist in the crafting grid
- Fixed enable mode for search filters, regression from an earlier HEI version (thanks @Goldenlion5648!)
- Fixed erroneous upload in 4.31.1 that introduced a performance anomaly
- Utilize cached ingredients for faster and more optimized recipe searching. NOTE: This may make some ingredients unsearchable, as the ingredient has to exist in the ingredient (right-hand-side panel)
- Allow recipes to be searched on a different thread, for the GUI not to freeze during typing
- Ungrab search on update (thanks @Goldenlion5648 + @WaitingIdly!)
- Optimized performance regarding nodes of search trees
- Added the category's unique id to its tooltip when advanced tooltips is turned on (thanks @WaitingIdly!)
- Fixed regression regarding NBT differentiated ItemStacks in certain scenarios (thanks @Rsslone!)
- Updated Simplified Chinese lang files (thanks @ZHAY10086!)
- Allow SHIFT+Scroll Wheel to go to previous/next recipe categories (thanks @Goldenlion5648!)
- Implemented recipe searching & filtering (thanks @WaitingIdly!)
- Kept bookmarked collapsible groups persistent when searching
- Fixed rendering issues on collapsed group (thanks @Rsslone!)
- Made collapsible groups colourable (thanks @WaitingIdly!)
- Added keybinds for switching recipe categories (thanks @WaitingIdly!)
- Fixed info recipe ingredients (thanks @WaitingIdly!)
- Fixed collapsible group's orderings and explicit searching (thanks @Rsslone!)
- Fixed recipe category headers regression (thanks @WaitingIdly!)
- Fixed collapsible group special tooltips not rendering when it is a bookmark
- Fixed "toggle groups" not working as expected
- Differentiate between default and modded collapsible groups
- Rollback on caching baked models, erroneously pushed upstream
- Fixed collapsible groups related keybinds not working when enacted in the bookmark panel
- Fixed collapsible groups not being saved and loaded in correctly as a bookmark
- Fixed under/overdraw of bookmark borders (Thanks @Rsslone!)
- Fixed lang key not being translated (Thanks @Rsslone!)
- Fixed wildcard selection when editing collapsible groups
- Update Simplified Chinese localization (thanks to @ZHAY10086!)
- Collapsible Groups (thanks to @Rsslone!)
- MODDERS BEWARE! API may change before bumping from beta => release!
- Default collapsible groups are:
- Enchanted Books
- Potions
- Splash Potions
- Lingering Potions
- Tipped Arrows
- Spawn Eggs
RecipeUtilfor developers that want to quick-search recipes (client-side)- Updated Chinese (zh_CN) translations (thanks to @ZHAY10086!)
- Fixed infinite loop in certain cases when trying to paginate the bookmark panel (thanks to @Circulate233 and @Monniasza!)
- Add ability to re-order bookmark groups (thanks to @kacperoo29!)
- Add hotkey to add recipes to bookmarks (thanks to @kacperoo29!)
- Fixed overlay toggle working when text fields are in focus (such as chat), #164
- Only remove deprecated search category entries when config version is older than 0.3.0
- Fixed slowed reloading due to search category always being modified, #167
- Fixed broken autocrafting on servers by running item tracker on the server-side, #166
- Optimized payload for the autocrafting network packet
- Allow using Keypad ENTER to give up focus (Thanks IntegerLimit!)
- Fix fluid rendering in bookmarks (Thanks IntegerLimit!)
- Fix netty native memory leak (Thanks movblock!)
- Improve Group Organization Tooltips
- Stop Craftable Ingredients Map Transferring State Across Loads
- This update was made possible by @IntegerLimit & @WaitingIdly!
- Draw previous/next buttons in right contexts
- Give bookmark panel same arrow/text behaviour as the ingredient panel
- Fixed erroneous rendering on labels that should be hidden
- Show recipe IDs only when shift is pressed in advanced tooltips mode
- Added configuration to remove bookmarks button
- Only draw bookmarks button when bookmarks are present
- Draw page count and no arrows when there is only a singular page for both left and right panels
- Re-locate bookmarks button and arrows for bookmarks panel, to align with screen and not items, same as ingredients panel on the right
- Removed potential memory leak when paginating
- Rebuild search trees when changing any of the search options in the config
- Fixed potential crash when a mod is trying to mixin into the tooltip renderer
- Backwards compatibility with older bookmark formats
- Fixed search bar not giving up focus properly with keys
- Fixed duplicate mod names in bookmark grid tooltips when mod name tooltips is installed
- Fixed backwards compatibility with AE2
- Fixed new UI buttons being off
- Fixed an erroneous lang key
- Added backwards compatibility with older PacketRecipeTransfer ctors (Found in Astral Sorcery)
- Added icon to mod list
- Fixes positional issues on tooltips in the bookmark grid
- Fixed a divide by 0 error in certain mod contexts
- Fixed a NPE with FTBQuests' erroneous plugin
- Fixed UIs looking odd, supplemented extra API to deal with this
- Fixed unsupported ingredients from populating bookmarks
- Decoupled ItemStack count rendering, now used on bookmarks, the count is now formatted and positioned properly
- Fixed up some lang entries
- Fixed items in bookmark tooltips from being rendered in an erroneous position
- Fix a ConcurrentModificationException
- Fix buffering ingredients not working for the bookmark grid
- Fixed memory issues pertaining bookmark groups
- Fixed occasional bookmarking crash
- Fixed rare NBT recursive stackoverflow errors when certain ItemStacks are being hashed
- Fixed incompatibility with few mods (such as Modular Machinery Community Edition) using removed bookmark methods, when these deprecated methods are called, logs will indicate warnings
- Eliminate unnecessary and duplicated code
- Lifted performance in some critical hot areas