World datapacks sit in the world's datapacks folder and are referenced as file/<folder or zip name>. Keep the .zip extension for zipped packs. Quotes are added automatically when the name needs them.
Plain enable places the pack at its default priority. Changes apply instantly, no restart needed.
Run the command from chat or the server console. /datapack needs cheats enabled in singleplayer or permission level 2 (operator) on a server; datapack create needs the owners level. If a freshly added pack does not show up under list available, run /reload to rescan the datapacks folder.
/datapack enables, disables and lists the data packs loaded in your world without leaving the game. It needs cheats enabled in singleplayer or operator permissions (level 2) on a server, and every change applies instantly with no restart.
Data packs live in the datapacks folder inside your world folder, either as a loose folder or as a zip file. In commands, a world pack is referenced as file/<name>, where the name is the exact folder or zip file name, including the .zip extension. Because the slash is not allowed in an unquoted command string, that whole name has to be wrapped in double quotes: /datapack enable "file/my_pack".
Enabling a pack triggers a data reload on the spot, so its loot tables, recipes, advancements and functions start working immediately. Disabling is just as safe: the pack is deactivated but its files stay where they are, ready to be enabled again.
The create subcommand is the one exception to the permission rule: it builds a brand new pack in the world's datapacks folder from an id and a description, and it requires the owners permission level (the server console or the highest operator level) rather than level 2.
Every form of the command, exactly as the game parses it. <name> and <existing> are pack names (quoted when they contain a slash, space or other special character); <id> is a plain string and <description> is a JSON text component, usually just a quoted string.
Copy any of these straight into chat or a server console and swap in your own pack names:
Check what is installed: enabled packs print first, in load order, then the available ones.
Turn on a world datapack stored in the datapacks folder as more_mob_heads.
Enable a zipped pack at the lowest priority so every other pack can override it.
Slot server_utils into the load order directly after anti_creeper_grief.
Deactivate the pack but keep its files so it can be re-enabled later.
Create a new data pack with an id and description (owners permission level).
When two enabled packs change the same file, for example the same loot table, recipe or function tag, the pack that loads later wins. That makes the order shown by /datapack list enabled matter: it is the load order, from first (lowest priority) to last (highest priority). The built-in vanilla pack normally sits at the bottom, which is why any pack you add can override vanilla data.
The order keywords on /datapack enable control that placement at enable time. first makes a pack the base layer everything else can override; last puts it on top so it overrides everything; before and after slot it directly next to a specific pack that is already enabled, which is the reliable way to resolve a conflict between two packs that touch the same data.
If you are unsure, plain enable is fine for most packs. Reach for the order keywords when a pack documents that it must load before or after another one, or when you can see one pack's changes being swallowed by another.
Run /datapack enable "file/<pack name>" where <pack name> is the folder or zip file name inside your world's datapacks folder. Keep the .zip extension for zipped packs, for example /datapack enable "file/my_pack.zip". The pack loads immediately; no restart is needed.
Pack names follow brigadier string rules: only letters, numbers and the characters _ . + - are allowed without quotes. World pack names start with file/, and the slash forces double quotes, so /datapack enable "file/my_pack" works while the unquoted version is a syntax error. The generator adds the quotes automatically when a name needs them.
No. Enabling or disabling a pack with /datapack reloads pack data by itself. Use /reload when you edit files inside an already enabled pack, or when a pack you just dropped into the datapacks folder does not show up under /datapack list available yet.
They set where the pack sits in the load order. Packs that load later override earlier packs when both change the same file. first loads the pack before all others (lowest priority), last loads it after all others (highest priority), and before or after place it directly next to another enabled pack.
Run /datapack list to print every pack, /datapack list enabled for the active packs in their load order, or /datapack list available for packs that are installed in the datapacks folder but currently turned off.
No. Disabling only deactivates the pack; its files stay in the world's datapacks folder and it keeps showing under /datapack list available. Run /datapack enable with the same name to turn it back on at any time.
Making your own pack? Generate its pack.mcmeta, or browse more Minecraft tools: