# Datapack authoring

Start here for datapack formats, file paths and reload behavior.

> **since NTM 1.0.4**
>
> NTM 1.0.4 supports Minecraft 26.2 and 26.3. Read 
>
> [the 1.0.4 changes and 26.3 migration guide](https://movblock.mov/ntm-next/wiki/minecraft-26-3.md)
>
> .

ntm-next uses datapacks for recipes, hazards and radiation, custom machines, in-game manuals, fluid, machine and game settings, world generation, loot, tags and advancements. The version selector chooses the Minecraft release, NTM release, and loader. Start with the [datapack catalog](https://movblock.mov/ntm-next/wiki/catalog.md) for formats and file paths.

| You want to… | Start here |
| - | - |
| Add or override in-game manuals and help triggers | [Manuals (QMAW)](https://movblock.mov/ntm-next/wiki/manuals.md) |
| Change an existing recipe | [Datapack Quick Start](https://movblock.mov/ntm-next/wiki/quick-start.md) |
| Write inputs, outputs, probabilities, or conditions | [Recipes](https://movblock.mov/ntm-next/wiki/recipes.md) |
| Find a machine's recipe format | [Machine Recipes](https://movblock.mov/ntm-next/wiki/recipe-types.md) |
| Match container contents or item components | [Ingredients and Components](https://movblock.mov/ntm-next/wiki/ingredients-and-components.md) |
| Define a custom multiblock machine and its processes | [Custom Machines](https://movblock.mov/ntm-next/wiki/custom-machines.md) |
| Change machine settings or an existing fluid's properties | [Datapack Settings](https://movblock.mov/ntm-next/wiki/settings.md) |
| Look up all machine-setting keys or fluid traits | [Machine Settings Reference](https://movblock.mov/ntm-next/wiki/machine-settings.md), [Fluid Trait Reference](https://movblock.mov/ntm-next/wiki/fluid-traits.md) |
| Change explosion, mob, meteor, item, energy or radiation settings | [Game Settings](https://movblock.mov/ntm-next/wiki/game-settings.md) |
| Set hazards, radiation sources or dimension radiation | [Hazards and Radiation](https://movblock.mov/ntm-next/wiki/hazards-and-radiation.md) |
| Change generation, structures, processors or template pools | [World Generation](https://movblock.mov/ntm-next/wiki/world-generation.md) |
| Change loot, tags, damage data, songs or advancement criteria | [Loot, Tags and Advancements](https://movblock.mov/ntm-next/wiki/loot-tags-and-advancements.md) |
| Find inherited Minecraft datapack entry points | [Vanilla Data](https://movblock.mov/ntm-next/wiki/vanilla-data.md) |

> **since NTM 1.0.3**
>
> Addons have their own chapters and release tracks: [NTM Space](https://movblock.mov/ntm-next/wiki/space.md)[since NTM 1.0.4:  and [NTM: Cursed](https://movblock.mov/ntm-next/wiki/cursed.md)]. Select an addon release in the version selector.

> **since NTM 1.0.1**
>
> [Protection registries](https://movblock.mov/ntm-next/wiki/hazards-and-radiation.md) cover radiation resistance, filters, and suits. [Consumable treatments](https://movblock.mov/ntm-next/wiki/consumable-treatments.md) bind item use or consumption to ordered treatment actions.

## Start from the version you actually run

Open the version selector beside the theme switch to select Minecraft, the NTM release, and the loader. **All revisions** shows the documented history with since, until, deprecation and removal labels. **Both loaders** shows loader-specific forms side by side. Selecting an exact release or loader shows the content that applies to that choice.

Open your installed ntm-next `.jar` with a ZIP viewer and inspect its `data/` directory. This is the reference for that build's identifiers, recipe types, conditions, and default values. Copy a relevant file into your own pack and make a small change.

Most examples work identically on both loaders. See [Recipe Conditions](https://movblock.mov/ntm-next/wiki/recipes/conditions.md) for conditional recipes and [Ingredients and Components](https://movblock.mov/ntm-next/wiki/ingredients-and-components.md) for custom ingredient forms.

Datapacks refer to registered items, blocks, fluids and recipe types. Custom-machine definitions are an NTM data-loaded registry that uses the existing controller item.

## What can be reloaded?

| Data | Location pattern | When changes take effect |
| - | - | - |
| Recipes | `data/<namespace>/recipe/<path>.json` | `/reload` |
| Item tags | `data/<namespace>/tags/item/<path>.json` | `/reload` |
| QMAW manuals | `data/<namespace>/qmaw/<path>.json` | `/reload`; the catalog is sent on join and reload |
| Fluid properties | `data/<fluid-namespace>/fluid_property/<fluid-path>.json` | `/reload`; properties are sent to connected clients |
| Fluid property patches (since NTM 1.0.4) | `data/<namespace>/fluid_property_patch/<fluid-namespace>/<fluid-path>.json` | `/reload`, applied before the patched properties |
| Custom-machine definitions | `data/<namespace>/hbm/custom_machine/<path>.json` | World load: reopen singleplayer or restart the server |
| Machine settings | `data/hbm/hbm/machine_config/<machine>.json` | World load: reopen singleplayer or restart the server |
| Game settings | `data/hbm/hbm/<registry>/<group>.json` | World load: reopen singleplayer or restart the server |
| Hazards, radiation and treatment registries | `data/<namespace>/hbm/<registry>/<path>.json` | World load; see the catalog for each ID's meaning |
| Worldgen registry definitions, damage types, songs | Vanilla registry directories | World load |
| Structure templates | `data/<namespace>/structure/<path>.nbt` | Resource-manager reload clears the template cache |
| Loot, advancements, functions, predicates, item modifiers | Corresponding vanilla directories | `/reload` |

The extra `hbm/` in NTM's custom-registry paths names the registry's namespace. Reopen the world for changes to these registries. Template-resource reload is separate from the worldgen registry entries which reference the templates.

Translated names under `assets/<namespace>/lang/` belong in a resource pack.

## Example packs

Each ZIP contains one datapack. Put one ZIP in the world's `datapacks/` directory and enable it.

| Pack | Change |
| - | - |
| [Apple yield](https://movblock.mov/ntm-next/wiki/assets/downloads/apple-yield.zip) | One apple produces two sugar in the shredder. |
| [Custom paper press](https://movblock.mov/ntm-next/wiki/assets/downloads/custom-paper-press.zip) | Adds a separate paper press definition, recipe and controller. |
| [Centrifuge time](https://movblock.mov/ntm-next/wiki/assets/downloads/centrifuge-time.zip) | Sets centrifuge processing time to 100 ticks. |
| [Diesel colour](https://movblock.mov/ntm-next/wiki/assets/downloads/diesel-colour.zip) | Changes the diesel fluid colour. |
| [Workshop manual](https://movblock.mov/ntm-next/wiki/assets/downloads/qmaw-workshop.zip) | Adds a server-owned manual page triggered by paper. |

> **since NTM 1.0.1**
>
> [Alex's Caves](https://movblock.mov/ntm-next/wiki/alexs-caves.md) has three packs for use with Alex's Caves.
