Lootables
Simple Data-Driven Loot API that add a more featureful loot system. Reward players with anything, not just items, and supply loot randomly or with a choice-based GUI.
Easy Table Creation
With a straightforward and well-documented Lootable Table json format, easily create and use your loot.
- Reuse pools! Lootable pools have their own IDs, so can be referenced by that ID in multiple tables.
- Add to and overwrite tables and pools. A frustration with loot tables is the inability to change content without overwriting the whole table. Lootable Tables are composed during loading like Tags. Add to an existing table, overwrite one pool in a table, even change one field in one pool in one table.
- See the Wiki for details.
Diverse Rewards
Current reward types include
- A Single Item
- Roll a Loot Pool
- Roll a Loot Table
- Grant Player XP
- Heal the Player
- Attribute boost, temporary or permanent
- Status effect buff
- Grant an advancement
- Apply item modifiers to player-equipped items
- Custom pool types defined and registered in-code
- Mix and match pools as you see fit
- Intricate weighting system for carefully defining loot chances
Loot Choice GUI
Vanilla loot always rolls randomly. Lootables adds a loot-choice system like TFT augments, Slay the Spire deck upgrades, etc.

How to Install Lootables (Mod)
Lootables by fzzyhmstrs is verified for Fabric, Neoforge across Minecraft versions 1.21, 1.21.1 (latest release: 0.2.0+1.21.1+neoforge, file size: 675 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.21, 1.21.1) and platform (Fabric, Neoforge).
- Make sure you have the compatible loader or environment installed for Fabric, Neoforge.
- Move the downloaded Lootables file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version### Additions
- Multiloader now! Fabric and Neoforge 1.21.1 currently supported.
- new
commandlootable pool. Runs the command provided with op level 2 - Add a
descto your lootable pools that use this, otherwise the players won't know what the command does! - New
resetKeymethods inLootablsApi. These reset a specificIdKey, allowing player(s) to start rolling tables keyed to that id again. - Added
LootablesDataProviderfor generating Lootables data with datagen - This is currently untested! If you have any issues with it before I have a chance to get testing done myself, let me know and I'll get a patch out.
### Changes
- the
lootablescommand now has akeyedoption, allowing for command-built keyed tables - Keyed tables can only be rolled by specific players a certain number of times
LootablesDatahas been made internal, as it should have been
### Fixes
- Don't "offer" empty choice pools to a player (which resulted in a blank screen with no way to make a choice)
### Additions
- Multiloader now! Fabric and Neoforge 1.21.1 currently supported.
- new
commandlootable pool. Runs the command provided with op level 2 - Add a
descto your lootable pools that use this, otherwise the players won't know what the command does! - New
resetKeymethods inLootablsApi. These reset a specificIdKey, allowing player(s) to start rolling tables keyed to that id again. - Added
LootablesDataProviderfor generating Lootables data with datagen - This is currently untested! If you have any issues with it before I have a chance to get testing done myself, let me know and I'll get a patch out.
### Changes
- the
lootablescommand now has akeyedoption, allowing for command-built keyed tables - Keyed tables can only be rolled by specific players a certain number of times
LootablesDatahas been made internal, as it should have been
### Fixes
- Don't "offer" empty choice pools to a player (which resulted in a blank screen with no way to make a choice)
### Additions
- Added new
LoadertoLootableItem.LootableDatafor compositional loading as needed.
### Changes
- None.
### Fixes
- None.
### Additions
- Added
canApplyKeymethod toLootablesApi. This method will check if the player provided can apply the given key, before attempting to roll loot.
### Changes
- Elevated the
CODECandPACKET_CODECofLootableItem.LootableDatato public for use in codec construction outside of Lootables.
### Fixes
- None.
### Additions
- Added
ConfigLootableNumberfor interaction with config values in Lootable Tables
### Changes
- None.
### Fixes
- Fix choice tiles not syncing properly to joining players.
- Fix config not having translations.
- None.
### Changes
- Lootable tables now reload (async) on /reload. Previously they only loaded on server start.
- Sync data now supports player-specific client data
### Fixes
- Fix loot table entries not loading properly.
- Pool loot entries properly display their fallback description.
- Fix potential sync issue on quit and rejoin thanks to stale registry references.


