Utility functions for creating Minecraft Bedrock Add-Ons.
Documentation: https://mcaddon.readthedocs.io/
Install the module with pip:
pip3 install mcaddon
Update existing installation: pip3 install mcaddon --upgrade
Name | Description |
---|---|
mclang |
Read and write to .lang files. |
molang |
Molang to Python Translator & interpreter written in pure Python. |
commentjson |
Add Python and JavaScript style comments in your JSON files. |
jsonschema |
An implementation of JSON Schema validation for Python |
chevron |
Mustache templating language renderer |
Pillow |
Python Imaging Library (Fork) |
numpy |
Fundamental package for array computing in Python |
PyGLM |
OpenGL Mathematics library for Python |
Our goal is to create a library that can create a mcaddon or mcpack from the ground up using Python.
- Load packs from any format version.
- Supports mustache logic-less templates.
from mcaddon import *
blk = Block('test:on_interact_change_state_block')
blk.add_component(OnInteractComponent(event='test_event'))
blk.add_event('test_event', SetBlockProperty({'custom:direction': "1"}))
blk.save('block.json')
from mcaddon import *
blk = Item('minecraft:blaze_rod')
blk.add_component(FuelComponent(12.0))
blk.add_component(MaxStackSizeComponent(64))
blk.add_component(IconComponent('blaze_rod'))
blk.add_component(HandEquippedComponent(True))
blk.add_component(DisplayNameComponent('Blaze Rod'))
blk.save('item.json')
usage: mcaddon [-h] [-V] [-W [<file>]]
options:
-h, --help show this help message and exit
-V, --version print the mcaddon version number and exit.
-W [<file>], --watch [<file>]
Watches this Python file for changes.
- Resource packs
- animation_controllers
- animations
- attachables
- biomes_client.json
- block models
- entity
- flipbook_textures.json
- font
- materials
- particles
- pieces
- render_controllers
- sounds
- sounds.json
- texture set
- ui
- blocks.json
- entity models
- item_textures.json
- terrain_textures.json
- texts
- textures
- Behavior packs
- entities
- spawn_rules
- structures
- blocks
- cameras
- feature_rules
- features
- items
- loot_tables
- recipes
- texts
- trading
- volume
- block_culling
- Skin packs
- Addons
- contents.json
- cli
- update mcaddon/mcpack
- Support to load all format versions. (At least all versions that are used in vanilla packs)
- Support to import packs. (for both singleplayer and on dedicated server)
- Make Model and Texture support common 3D rendering libraries; pygame, moderngl, etc
- Toolchain to load packs
- scripting - Convert Python to the Official Minecraft Scripting and API.