# mcaddon
[![PyPI](https://img.shields.io/pypi/v/mcaddon)](https://pypi.org/project/mcaddon/)
[![Python](https://img.shields.io/pypi/pyversions/mcaddon)](https://www.python.org/downloads//)
![Downloads](https://img.shields.io/pypi/dm/mcaddon)
![Status](https://img.shields.io/pypi/status/mcaddon)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Issues](https://img.shields.io/github/issues/legopitstop/mcaddon)](https://github.com/legopitstop/mcaddon/issues)
Utility functions for creating Minecraft Bedrock Add-Ons.
Documentation: https://mcaddon.readthedocs.io/
## Installation
Install the module with pip:
```bat
pip3 install mcaddon
```
Update existing installation: `pip3 install mcaddon --upgrade`
## Requirements
| Name | Description |
|--|--|
| [`mclang`](https://pypi.org/project/mclang/) | Read and write to .lang files. |
| [`molang`](https://pypi.org/project/molang/) | Molang to Python Translator & interpreter written in pure Python. |
| [`commentjson`](https://pypi.org/project/commentjson/) | Add Python and JavaScript style comments in your JSON files. |
| [`jsonschema`](https://pypi.org/project/jsonschema/) | An implementation of JSON Schema validation for Python |
| [`chevron`](https://pypi.org/project/chevron/) | Mustache templating language renderer |
| [`Pillow`](https://pypi.org/project/pillow/) | Python Imaging Library (Fork) |
| [`numpy`](https://pypi.org/project/numpy/) | Fundamental package for array computing in Python |
| [`PyGLM`](https://pypi.org/project/PyGLM/) | OpenGL Mathematics library for Python |
## Our Goal?
Our goal is to create a library that can create a mcaddon or mcpack from the ground up using Python.
## Features
- Load packs from any format version.
- Supports [mustache](https://mustache.github.io/) logic-less templates.
## Examples
### Block
```Python
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')
```
### Item
```Python
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')
```
## Command-line interface
```
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.
```
## Road map
- 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
- [x] blocks.json
- [x] entity models
- [x] item_textures.json
- [x] terrain_textures.json
- [x] texts
- [x] textures
- Behavior packs
- [ ] entities
- [ ] spawn_rules
- [ ] structures
- [x] blocks
- [x] cameras
- [x] feature_rules
- [x] features
- [x] items
- [x] loot_tables
- [x] recipes
- [x] texts
- [x] trading
- [x] volume
- [x] block_culling
- Skin packs
- [x] Addons
- contents.json
- cli
- update mcaddon/mcpack
- [x] 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](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/minecraft-server?view=minecraft-bedrock-stable).
Raw data
{
"_id": null,
"home_page": "https://github.com/legopitstop/mcaddon/",
"name": "mcaddon",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "Minecraft: Bedrock Edition,mcpack,mcaddon,behaviorpack,resourcepack,JSON",
"author": "Legopitstop",
"author_email": "officiallegopitstop@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/28/a1/7042ad57db8d43c886b55b6fe03dcd701bc7b738301f7c4a967547690916/mcaddon-0.0.3.tar.gz",
"platform": null,
"description": "# mcaddon\r\n\r\n[![PyPI](https://img.shields.io/pypi/v/mcaddon)](https://pypi.org/project/mcaddon/)\r\n[![Python](https://img.shields.io/pypi/pyversions/mcaddon)](https://www.python.org/downloads//)\r\n![Downloads](https://img.shields.io/pypi/dm/mcaddon)\r\n![Status](https://img.shields.io/pypi/status/mcaddon)\r\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\r\n[![Issues](https://img.shields.io/github/issues/legopitstop/mcaddon)](https://github.com/legopitstop/mcaddon/issues)\r\n\r\nUtility functions for creating Minecraft Bedrock Add-Ons.\r\n\r\nDocumentation: https://mcaddon.readthedocs.io/\r\n\r\n## Installation\r\n\r\nInstall the module with pip:\r\n\r\n```bat\r\npip3 install mcaddon\r\n```\r\n\r\nUpdate existing installation: `pip3 install mcaddon --upgrade`\r\n\r\n## Requirements\r\n\r\n| Name | Description |\r\n|--|--|\r\n| [`mclang`](https://pypi.org/project/mclang/) | Read and write to .lang files. |\r\n| [`molang`](https://pypi.org/project/molang/) | Molang to Python Translator & interpreter written in pure Python. |\r\n| [`commentjson`](https://pypi.org/project/commentjson/) | Add Python and JavaScript style comments in your JSON files. |\r\n| [`jsonschema`](https://pypi.org/project/jsonschema/) | An implementation of JSON Schema validation for Python |\r\n| [`chevron`](https://pypi.org/project/chevron/) | Mustache templating language renderer |\r\n| [`Pillow`](https://pypi.org/project/pillow/) | Python Imaging Library (Fork) |\r\n| [`numpy`](https://pypi.org/project/numpy/) | Fundamental package for array computing in Python |\r\n| [`PyGLM`](https://pypi.org/project/PyGLM/) | OpenGL Mathematics library for Python |\r\n\r\n## Our Goal?\r\n\r\nOur goal is to create a library that can create a mcaddon or mcpack from the ground up using Python.\r\n\r\n## Features\r\n- Load packs from any format version.\r\n- Supports [mustache](https://mustache.github.io/) logic-less templates.\r\n\r\n## Examples\r\n\r\n### Block\r\n\r\n```Python\r\nfrom mcaddon import *\r\n\r\nblk = Block('test:on_interact_change_state_block')\r\nblk.add_component(OnInteractComponent(event='test_event'))\r\nblk.add_event('test_event', SetBlockProperty({'custom:direction': \"1\"}))\r\nblk.save('block.json')\r\n```\r\n\r\n### Item\r\n\r\n```Python\r\nfrom mcaddon import *\r\n\r\nblk = Item('minecraft:blaze_rod')\r\nblk.add_component(FuelComponent(12.0))\r\nblk.add_component(MaxStackSizeComponent(64))\r\nblk.add_component(IconComponent('blaze_rod'))\r\nblk.add_component(HandEquippedComponent(True))\r\nblk.add_component(DisplayNameComponent('Blaze Rod'))\r\nblk.save('item.json')\r\n```\r\n\r\n## Command-line interface\r\n```\r\nusage: mcaddon [-h] [-V] [-W [<file>]]\r\n\r\noptions:\r\n -h, --help show this help message and exit\r\n -V, --version print the mcaddon version number and exit.\r\n -W [<file>], --watch [<file>]\r\n Watches this Python file for changes.\r\n```\r\n\r\n## Road map\r\n\r\n- Resource packs\r\n - [ ] animation_controllers\r\n - [ ] animations\r\n - [ ] attachables\r\n - [ ] biomes_client.json\r\n - [ ] block models\r\n - [ ] entity\r\n - [ ] flipbook_textures.json\r\n - [ ] font\r\n - [ ] materials\r\n - [ ] particles\r\n - [ ] pieces\r\n - [ ] render_controllers\r\n - [ ] sounds\r\n - [ ] sounds.json\r\n - [ ] texture set\r\n - [ ] ui\r\n - [x] blocks.json\r\n - [x] entity models\r\n - [x] item_textures.json\r\n - [x] terrain_textures.json\r\n - [x] texts\r\n - [x] textures\r\n- Behavior packs\r\n - [ ] entities\r\n - [ ] spawn_rules\r\n - [ ] structures\r\n - [x] blocks\r\n - [x] cameras\r\n - [x] feature_rules\r\n - [x] features\r\n - [x] items\r\n - [x] loot_tables\r\n - [x] recipes\r\n - [x] texts\r\n - [x] trading\r\n - [x] volume\r\n - [x] block_culling\r\n- Skin packs\r\n- [x] Addons\r\n- contents.json\r\n- cli\r\n - update mcaddon/mcpack\r\n- [x] Support to load all format versions. (At least all versions that are used in vanilla packs)\r\n- Support to import packs. (for both singleplayer and on dedicated server)\r\n- Make Model and Texture support common 3D rendering libraries; pygame, moderngl, etc\r\n- Toolchain to load packs\r\n- scripting - Convert Python to the Official Minecraft [Scripting and API](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/minecraft-server?view=minecraft-bedrock-stable).\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Minecraft: Bedrock Edition development kit",
"version": "0.0.3",
"project_urls": {
"Homepage": "https://github.com/legopitstop/mcaddon/"
},
"split_keywords": [
"minecraft: bedrock edition",
"mcpack",
"mcaddon",
"behaviorpack",
"resourcepack",
"json"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "28a17042ad57db8d43c886b55b6fe03dcd701bc7b738301f7c4a967547690916",
"md5": "7abdd420ae4c3318d6e87d94c3deb178",
"sha256": "1d81da542dd142d274b8fa00fdf007e72416d032a2143ea87f978b239afce5ef"
},
"downloads": -1,
"filename": "mcaddon-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "7abdd420ae4c3318d6e87d94c3deb178",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 127256,
"upload_time": "2024-03-16T02:46:13",
"upload_time_iso_8601": "2024-03-16T02:46:13.013030Z",
"url": "https://files.pythonhosted.org/packages/28/a1/7042ad57db8d43c886b55b6fe03dcd701bc7b738301f7c4a967547690916/mcaddon-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-16 02:46:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "legopitstop",
"github_project": "mcaddon",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mcaddon"
}