A plugin for Endstone written in Python. It installs Minecraft Bedrock addons automatically by extracting them from a local folder or downloading from the internet.
- Automatically extracts
.mcaddonand.zipfiles from a localaddons/folder. - Downloads and installs remote addons from configured URLs.
- Supports both behavior packs and resource packs.
- Adds addons to the specified world folder.
your-server/
│
├── plugins/
│ ├── addons.py # Your plugin file
│ └── configuration/
│ └── addons/
│ └── config.json # Configuration file
│
├── addons/ # Local addons (.zip or .mcaddon) go here
│ ├── ExampleAddon.zip
│ └── CoolPack.mcaddon
│
└── worlds/
└── Bedrock level/ # World folder (match "world" value from conf.json)
├── behavior_packs/
└── resource_packs/
Create a file at:
/plugins/configuration/addons/config.json
{
"world": "Bedrock level", // Name of the world folder
"addons": [
{
"name": "Some Cool Addon",
"url": "https://example.com/some-addon.zip"
},
{
"name": "Another Addon",
"url": "https://example.com/another-addon.mcaddon"
}
]
}-
Local Addons
Place any.zipor.mcaddonfiles into the/addons/folder. -
Remote Addons
Define them in theconfig.jsonfile under theaddonslist. -
On Server Start
- The plugin extracts local addons from
/addons/. - Downloads and installs the remote addons listed in the config.
- Automatically puts behavior packs and resource packs into the corresponding subfolders of the specified world.
- The plugin extracts local addons from
.mcaddonfiles are treated as ZIP archives and extracted.- If the archive includes both
behavior_packsandresource_packs, contents will be copied to both folders. - Make sure the
"world"value matches your actual world folder name (case-sensitive). - If u wanna use github as a source for addons, make sure the URL points to the raw file, e.g.
https://codeload.github.com/Mih4n/portfolio/zip/refs/heads/main. Cause plugin uses etag to identify if the file was changed, and github does not provide etag forhttps://github.com/Mih4n/portfolio/archive/refs/heads/main.zip.