This article provides ready-to-use examples of datapack files to add or override entity loot information in Araxer's Bestiary.
See āDatapacks: Basicsā and āBestiary entity loot formatā for background. Below are complete trees and JSONs you can copy.
Example A: Supplement zombie loot (no override)
Goal: Add a clarifying note and a custom supplemental item for minecraft:zombie without disabling normal loot table integration.
Folder tree:
Araxers-Bestiary-Examples/
- pack.mcmeta
- data/
- my_pack/
- bestiary/
- minecraft/
- zombie.json
- minecraft/
- bestiary/
- my_pack/
pack.mcmeta:
{"pack": {"pack_format": 15,"description": "Araxer's Bestiary examples"}}
zombie.json (data/my_pack/bestiary/minecraft/zombie.json):
{"lootOverride": false,"loot": [{"item": "minecraft:rotten_flesh","displayName": "(common)","dropChance": -1},{"item": "minecraft:iron_ingot","displayName": "(very rare)","dropChance": -1},{"item": "minecraft:copper_ingot","displayName": "(custom supplement)","dropChance": 0.05}]}
Explanation:
- lootOverride is false, so Bestiary combines loot table results with your entries. The copper ingot will appear if itās not already in the loot table result list.
- dropChance -1 means āunknownā. Bestiary may refine unknown chances later via loot table sampling.
Example B: Full override for the Warden
Goal: Replace the displayed loot of minecraft:warden completely with a custom set. Useful for modpacks that redefine boss drops.
Files:
- data/my_pack/bestiary/minecraft/warden.json
warden.json:
{"lootOverride": true,"loot": [{"item": "minecraft:echo_shard","displayNameKey": "bestiary.note.boss","dropChance": 0.3},{"item": "minecraft:sculk_catalyst","displayName": "(from custom datapack)","dropChance": 0.15}]}
Optional language file to support displayNameKey (client resource pack or mod):
assets/my_pack/lang/en_us.json
{"bestiary.note.boss": "(boss reward)"}
Example C: Modded entity (supplement)
Goal: Add a note and an extra item to a modded entity. Replace some_mod:feral_beast with a real mod/entity id in your setup.
Files:
- data/my_pack/bestiary/some_mod/feral_beast.json
feral_beast.json:
{"loot": [{"item": "minecraft:bone","displayName": "(pack-specific)","dropChance": -1},{"item": "some_mod:beast_fang","displayName": "(custom)","dropChance": 0.25}]}
Notes:
- Omit lootOverride to keep combination behavior. If you set any entryās override to true, or set lootOverride to true, the entire entity becomes override-only.
- Ensure items and the target entity actually exist in your modpack; unknown ids are ignored and logged.
Testing your datapack
- Place the datapack in the world/datapacks folder (or server datapacks).
- Run /reload.
- Open the Bestiary and find the entity page; look at the Loot section.
- Check logs for lines like āLoaded bestiary loot data for ⦠entitiesā and āUsing datapack override ā¦ā.