Skip to main content

Anvil Documentation

Ask DeepWiki

Python

Windows Linux macOS

Introduction to Anvil

Anvil is a comprehensive development toolkit designed for creating Minecraft Bedrock Edition content with ease and flexibility. Anvil aims to simplify the creation of custom Minecraft entities, blocks, commands, and more by leveraging Python and embracing a modular, component-based design philosophy.

Whether you're a seasoned Minecraft modder or just starting your journey in content development, Anvil provides you with the tools to make your creations come to life. Its features are designed to streamline workflows, enforce consistency, and offer a robust framework for handling the complexities of Minecraft content.

Community Contributions

Anvil is intended to grow as a community-driven project. Contributions are very much encouraged, whether that's fixing bugs, improving documentation, or adding support for new Minecraft Bedrock features. If you have ideas or want to help build the toolkit, we want you involved.

Key Features

  • Modular Development: Design blocks, entities, and features in a reusable manner to make your content scalable and easy to manage.
  • Schema Management: Automate JSON schema creation and validation for Minecraft packs to eliminate manual errors.
  • Report Generation: Generate detailed reports about the contents of your project, including entities, blocks, and other assets, for easy tracking and management.
  • Project Validation: Validate your project before submission to the Minecraft Marketplace, raising any errors or warnings that need to be addressed to meet Marketplace standards.
  • Multi-Format Packaging: Package your project into multiple formats, worlds, addons, templates and more.

Getting Started with Anvil

Prerequisites

To use Anvil, ensure you have the following installed:

  • Python 3.13 or higher.
  • Operating System: Windows, Linux, or macOS.

Installation

To install Anvil, you can use pip:

pip install mcanvil

This will install the latest version of Anvil along with its dependencies.

Creating Your First Project

To create a new Minecraft development project with Anvil, open your terminal and run the following command:

anvil init <namespace> <project_name> [options]

(You can also use the alias anvil create <namespace> <project_name> [options])

  • namespace: A unique identifier for your project. The namespace minecraft is reserved and cannot be used.
  • project_name: The name of your project.

Optional flags include:

  • --preview: Set up the project for Minecraft Preview.
  • --scriptapi: Adds support for Script API dependencies.
  • --addon: Marks the package as an addon, enforcing relevant constraints.
  • --vscode: Adds support for Visual Studio Code (generates workspace and launch configuration).

Example

anvil init my_ns awesome_project --scriptapi --vscode

This command will:

  • Create a folder named awesome_project in your working directory.
  • Set up the initial project structure, including JSON and Python files.
  • Generate .github/workflows/release.yml so version bumps in anvilconfig.json can build archives and publish a GitHub release.

Project Structure

Once you create your project, the structure will look like this:

awesome_project/
├── .github/
│   └── workflows/
│       └── release.yml
├── assets/
│   ├── bbmodels/
│   ├── particles/
│   ├── textures/
│   ├── sounds/
│   └── structures/
├── marketing/
├── output/
├── scripts/
│   ├── javascript/
│   └── python/
├── world/
├── .gitignore
├── CHANGELOG.md
├── anvilconfig.json
├── esbuild.js
├── package.json
└── tsconfig.json

Running Your Project

To test your project in Minecraft, navigate to your project folder and use the following command:

anvil run

This command will run your python script and generates the necessary files for your project.


Links & Resources

Projects made with Anvil

Enchantments Plus Dinosaurs Sugar Rush Beyond: Platformers

Release files for mcanvil 0.9.92

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcanvil 0.9.92
File Size Uploaded
mcanvil-0.9.92.tar.gz 469.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcanvil 0.9.92
File Interpreter ABI Platform
mcanvil-0.9.92-py3-none-any.whl Python 3 none any Details

Total release size: 958.2 kB

Release files / mcanvil-0.9.92.tar.gz

Download URL mcanvil-0.9.92.tar.gz
Size 469.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4f328b453863446a62cc2983b0a9f27c5ae17abddca9cd216954f1bef851bdfe
BLAKE2b-256 checksum
How to use checksums
94c52057804516a494829147f65e98a059760f6c41db4bf95e3f1f56ad0a6d21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release files / mcanvil-0.9.92-py3-none-any.whl

Download URL mcanvil-0.9.92-py3-none-any.whl
Size 489.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4d23fb0bb486ed29e1d254f8286d985584730891d0d63b1c30a5e370fcb49de2
BLAKE2b-256 checksum
How to use checksums
6f39571ddc87c1b21352e62953267de0023b6007cfa9af3ad1a2cfcedf43dd51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.95

2 release files

0.9.94

2 release files

0.9.93

2 release files

This release

0.9.92 This release

2 release files

0.9.91

2 release files

0.9.9

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.5.5

2 release files

0.5.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page