PackScript
github.com
What it is
PackScript is a free, open-source command-line compiler for generating Minecraft datapack files. Python is the default language, allowing Minecraft commands to pass through without a separate command syntax. Function definitions can combine files and create generated function tags, while the dp object creates, modifies, or deletes datapack files, including dynamically named ones. The capture_lines() function gathers command lines into a list for “Only One Command” constructions. PackScript generates recipes, loot tables, advancements, and predicates. Compilation can produce a directory, ZIP, or JAR; a JAR can apply the pack as a mod and can include a resource pack when an assets folder is present. The init --modded option adds Fabric, Forge, and NeoForge configuration. A VS Code syntax highlighter and Fabric auto-compilation mod are associated projects. It runs on Linux, macOS, and Windows, requires Python 3.12 or later, and uses the MIT License.
Spec sheet
- Purpose
- PackScript is a command-line compiler that generates files for Minecraft datapacks.Read 8 Oct 2026 · github.com
- Product
- PackScript is a command-line tool designed to generate files for Minecraft datapacks.Read 7 Oct 2026 · github.com
- Support
- The repository links to GitHub Issues for project questions and reports.Read 7 Oct 2026 · github.com
- License
- The repository lists an MIT license.Read 8 Oct 2026 · github.com
- Automatic reloading
- An associated Fabric mod can automatically compile packs from a world's `dev` directory into its `datapacks` folder.Read 8 Oct 2026 · github.com
- Command handling
- Command lines in PackScript are passed through without requiring the tool to understand individual Minecraft command syntax.Read 8 Oct 2026 · github.com
- Compilation outputs
- The compiler can output a directory, ZIP file, or JAR file, and a JAR can apply the pack as a mod.Read 7 Oct 2026 · github.com
- Compile outputs
- The compiler can output a directory, ZIP file, or JAR file; JAR output can package a resource pack when an `assets` folder is included.Read 8 Oct 2026 · github.com
- Editor integration
- The project has an associated syntax highlighter for Visual Studio Code.Read 7 Oct 2026 · github.com
- File generation
- Its `dp` object can create, modify, and delete datapack files, including JSON files.Read 8 Oct 2026 · github.com
- Function generation
- PackScript function definitions can combine multiple commands into generated function files and create function tags.Read 8 Oct 2026 · github.com
- Install
- The project README gives `pip3 install packscript` as an installation method and also describes using `packscript.py` from releases directly.Read 7 Oct 2026 · github.com
- Installation
- The README gives `pip3 install packscript` as an installation method and also describes using the `packscript.py` file directly.Read 8 Oct 2026 · github.com
- Limit
- FunctionPackScript `.fps` files cannot use create statements, though they can generate additional functions.Read 7 Oct 2026 · github.com
- Minecraft integration
- The README describes an associated Fabric mod that automatically compiles packs in a world's `dev` directory into its `datapacks` folder.Read 7 Oct 2026 · github.com
- Mod loaders
- The `init --modded` option adds configuration files for compiling to Fabric, Forge, and NeoForge.Read 7 Oct 2026 · github.com
- Modded packs
- The `packscript init --modded` command can add configuration files for compiling to Fabric, Forge, and NeoForge.Read 8 Oct 2026 · github.com
- Other constructs
- The `capture_lines()` function collects command lines into a list, which the documentation describes as useful for constructing “Only One Command” creations.Read 7 Oct 2026 · github.com
- Python requirement
- The PyPI project page lists Python >=3.12 as a requirement.Read 7 Oct 2026 · pypi.org
- Python-based
- PackScript uses Python, so users familiar with Python can use that knowledge when writing PackScript files.Read 8 Oct 2026 · github.com
- Requirements
- The README instructs users to install Python before installing or running PackScript.Read 8 Oct 2026 · github.com
- VS Code
- The project has an associated syntax highlighter for VS Code.Read 8 Oct 2026 · github.com
Strong points and limits
Strong points
- Free and open source under the MIT License
- Generates recipes, loot tables, advancements, and predicates
- Outputs directories, ZIP files, or JAR files
- Supports Fabric, Forge, and NeoForge configuration
- Runs on Linux, macOS, and Windows
Limits
- Requires Python 3.12 or later
- FunctionPackScript files cannot use create statements
- Requires Python installation before use
Who it suits
It suits Minecraft datapack authors comfortable with Python and command-line tools. Mod developers can use its Fabric, Forge, or NeoForge configuration and JAR output.
Verdict
PackScript provides Python-based datapack compilation with several output formats and mod-loader configuration. Its cross-platform availability is broad, but Python 3.12 or later is required and FunctionPackScript create statements are unavailable.
Where Specifiction places it
- Minecraft Datapack Generators#16 of 227.1