
True Favorite Items
True Favorite Items lets you lock your most important items so you never accidentally throw them away, die with them, or lose them in crafting! Perfect for protecting your enchanted diamond gear, totems of undying, or any item you can't afford to lose.
Links
Tags
Creators
Details
2.0.0-1.21.x
Compatibility
Changes
Left Alt hotkey toggle — Now properly opens/closes the favorites menu from anywhere
Intelligent menu closing — Pressing Left Alt closes menus layer-by-layer instead of all at once
Left Alt works in inventory — Can now open favorites menu while any inventory screen is open
Config screen toggle — Left Alt now properly closes the config screen when it's open
Curio Lock setting moved — "Keep favorited Curios/Trinkets locked in creative mode" moved to Settings → Config → Curios/Trinkets section
Slot pop sound spam fix — Added 50ms cooldown to prevent sound spam when placing multiple items rapidly
Renamed Effects to Slot Pop Effect
Fixed Creative Slot Sound Spam
Fixed Server Client/Server Issue
Fixed when typing in chat or chatbox it will no longer be conflicting with hotkey
Server/client compatibility — Confirmed mod requires both client and server (displayTest = "MATCH_VERSION")
Added New creative favorite system, bit of a work in progress but will soon save items in a custom favorited items tab, press v over any item as you would favorite items
Ported to Fabric 1.21.x and Possible Quilt Support Later on Fixed Scrollbars Fixed Sliderbuttons Integrated a new menu api
Bug Causing Menu to not close properly: Removed the reflection-based OPEN_CONFIG_KEY handler from keyPressed(). That code was detecting Left Alt via keyPressed event and calling onClose() immediately after the menu opened. Root cause found: There was a ScreenEvent.KeyPressed.Post handler that was ALSO processing the config key. When you pressed Left Alt:
onClientTick detected it → opened the menu onKeyPressed event fired for the inventory screen → matched OPEN_CONFIG_KEY → closed the menu immediately Fix: Added an early return in onKeyPressed to skip Left Alt entirely, since onClientTick handles it with proper edge detection.
Added resolveContainerScreen(Screen) — walks the getPreviousScreen() chain (up to 8 layers) to find the inventory underneath any stack of mod menus
onKeyPressed now uses it instead of the hardcoded 2-screen instanceof chain — V works from any menu screen (Sounds, Colors, Protection, Admin, etc.)
Creative mode path also uses the resolver, so bookmarking creative tab items works while a menu is open
Bounce animation + particles now spawn on the resolved inventory screen
Fabric (FavoriteItemsClientFabric.java)
Added same resolveContainerScreen helper
AFTER_INIT registration now also registers key handlers on menu screens — any screen with an inventory in its previousScreen chain gets onScreenKeyPress/onScreenKeyRelease onScreenKeyPress resolves the container screen through the menu chain — hoveredSlot stays updated because menus render the inventory each frame
Result Menu open: hover an inventory slot → press V → item toggles favorite (sound, icon, particles all fire) Menu closed: unchanged behavior in inventory/hotbar Works through nested menus (e.g., Sounds screen opened from the main menu)
All of these fixes also go for fabric as well. Alot of bug fixes.
Duck.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:pD1s9hUR:6793m5qU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pD1s9hUR:6793m5qU"
}
