Minecraft Loot Table Generator
Create custom loot tables for Minecraft datapacks with pools, entries, functions, and conditions
Loot Table Type
Select the type of loot table you want to create
Pools
Pool 1(1 entry)
Generated JSON
{
"type": "minecraft:chest",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:diamond"
}
]
}
]
}Usage Instructions
1. Save the JSON as a .json file
2. Place in your datapack: data/namespace/loot_tables/
3. Reference with: /loot give @p loot namespace:filename
File Structure:
datapack/
-- pack.mcmeta
-- data/
-- mynamespace/
-- loot_tables/
-- my_loot.jsonHow to Use the Minecraft Loot Table Generator
Loot tables define what items drop from mobs, chests, fishing, and block breaking in Minecraft. They are JSON files used in datapacks to customize item drops with weighted randomization, conditional logic, and item modifications. Our generator creates valid loot table JSON that you can drop directly into your datapack.
Step 1: Choose a Loot Table Type
Select the type that matches your use case: Chest for container loot (dungeons, temples, end cities), Entity for mob drops, Block for block mining drops, Fishing for fishing rewards, or Generic for general-purpose tables used with the /loot command.
Step 2: Configure Pools and Entries
Each pool represents a group of possible items. Set rolls to determine how many items are selected from the pool (use min/max for random ranges). Add entries with different weights to control drop rarity -- higher weight means more common. Use empty entries to represent "nothing drops" outcomes.
Step 3: Add Functions and Conditions
Functions modify the dropped items: set_count changes quantity, enchant_randomly adds enchantments, and set_name gives custom names. Conditions control when items drop: random_chance for percentage-based drops and killed_by_player to require player kills for rare drops.
Frequently Asked Questions
Where do I put loot table files in my datapack?
Loot table JSON files go in data/<namespace>/loot_tables/ inside your datapack folder. The namespace is your custom identifier (e.g., 'mypack'). The file path determines the loot table ID: data/mypack/loot_tables/custom_chest.json becomes mypack:custom_chest.
How does the weight system work for loot table entries?
Weight determines the relative probability of each entry being selected. If Pool 1 has a diamond (weight 1) and stone (weight 9), diamonds have a 10% chance and stone has 90%. Add an 'empty' entry with high weight to make all items rarer overall.
Can I override vanilla Minecraft loot tables?
Yes! Name your loot table file to match the vanilla path. For example, to change zombie drops, save your file as data/minecraft/loot_tables/entities/zombie.json. Your datapack's loot table will replace the vanilla one entirely.
What is the difference between pool conditions and entry conditions?
Pool conditions determine whether the entire pool is evaluated. If a pool condition fails, none of its entries drop. Entry conditions only affect that specific item. Use pool conditions for global requirements (like killed_by_player) and entry conditions for item-specific chances.
Related Minecraft Tools
Use Custom Loot Tables on Your Server
Deploy custom datapacks with unique loot tables on your own Minecraft server. Full file access, automatic backups, and instant datapack reloading included.
View Hosting Plans