premium banner
Pack Master is a powerful developer tool that extracts and organizes every piece of modpack data into structured JSON, then lets you search, analyze, compare and audit it with precision.

Description

Pack Master - The Modpack Developer's Swiss Army Knife

Pack Master dumps every piece of game data from your modpack into organized, searchable JSON -- then gives you tools to analyze, compare, audit, and export it.

Whether you're balancing recipes, tracking what changed after a mod update, finding orphaned items, validating your progression gates, or generating scripts to clean up conflicts, Pack Master has you covered.


What It Does

Dump Everything

One command dumps all 27+ datasets to structured JSON:

  • Items, blocks, entities, fluids (with full stats, attributes, and categorization)
  • Recipes (with shaped patterns, result items, cooking times, smithing details)
  • Loot tables (with full pool/entry/condition/function data)
  • Advancements (with criteria triggers, rewards, display icons)
  • Biomes (with colors, mob spawn tables, ambient effects)
  • Enchantments, effects, attributes, sounds, tags
  • Villager trades, spawn eggs, worldgen features
  • Game rules, brewing recipes, creative tabs, damage types, armor trims, chat types, data packs, and more

Compare Runs

Updated a mod? Run /pm diff latest to see exactly what changed -- added items, removed recipes, changed stats -- with field-level diffs.

Analyze Your Pack

Built-in queries answer common questions:

/pm analyze recipes-for minecraft:diamond
/pm analyze orphan-items --namespace mymod
/pm analyze mod-stats --sort items
/pm analyze duplicate-recipes
/pm analyze enchantment-conflicts

Search Across Everything

/pm search diamond
/pm search "minecraft:*sword"
/pm search --regex "iron|gold"

Export

  • CSV/TSV for spreadsheets
  • Markdown summary reports
  • KubeJS and CraftTweaker starter scripts

Audit Your Pack

Built-in auditors surface problems before they break your players:

/pm audit run                        # run all enabled auditors
/pm audit run mod_versions           # run just one
/pm audit run --dry-run              # see the findings without writing a report
/pm audit diff                       # compare the last two audit runs

Includes a general-purpose mod_versions check that flags mods with missing or placeholder version metadata — useful as a pre-release sanity pass.

Pack-specific auditors self-declare when they apply, so they stay quiet on packs that don't use the files they're looking for.


Quick Start

  1. Drop the jar in your mods/ folder
  2. Start your server or world
  3. Run /pm dump all
  4. Find your data in packmaster_dumps/

All commands use /pm (or /packmaster). Requires OP level 2.


Key Commands

Command What It Does
/pm dump all Dump everything
/pm dump <dataset> Dump one dataset
/pm list datasets See all 26+ datasets
/pm diff latest Compare last two dumps
/pm runs list List previous dump runs
/pm analyze recipes-for <item> Reverse recipe lookup
/pm analyze orphan-items Find items with no recipe
/pm analyze mod-stats Per-mod content breakdown
/pm search <pattern> Search all items/blocks/entities
/pm export csv <dataset> Export to spreadsheet
/pm export summary Generate markdown report
/pm export scripts --format kubejs --query orphan-items Generate scripts
/pm audit run Run all enabled auditors
/pm audit list List auditors and their status
/pm audit diff Compare the last two audit reports

Output

All data goes to packmaster_dumps/ organized by pack ID and run timestamp. Each run includes:

  • manifest.json -- Pack metadata, mod versions, timing
  • index.json -- Summary with dataset pointers
  • checksums.json -- SHA-256 hashes for quick diffing
  • modlist.json -- Complete installed mod list
  • datasets/ -- Individual JSON files per entry, organized by mod, category, type

JSON output is deterministic (sorted keys) so diffs are meaningful.


Configuration

Edit packmaster.toml in your config directory:

  • output_root -- Where to write dumps (default: packmaster_dumps)
  • pretty_json -- Pretty-print output (default: true)
  • dump_on_world_load -- Auto-dump on server start (default: false)
  • max_parallelism -- Thread count for parallel dumps (default: half your CPUs)
  • allow_http_api -- Enable REST API for external tools (default: false)

HTTP API

Enable with allow_http_api = true in config. Provides REST endpoints for external tool integration:

  • GET /api/v1/status
  • GET /api/v1/datasets
  • GET /api/v1/runs
  • GET /api/v1/search?q=diamond

Localhost-only by default with bearer token authentication.


Compatibility

  • Minecraft 1.20.1
  • Forge 47.3.0+
  • Server-side only (works in singleplayer and dedicated servers)
  • No dependencies beyond Forge

What's New in 1.0.1

  • Hardened HTTP auth (fail-closed, constant-time token compare, bounded search limits)
  • Parallel dump execution is now thread-safe: dumpers that touch recipe/loot/advancement/tag/biome registries run on the server main thread
  • Analysis and search results stay correct after /reload (datapacks, recipes, tags all invalidate cached indexes)
  • Crash-safe file writes (fsync before atomic rename)
  • Pack-specific auditors declare applicability instead of reporting zero findings on non-matching packs
  • New mod_versions auditor + chat_types dataset + /pm audit run --dry-run
  • Clickable dump-output paths in chat
  • Full changelog in the repository's CHANGELOG.md

License

MIT -- use it however you like.