This article explains how to create and load datapack entries that Araxer's Bestiary reads to show and/or override loot information for entities. If you are new to datapacks, start here and then continue to the detailed format reference.
Note: At the moment, Araxer's Bestiary reads datapack JSON files only for entity loot definitions. Other data (spawn info, attributes, etc.) is discovered automatically from the game and is not currently configurable via datapacks.
What is a datapack?
A datapack is a folder or zip archive containing data resources for Minecraft. They can be installed per-world (recommended while developing) or in the global datapacks folder on a server. Datapacks can add, change, or inform systems about data like loot tables, tags, structures—and in our case, Bestiary loot metadata.
Useful commands while developing:
- /reload — Reloads datapacks without restarting the game/server.
- F3+T — Reloads client resources (textures, languages). Not required for Bestiary loot, but useful if you add translation keys.
Folder layout for Bestiary
Araxer's Bestiary scans for JSON files under the bestiary folder in datapacks.
Place files using this pattern:
data/<your_datapack_namespace>/bestiary/<entity_namespace>/<entity_path>.json
The Bestiary will map that path to the entity id:
<entity_namespace>:<entity_path>
Examples:
- data/my_pack/bestiary/minecraft/zombie.json → entity minecraft:zombie
- data/my_pack/bestiary/minecraft/warden.json → entity minecraft:warden
- data/my_pack/bestiary/some_mod/feral_beast.json → entity some_mod:feral_beast
Important:
<your_datapack_namespace>is your pack’s own namespace (the first folder under data/). You can choose any valid namespace string, e.g., my_pack.<entity_namespace>must match the namespace of the target entity. For vanilla mobs, this is minecraft. For modded mobs, use that mod’s id.<entity_path>is the path part of the entity id (e.g., zombie).
Minimal datapack skeleton
Create a folder named Araxers-Bestiary-Examples (or zip it later). Inside it, create these files and folders:
- pack.mcmeta
- data/
- my_pack/
- bestiary/
- minecraft/
- zombie.json
- minecraft/
- bestiary/
- my_pack/
pack.mcmeta example:
{"pack": {"pack_format": 15,"description": "Example datapack for Araxer's Bestiary"}}
The pack_format must be compatible with your Minecraft version. For 1.20.1, pack_format 15 is appropriate.
Next steps:
- See the “Bestiary entity loot format” article for the JSON schema and field explanations.
- See the “Examples” article for ready-to-copy full examples.
- See “Troubleshooting & Tools” for common pitfalls and how to debug.