promotional bannermobile promotional banner

Data Packs Helper

Applies data (advancement, loot table, etc.) across saves and in newly created worlds.
To make your life easier, use the navigation above to jump to different sections.

Introduction

This mod is meant to be customize the advancements (including functions) and loot tables that come with vanilla Minecraft and mods. It can customize any other mod that add different content to the game, even ones without built-in loot tables or advancements. Skip to the story part for the cause.

Try the data packs helper!

Some custom data configuration for general purposes (i.e. not bound to a specific map) can be found online. Feel free to comment here if you find other custom data and would like liach to add an instruction.

One of the best example is the Blaze and Cave's Advancement Pack.

Blaze and Cave's Advancement Pack Instructions

Download the advancements pack for Minecraft 1.12 from mediafire. Put the zip file in the datapacks folder referred in the Usage section. Load the game, create a new world, and enter it. You will find the advancements from the pack loaded. Enjoy this advancement pack and its rich rewards!

Note: The game might log error that advancements with namespace minecraft cannot load. This is totally intended because the pack is removing vanilla advancements.

Features

  • Load vanilla-format data across saves, including advancements, loot tables, and functions
  • Load from different "data packs" (details see usage part) with priorities
  • Command to manage data packs

The Story

While vanilla Minecraft already offer ways to customize data, those data are not persistent across saves or worlds on the client. Each time you create a new world and want to apply the custom data, you must paste them into the data folder in the world save folder after you've created and entered the world. Even though you can paste later, the break in custom data at initial world load would break the congruence of gameplay. This even stays true for vanilla data packs introduced in Minecraft 1.13. From the usages section of data packs on the Minecraft wiki:

Data packs can be placed in the .minecraft/saves/(world)/datapacks folder of a world. Each data pack is either a sub-folder or a .zip file within the datapacks folder. After it is in the folder, a data pack will be enabled for that world. 

This excerpt indicates that custom data are only for each world, unlike mods or mod config that are applied across saves.

This creates such an inconvenience for players, modders, and pack makers alike so that only those distributing worlds saves (most of the time, map makers) could fully utilize the vanilla data system. As a result, the data packs helper mod is born to help the majority of the users.

Usage

After your first run with data packs helper installed, a folder named datapacks will appear in your game folder (where mods and configs folders are). You can also create the folder on your own. The datapacks folder is where you are going to arrange your data files (in the vanilla-based JSON and mcfunction formats, same as those used by modders) in the folder structure specified by vanilla Minecraft 1.13 data packs (Note: only advancements, loot_tables, and functions folders are applicable given they are the only types of data that exist on Minecraft 1.12) for the data packs helper mod to load. A few alternative structures exist and are available on the GitHub wiki.

For individual packs, if you have a folder-based pack named mypack, its contents should be in datapacks/mypack folder, so on. In the directory, you must include a pack.mcmeta file (can be empty) for the data packs helper to identify the pack. A functional pack.mcmeta file can have a description string tag in the pack tag in the root tag, looking like this:

{
  "pack": {
"description": "<replace with your description>"
  }
}

Otherwise, the pack.mcmeta file would only indicate the presence pack without providing a description. Zip forms do not require pack.mcmeta files and can be simply dropped in the datapacks folder.

All data, like items, blocks, textures, are identified by a resource location consisting of a namespace (domain) and a path, formatted as namespace:path in text. The namespace, used to prevent unintentional conflicts or overrides, should only contain lowercase alphanumerical characters, -, _, and .. For example, Minecraft reserves the namespace minecraft, while mods use their mod ID as their namespace for the blocks, advancements, etc. they add to the game.

See technical details below for more notes on pack creation.

The data packs helper mod is especially useful for mods that depend on vanilla data for their customization. For example, the data packs mod can be installed together with Patchouli, a guide book mod based on advancements to unlock contents. Then, you can define customized advancements for the Patchouli mod.

 

Miscellaneous

Modpacks

liach hereby allows including this mod in modpacks.

Reposting

Please do not repost the mod in English.

