resourcepack / pipeline
Requires
- php: >=8.0
README
π¨ ResourcePackPipeline is a PocketMine-MP virion (PM4 / PM5) that automates resource pack management at server startup.
It provides a smooth and reliable pipeline:
π Scan β Zip (.mcpack) β Load β Log
All of this happens without breaking or removing resource packs from other plugins (like InventoryUI).
β¨ Features
β
Automatic scan of resource packs
π¦ Automatic .mcpack generation (one per pack)
π Safe loading into PocketMineβs ResourcePackManager
π‘οΈ Keeps existing resource packs untouched
β Prevents duplicate pack loading
π¨ Clean & colorful startup logs
βοΈ Compatible with PocketMine-MP 4.x & 5.x
π Distributed as a virion (embedded library)
π Expected Directory Structure
Resource packs must be placed inside resources/packs/ in the plugin using this virion.
resources/
βββ packs/
ββββββββ PackOne/
βββ manifest.json
βββ textures/
βββ ...
ββββββββ Packtwo/
βββ manifest.json
βββ textures/
βββ ...
π Notes:
- π¦ Each folder inside
packs/represents one resource pack - π
manifest.jsonmust be at the root of each pack - π§ Standard Bedrock folders (
textures,sounds, etc.) are supported - π§° Each pack is automatically zipped into a
.mcpack
π Basic Usage
Inside your plugin:
use resourcepack\pipeline\ResourcePackPipeline; public function onEnable(): void{ $pipeline = new ResourcePackPipeline($this, $this->getResourceFolder()); $pipeline->scan("packs/"); $zips = $pipeline->zip(); $pipeline->load($zips); $pipeline->log(); }