Skip to content

Architecture Overview

ImperaZim edited this page Jun 21, 2026 · 1 revision

Architecture Overview

2.x Versus 3.x

Line Architecture
EasyLibrary 2.0.0 Full-bundle stable. Official libraries were shipped inside the core.
EasyLibrary 3.0.0-dev Core manager plus official packages or standalone plugins.

EasyLibrary 3.x removes the old official embedded library source from the core. The core no longer assumes every imperazim\* library namespace is always available.

Provider Types

Provider Location Owner
Package-backed plugin_data/EasyLibrary/packages/<id>/<version>/ plus generated proxy EasyLibrary package manager
Standalone Normal PHAR or folder in plugins/ Standalone plugin
Legacy embedded Removed from EasyLibrary 3.x core Historical 2.x model

Package-Backed Identity

PMMP resolves plugins through plugin names, dependencies and getPlugin(). Package-backed providers therefore use generated proxy plugins with the real official plugin name.

The proxy gives PMMP identity. The package directory contains the real source.

Command Provider

EasyLibrary uses rich commands only when a package-backed or standalone LibCommand provider is available.

If LibCommand is missing or broken, EasyLibrary registers a small native recovery command so package repair and install commands remain reachable.

Config Split

The 3.x config direction is:

plugin_data/EasyLibrary/config/
  package-manager.yml
  library-installer.yml

Legacy config.yml remains as fallback. Migration does not delete it.

Modules

Modules remain part of EasyLibrary core. They are separate from official library packages. Package providers solve library ownership; modules solve server/project extension points inside EasyLibrary.

Clone this wiki locally