Tutorials

Advanced

Advanced and datapack guide: data merge, loot tables, diff, and project reuse

9 min read · Updated May 15, 2026

Advanced workflows are where command generators often become hard to reuse. NBTForge keeps datapack JSON, diff review, bulk import, and saved Project entries close to the output panel.

Goal

A structured datapack or command-pack workflow with reusable saved entries.

Annotated screenshots

NBTForge Data Pack builder with arrows pointing to loot table controls, JSON output, and diff
The Data Pack module exposes structured JSON fields and keeps generated output visible.
NBTForge Project library with arrows pointing to bulk import, saved entries, and command pack output
Project turns one-off generated commands into reusable entries and ordered command packs.

Step-by-step guide

  1. Use Advanced for lower-level command families such as data merge, execute-if, loot, rotate, enchant, damage, and clear.
  2. Use Data Pack when the output is JSON rather than a slash command.
  3. Open Diff before replacing an existing command or JSON resource.
  4. Use bulk import when reviewing a .mcfunction block.
  5. Save reusable entries so future edits start from a known builder state.

Why diff matters

Diff review helps you see what changed between the current output and an imported or previously saved command. This reduces accidental edits when commands become long.

For datapack JSON, diff review is especially useful because a small value change can alter loot, predicates, or item modifiers.

How Project supports reuse

Saved Project entries keep the command, title, module, and state together. That means a future edit can reload the right builder instead of forcing you to parse a long command manually.

Command Pack entries preserve copy order for workflows that must run line by line.

  • Bulk import .mcfunction text.
  • Save reusable entries with clear titles.
  • Use Project search before creating duplicates.
  • Copy the pack only after reviewing order.

FAQ

Is the Data Pack module a Misode replacement?

It is moving in that direction. Current coverage focuses on structured JSON editing with typed output, while future work should expand recipes, predicates, and pack export parity.

Should I store every generated command?

Store commands you expect to edit again. Temporary test commands can be copied directly from Output.