For translation posts, please notify me on the comment section here or on GitHub issues with a ping.

Never provide alternative downloads! Stick to the file download page on CurseForge. If Google advertisements are blocked, causing slow CurseForge loading, please link to individual files instead.

Issues and Suggestions

Please report any issue to GitHub as soon as you find one.

Feel free to make suggestions or request features on GitHub. Stuff in the comment section here are easily forgotten.

Advanced Technical Details

For detailed usage such as pack creation, please visit the wiki on GitHub (feel free to open issues for wiki suggestions).

To load a data pack from a folder, you must have a pack.mcmeta file (can be empty) present at the data pack folder, just like ones for resource packs.

You can put

{
  "pack": {
"description": "<replace with your description>",
    "old": true
  }
}

in your pack.mcmeta to load as if the structure in the pack is like what is in the <world save> directory or <world save>/data directory in vanilla 1.12. See specification below.

About data in vanilla Minecraft 1.12.2

In Minecraft 1.12.2, custom advancements are in the data/advancements folder within a Minecraft save/world. The advancement data are saved as separate JSON files. Loot tables are in data/loot_tables and kept as separate JSON files as well.

As a result, for an advancement with id namespace:path, you would have a file at <world save>/data/advancements/namespace/path.json in Minecraft 1.12.2, in contrast to the <world save>/datapacks/<pack name>/namespace/advancements/path.json structure in Minecraft 1.13.

Sources: (Old folder structures are erased from the wiki when Minecraft 1.13 was released)

The JSON format for advancements (including a description on their folder structure) for Minecraft 1.12 on the Minecraft wiki:

https://minecraft.gamepedia.com/index.php?title=Advancements&oldid=1172719#JSON_Format

The usage of loot tables (including a description on their folder structure) for Minecraft 1.12 on the Minecraft wiki:

https://minecraft.gamepedia.com/index.php?title=Loot_table&oldid=1170673#Usage

The usage of functions (including a description on their folder structure) for Minecraft 1.12 on the Minecraft wiki:

https://minecraft.gamepedia.com/index.php?title=Function&oldid=1173978#Usage

The Data Packs Helper Team

profile avatar
  • 1
    Followers
  • 5
    Projects
  • 43.3K
    Downloads

More from liachmoddedView all

  • Nimble (Forge) project image

    Nimble (Forge)

    • 2.2M
    • Mods

    Perspective animation | Auto third person | Elytra camera roll

    • 2.2M
    • November 30, 2023
    • Mods
  • Lil Tater Reloaded project image

    Lil Tater Reloaded

    • 45.6K
    • Mods

    LTR aims to automate a number of tasks that previously would be difficult, boring, or...

    • 45.6K
    • February 6, 2022
    • Mods
    • +1
  • brandpacket project image

    brandpacket

    • 1.0K
    • Mods

    Modifies how the Minecraft Client sends the brand packet

    • 1.0K
    • September 19, 2021
    • Mods
  • kayak project image

    kayak

    • 20.7K
    • Mods

    A minecraft mod that adds some boat related stuff.

    • 20.7K
    • December 4, 2019
    • Mods
    • +2
  • Nimble (Forge) project image

    Nimble (Forge)

    • 2.2M
    • Mods

    Perspective animation | Auto third person | Elytra camera roll

    • 2.2M
    • November 30, 2023
    • Mods
  • Lil Tater Reloaded project image

    Lil Tater Reloaded

    • 45.6K
    • Mods

    LTR aims to automate a number of tasks that previously would be difficult, boring, or...

    • 45.6K
    • February 6, 2022
    • Mods
    • +1
  • brandpacket project image

    brandpacket

    • 1.0K
    • Mods

    Modifies how the Minecraft Client sends the brand packet

    • 1.0K
    • September 19, 2021
    • Mods
  • kayak project image

    kayak

    • 20.7K
    • Mods

    A minecraft mod that adds some boat related stuff.

    • 20.7K
    • December 4, 2019
    • Mods
    • +2