addon

Bedrock addon component.

class bedrock_server_manager.core.server.addon.ServerAddons(server: BedrockServer)

Addon operations for one Bedrock server.

async process_addon_file(addon_file_path: str) → None

Validate and install a .mcaddon or .mcpack archive.

async list_installed_addons(world_name: str | None = None) → Dict[str, List[Dict[str, Any]]]

Return behavior and resource pack inventories for the selected world.

Records contain name, UUID, version and ACTIVE, INACTIVE or ORPHANED status, sorted by name. An omitted world selects the active world.

async enable_addon(pack_uuid: str, pack_type: str, world_name: str | None = None) → None

Enables a physically installed addon in a world asynchronously.

Parameters:
  • pack_uuid – The UUID of the pack to enable.

  • pack_type – The type of pack; must be either "behavior" or "resource".

  • world_name – The name of the world.

async update_subpack(pack_uuid: str, pack_type: str, subpack_name: str, world_name: str | None = None) → None

Updates the active subpack for an already enabled addon asynchronously.

Parameters:
  • pack_uuid – The UUID of the active pack.

  • pack_type – The type of pack; must be either "behavior" or "resource".

  • subpack_name – The new subpack folder name to set.

  • world_name – The name of the world.

async disable_addon(pack_uuid: str, pack_type: str, world_name: str | None = None) → None

Disables an addon by removing it from the world’s activation list asynchronously, preserving files.

Parameters:
  • pack_uuid – The UUID of the pack to disable.

  • pack_type – The type of pack; must be either "behavior" or "resource".

  • world_name – The name of the world.

async reorder_addons(uuids: List[str], pack_type: str, world_name: str | None = None) → None

Reorder active packs using exactly the existing UUID set.

Select behavior or resource packs; an omitted world selects the active world.

async export_addon(pack_uuid: str, pack_type: str, export_dir: str, world_name: str | None = None) → str

Export a pack selected by UUID and type, returning its .mcpack path.

Create the export directory if needed; an omitted world selects the active world.

async remove_addon(pack_uuid: str, pack_type: str, world_name: str | None = None) → None

Permanently remove pack files and their world activation entry.

Remove the activation entry even if the physical pack is already absent.