Skip to main content

A Minecraft bedrock content development framework.

Project description

Anvil Documentation

Python 3.13 Anvil Version OS Code style: black Ask DeepWiki

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.
  • Windows OS: Anvil is designed specifically for Windows, as Minecraft Bedrock development is primarily done on this platform.

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 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.
  • --pbr: Adds Physically Based Rendering (PBR) dependencies for enhanced graphics.
  • --random_seed : Adds support for Random Seed Worlds, allowing for randomized world generation.
  • --addon: Marks the package as an addon, enforcing relevant constraints.

Example

anvil create my_ns awesome_project --scriptapi --pbr

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcanvil-0.9.7.5.tar.gz (412.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcanvil-0.9.7.5-py3-none-any.whl (454.7 kB view details)

Uploaded Python 3

File details

Details for the file mcanvil-0.9.7.5.tar.gz.

File metadata

  • Download URL: mcanvil-0.9.7.5.tar.gz
  • Upload date:
  • Size: 412.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcanvil-0.9.7.5.tar.gz
Algorithm Hash digest
SHA256 6ab3a15a2007edd9433873a02df20436dbe7ced3b3656df5939167235ee60e49
MD5 782f484b8b4b76c3a81375925af2d825
BLAKE2b-256 05ed7c89d82141cf7fa4897f063090ea113b2e3ac6150a5f1b0c51e30e770bdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcanvil-0.9.7.5.tar.gz:

Publisher: publish_to_pypi.yaml on StarkTMA/Anvil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcanvil-0.9.7.5-py3-none-any.whl.

File metadata

  • Download URL: mcanvil-0.9.7.5-py3-none-any.whl
  • Upload date:
  • Size: 454.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcanvil-0.9.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f3bc3f8021c7f5e81179cd2e6524820f9c5382eb1f187c12d8419db8a83e1162
MD5 ddabcbcf711a445e9b6577110109ae0f
BLAKE2b-256 813c2efd23bfd97131e2d4d4386097f5dfdd25c296219d051b0b87136985dd93

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcanvil-0.9.7.5-py3-none-any.whl:

Publisher: publish_to_pypi.yaml on StarkTMA/Anvil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page