Skip to content
SPECIFICTION
Get listed

Minecraft Datapack Language

mcmdl.com

Free plan Open source WindowsmacOSLinuxAPISelf-hostedBrowser extension
Visit mcmdl.com
Spec score 8.6 #2 of 22 in Minecraft Datapack Generators

What it is

Minecraft Datapack Language (MDL) compiles a JavaScript-style language into Minecraft datapacks. It supports if/else statements, while loops, number variables, arithmetic expressions and variable scopes. Projects can span multiple files, with variables from all files merged automatically, and can reference external JSON for registry types such as recipes, loot tables and advancements. Its command-line tool can create projects, check code and build datapacks or 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. Documentation includes Makefile, npm scripts and GitHub Actions build and checking examples. MDL is open source under the MIT License and costs nothing. Listed platforms include API, extension, Linux, macOS and Windows; system requirements include Python 3.8 or higher and Minecraft 1.20+ or 1.19+. Support pointers include documentation, examples, GitHub Issues and GitHub Discussions.

Spec sheet

What it does
MDL is a JavaScript-style language and compiler that converts source code into Minecraft datapack .mcfunction files.Read 14 Oct 2026 · mcmdl.com
Purpose
MDL compiles a JavaScript-style language into Minecraft datapacks.Read 4 Oct 2026 · mcmdl.com
Security
The maker pages reviewed do not state security or compliance certifications.Read 4 Oct 2026 · mcmdl.com
Support
The maker points users to documentation, examples, GitHub Issues, and GitHub Discussions for support.Read 4 Oct 2026 · mcmdl.com
License
MDL is open source software licensed under the MIT License.Read 4 Oct 2026 · mcmdl.com
Build integrations
Official examples show Makefile targets, npm scripts and GitHub Actions workflows running mdl check and mdl build.Read 14 Oct 2026 · mcmdl.com
CLI
The command-line tool can build datapacks, check code, create projects, and build directories containing multiple files.Read 4 Oct 2026 · mcmdl.com
CLI build
The mdl build command compiles a file or directory and creates a datapack directory plus a ZIP archive by default.Read 14 Oct 2026 · mcmdl.com
CLI project creation
The mdl new command creates a starter project containing source, README, documentation and local documentation-serving scripts.Read 14 Oct 2026 · mcmdl.com
CLI validation
The mdl check command scans MDL files for syntax and semantic errors and reports locations, context and suggestions.Read 14 Oct 2026 · mcmdl.com
Control flow
The language implements if, else-if, else and while constructs that compile into Minecraft conditional logic.Read 14 Oct 2026 · mcmdl.com
Documentation depth
The documentation set includes getting started, language reference, CLI reference, multi-file projects, Python bindings, examples and extension guidance.Read 14 Oct 2026 · mcmdl.com
Editor integration
The VS Code extension supports syntax highlighting, real-time error checking, build commands, workspace validation, and raw text blocks.Read 4 Oct 2026 · mcmdl.com
GitHub repository activity
The public repository page shows one star, one fork, one open issue, no pull requests and 1,436 commits.Read 14 Oct 2026 · github.com
Independent description
A Reddit announcement describes MDL as a language intended to simplify datapack creation with functions, tags, conditionals, a Python API, VS Code support and multi-file projects.Read 14 Oct 2026 · reddit.com
Installation
The recommended installation is pipx install minecraft-datapack-language, with pip and editable source installation also documented.Read 14 Oct 2026 · mcmdl.com
Latest PyPI release
PyPI shows version 18.0.3 released on September 11, 2025.Read 14 Oct 2026 · pypi.org
License in contributing guide
The contributing guide states that MDL is licensed under GPL-3.0, creating a license inconsistency across official pages.Read 14 Oct 2026 · mcmdl.com
License on homepage
The homepage identifies MDL as open source under the MIT License.Read 14 Oct 2026 · mcmdl.com
Lifecycle hooks
on_load and on_tick declarations generate Minecraft load and tick function tags.Read 14 Oct 2026 · mcmdl.com
Limit: ecosystem duplication
A Reddit commenter questioned the need for another datapack language because Beet and Bolt already provide Python-like datapack workflows.Read 14 Oct 2026 · reddit.com
Limit: generated-code workflow
A Reddit commenter said generated datapacks can become large and complex, making in-game modification of datapacks or scoreboards difficult.Read 14 Oct 2026 · reddit.com
Limit: production adoption
A Reddit commenter said they had not used datapack languages in production and found basic text-replacement tooling faster for their work.Read 14 Oct 2026 · reddit.com
Maker identity
The repository and site identify the maintainer as aaron777collins, whose GitHub profile names him Aaron Collins.Read 14 Oct 2026 · github.com
Multi-file projects
Only the main file needs a pack declaration; additional files are merged automatically during builds.Read 14 Oct 2026 · mcmdl.com
Namespaces
Namespaces organize functions and variables and are supported across multi-file projects.Read 14 Oct 2026 · mcmdl.com
PyPI maintainer
PyPI lists aaron777collins as the verified project maintainer.Read 14 Oct 2026 · pypi.org
PyPI metadata
PyPI records MIT License metadata, Python version requirement of 3.9 or newer and an OS-independent classifier.Read 14 Oct 2026 · pypi.org
Python API
The project documents Python bindings and demonstrates creating packs programmatically with the Pack class.Read 14 Oct 2026 · mcmdl.com
Raw commands
Raw blocks allow direct Minecraft command injection inside MDL functions.Read 14 Oct 2026 · mcmdl.com
Registry support
MDL can reference external JSON files for Minecraft registry types such as recipes, loot tables, and advancements.Read 4 Oct 2026 · mcmdl.com
Release news
GitHub lists automated releases v18.0.0 through v18.0.3 on September 11, 2025, with Python packages and VSIX extension assets.Read 14 Oct 2026 · github.com
Requirements
The downloads page lists Python 3.8 or higher, Minecraft 1.20+ or 1.19+, and Windows, macOS, or Linux as system requirements.Read 4 Oct 2026 · mcmdl.com
Resource tags
Tag declarations can reference recipes, loot tables, advancements, item modifiers, predicates and structures.Read 14 Oct 2026 · mcmdl.com
Scoping
Variables can use explicit entity selectors such as <@s> or <@a[team=red]>, with omitted scope defaulting to @s.Read 14 Oct 2026 · mcmdl.com
Shell support
CLI completion supports Bash, Zsh, Fish and PowerShell.Read 14 Oct 2026 · mcmdl.com
Support channels
Support is directed to documentation, examples, GitHub Issues and GitHub Discussions.Read 14 Oct 2026 · mcmdl.com
System requirements
The downloads page lists Python 3.8 or newer, Minecraft 1.20+ or 1.19+, Windows/macOS/Linux and VS Code 1.60+ for the extension.Read 14 Oct 2026 · mcmdl.com
Variables
Numeric variables support arithmetic, scoreboard storage and substitution using $variable$ syntax.Read 14 Oct 2026 · mcmdl.com
VS Code tooling
The extension provides syntax highlighting, live error checking, IntelliSense, snippets, workspace validation and build commands.Read 14 Oct 2026 · mcmdl.com

Plans and prices

Minecraft Datapack Language Free Open source · MIT License Read 4 Oct 2026 · mcmdl.com
Minecraft Datapack Language (MDL) Free No charge stated; distributed as open-source software Python CLI · VS Code/Cursor extension · Minecraft datapack compilation Read 14 Oct 2026 · mcmdl.com

Every Minecraft Datapack Language plan and price →

Strong points and limits

Strong points

  • Supports conditional logic, loops, variables and arithmetic.
  • Multi-file projects merge variables automatically.
  • CLI can check code and build datapacks.
  • VS Code extension provides real-time error checking.

Limits

  • Requires Python 3.8 or higher.
  • Requires Minecraft 1.20+ or 1.19+.
  • Maker pages reviewed do not state security or compliance certifications.

Who it suits

MDL suits Minecraft datapack creators who want to use a JavaScript-style language, command-line builds, VS Code or Python bindings. It is also suited to multi-file projects and workflows using Makefiles, npm scripts or GitHub Actions.

Verdict

MDL offers several ways to create and validate datapacks, from the CLI to VS Code and Python bindings. Check the stated Python and Minecraft requirements before using it.

Where Specifiction places it

Alternatives to Minecraft Datapack LanguageAll alternatives →