resourcepack/pipeline

Maintainers

Package info

github.com/Aetheam/ResourcePackPipeline

pkg:composer/resourcepack/pipeline

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 3

Open Issues: 0

1.0.0 2026-01-27 09:21 UTC

This package is auto-updated.

Last update: 2026-04-06 16:47:45 UTC


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.json must 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();
}