Description
Key Items adds a dedicated 27-slot Key Items pouch that allows players to store and use utility items, consumables, and accessories via hotkeys without taking up space in the vanilla hotbar or main inventory.
Features
- 27-Slot Persistent Pouch: A separate inventory accessed via keybind or a key button inside the player inventory. Items in the pouch are preserved through death.
- Quick-Use Hotkeys: The first 9 slots can be activated directly via hotkeys:
- Instant Use: Throw Ender Pearls, splash potions, or place blocks directly where you're aiming.
- Continuous Actions: Hold to block with Shields, charge Bows, or eat Food.
- Crossbows: Hold to load an arrow; tap while loaded to fire immediately.
- Curios Compatibility: Accessories placed in the pouch provide their passive effects and attribute modifiers (e.g. max health, speed, magnets). All Curios items are not designated as key items by default.
- Universal Totem of Undying: Any vanilla or modded totem in the pouch will trigger upon fatal damage.
- Ammo Supply: Bows and crossbows automatically draw arrows or fireworks stored in the pouch.
- Sidebar HUD: A compact, semi-transparent on-screen overlay displays the 9 active slots, durability bars, cooldown sweeps, and stack counts.
- Custom Tooltips: Items display a yellow ★ Key Item tag, or a purple ✦ Eternal Key Item tag if configured for infinite use.
Configuration
The mod generates a configuration file at config/keyitems-common.toml. It allows you to:
- Enable or disable global item acceptance (allow_all_by_default).
- Whitelist specific item IDs allowed into the pouch (allowed_items).Designate items that never lose durability or stack count (infinite_items).
All keybindings (default K to open, Numpad 1–9 to activate slots) can be customized in the vanilla Controls menu.
Datapack & KubeJS Support
Modpack creators can configure Key Items using item tags:
- #keyitems:allowed — Items allowed into the pouch.
- #keyitems:infinite — Items that bypass durability loss and consumption.
KubeJS Example (kubejs/server_scripts/keyitems.js):
ServerEvents.tags('item', event => {
event.add('keyitems:allowed', [ 'minecraft:ender_pearl', 'minecraft:shield', '#c:tools', '#curios:curio' ])
event.add('keyitems:infinite', [ 'minecraft:shield', 'minecraft:arrow' ])
})
Datapack Example (data/keyitems/tags/item/allowed.json):
{
"replace": false,
"values": [ "minecraft:ender_pearl", "minecraft:shield", "#curios:curio" ]
}






