Cobble
What it is
Cobble is a free, open-source compiler for turning .cbl source into data packs for Minecraft Java Edition. Its Python-like language supports functions, imports, indentation, and control flow, with static type inference for variables, constants, and expressions. Generated packs can include .mcfunction files, tags, predicates, advancements, loot tables, recipes, item modifiers, dialogs, and other JSON resources. Cobble also handles command JSON safety, macro parameters, and command validation. The CLI covers project setup, formatting, building, checking, watching, validation, inspection, linking, cleanup, and ZIP output; the stable release can be installed with cargo install cobble-lang --locked. A browser compiler runs its Rust parser and transpiler through WebAssembly and can download generated files or a data pack ZIP. The website lists Minecraft Java Edition 26.1.2 and pack format 101.1 as targets. Cobble is pre-1.0 and in active development, so bugs and API changes are possible. Validation may require curl and Java if the default command data file is missing.
For and against
For
- Generates functions, recipes, loot tables, and advancements.
- Includes static type inference.
- Offers CLI tools and a browser compiler.
- Browser compiler can export a data pack ZIP.
Against
- Pre-1.0 software may have bugs or API changes.
- Validation may require curl and Java.
The verdict
Cobble supports a range of Minecraft data-pack resources through a language with Python-like syntax and type inference. Its active pre-1.0 development status and possible validation dependencies are worth considering.
Who it suits
Cobble suits Minecraft Java Edition creators who want to write data packs using a Python-like language. It offers both a command-line workflow and a browser compiler.
On the record
- browser compiler
- The browser playground runs Cobble's Rust parser and transpiler through WebAssembly and can show generated output, diagnostics, and data-pack ZIP files.github.com · read 2 Oct 2026
- Browser export
- The browser compiler can download generated files or a data pack ZIP.deveworld.github.io · read 30 Sep 2026
- cli
- The CLI supports project templates, formatting, building, checking, watching, validation, and ZIP output.github.com · read 2 Oct 2026
- CLI workflow
- The CLI includes project initialization, formatting, building, checking, watching, validation, inspection, linking, cleaning, and ZIP output commands.github.com · read 30 Sep 2026
- command handling
- Minecraft command handling includes JSON safety, macro parameters, and command validation.github.com · read 2 Oct 2026
- compilation
- Cobble transpiles .cbl source into Minecraft Java Edition data packs.github.com · read 2 Oct 2026
- generated output
- It emits .mcfunction, pack.mcmeta, tag, and JSON resource files.github.com · read 2 Oct 2026
- installation
- The stable release can be installed with cargo install cobble-lang --locked.github.com · read 2 Oct 2026
- Language
- Cobble provides Python-like syntax for functions, indentation, imports, and control flow.github.com · read 30 Sep 2026
- language features
- The language supports functions, indentation, imports, and control flow with Python-like syntax.github.com · read 2 Oct 2026
- license
- Cobble is licensed under the MIT License.github.com · read 2 Oct 2026
- maturity
- Cobble is pre-1.0 software in active development, and the project warns that bugs and API changes are possible.github.com · read 2 Oct 2026
- minecraft target
- Cobble 0.9.0 targets Minecraft Java Edition 26.1.2 and pack format 101.1.github.com · read 2 Oct 2026
- Project status
- Cobble is described as pre-1.0 software in active development, with possible bugs and API changes.github.com · read 30 Sep 2026
- purpose
- Cobble is a modern, Python-like language for creating Minecraft data packs.github.com · read 2 Oct 2026
- resource support
- Data-pack output includes functions, event tags, predicates, advancements, loot tables, recipes, item modifiers, and dialogs.github.com · read 2 Oct 2026
- standard library
- The standard library provides helpers for events, text, scoreboards, storage, item components, schedules, selectors, positions, bossbars, teams, and entities.github.com · read 2 Oct 2026
- support
- The project directs users to GitHub Issues for support and bug reports.github.com · read 2 Oct 2026