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.


Projects made with Anvil

Enchantments Plus Dinosaurs Sugar Rush Beyond: Platformers

Metadata

Release files for mcanvil 0.9.100

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.100
File Size Uploaded
mcanvil-0.9.100.tar.gz 533.2 kB Details

Built distribution (wheel)

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

Total release size: 1.1 MB

Release files / mcanvil-0.9.100.tar.gz

Download URL mcanvil-0.9.100.tar.gz
Size 533.2 kB
Tags Source
SHA-256 checksum
How to use checksums
391773c43b5cb359925e1856681dfcaf85ea9d2d8961a88fca9f432997824952
BLAKE2b-256 checksum
How to use checksums
0afdb241ad201ebb78adc4eecc2a54d8edf8f606442ea16e37d53fe98278fea3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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

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

Release history Release notifications | RSS feed

This release

0.9.100 This release

2 release files

0.9.95

2 release files

0.9.94

2 release files

0.9.93

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