Minecraft Datapack Language (MDL) compiles a JavaScript-style language into Minecraft datapacks. Its language supports if/else statements, while loops, number variables, arithmetic expressions, and variable scopes for describing conditional behavior and calculations. Projects can span multiple files, with variables merged across those files, and can reference external JSON files for Minecraft registry types such as recipes, loot tables, and advancements. The command-line tool can create projects, check code, build datapacks, and build directories containing multiple files. A VS Code extension adds syntax highlighting, real-time error checking, build commands, workspace validation, and raw text blocks. Python bindings support programmatic datapack creation with variables, control flow, nested functions, and MDL scopes. The CLI documentation includes Makefile, npm scripts, and GitHub Actions examples. MDL is open source under the MIT License and costs 0.00 USD per free. Listed platforms include API, extension, Linux, macOS, and Windows; requirements include Python 3.8 or higher and Minecraft 1.20+ or 1.19+.
Who it is for
MDL suits Minecraft datapack creators who prefer a JavaScript-style language, or developers who want to build datapacks through the CLI, VS Code, or Python bindings. It is listed for Windows, macOS, and Linux.
What is good
- Supports control flow, variables, and arithmetic
- Projects can span multiple files
- CLI can build and check datapack projects
- VS Code extension includes real-time error checking
What to know first
- Requires Python 3.8 or higher
- Requires Minecraft 1.20+ or 1.19+
- System requirements list Windows, macOS, or Linux
Verdict
MDL provides several ways to create and validate datapacks, from a CLI and VS Code extension to Python bindings. It is free and open source, with listed Python and Minecraft requirements.
Minecraft Datapack Language plans and pricing
All plansCompared on Minecraft datapack generators
- Function generation
- Yes
- Export format
- both
- Datapack validation
- Yes


