Skip to content

Commit 10013d4

Browse files
committed
docs(core): plan resource pack support as LibAssets
1 parent 8a5bb03 commit 10013d4

4 files changed

Lines changed: 18 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,8 @@ elprobe run <package>
345345
registration:
346346
`PluginLanguageTrait`, `PluginResourcePacksTrait`,
347347
`PluginCdnResourcePackTrait` and `components\utils\ResourcePacks`.
348+
Resource-pack support should return later as a focused assets/resource-pack
349+
library such as `LibAssets`, not as part of `LibCommons`.
348350
- `imperazim\components\filesystem\File` no longer depends on the removed
349351
Config wrapper; pass a directory string or use PocketMine `Config` directly.
350352
- Component enable/disable notices now use PocketMine `TextFormat` constants

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,9 @@ were removed as well:
218218
`PluginLanguageTrait`, `PluginResourcePacksTrait`,
219219
`PluginCdnResourcePackTrait` and `components\utils\ResourcePacks`. Keep
220220
localization/resource-pack bootstrapping inside the owning plugin for now, or
221-
move it to a dedicated package if the ecosystem needs one later.
221+
move it to a future dedicated assets/resource-pack package such as `LibAssets`
222+
if the ecosystem needs one later. This does not belong in `LibCommons`, because
223+
resource packs require PocketMine lifecycle, files, manifests and server state.
222224

223225
Use each standalone repository for complete API documentation and examples.
224226

changelogs/3.0.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1575,6 +1575,12 @@ reflection, which should not be presented as a stable EasyLibrary core API. In
15751575
3.x, localization and resource-pack bootstrapping should stay inside the plugin
15761576
that owns those assets until a focused library is deliberately designed.
15771577

1578+
If resource-pack support returns as an official package, the preferred shape is
1579+
a dedicated assets/resource-pack library such as `LibAssets`. It should cover
1580+
manifest validation, zip packaging, checksums, local registration and optional
1581+
CDN integration. It should not be part of `LibCommons`, because resource packs
1582+
need PocketMine lifecycle, filesystem state and server resource-pack handling.
1583+
15781584
The component logging polish is intentionally small but useful for the 3.x
15791585
cleanup: active core output should be generated through PocketMine formatting
15801586
APIs instead of embedded formatting bytes. This keeps console output and future
@@ -1596,7 +1602,8 @@ package instead of depending on EasyLibrary core for gameplay or utility APIs.
15961602

15971603
If a plugin used the removed language or resource-pack traits, copy that
15981604
bootstrapping into the owning plugin for now. Do not rely on EasyLibrary core to
1599-
register resource packs through reflection in 3.x.
1605+
register resource packs through reflection in 3.x. If/when `LibAssets` exists,
1606+
move that integration there instead of depending on EasyLibrary core.
16001607

16011608
If old code used the removed Config wrapper with `File`, migrate it to explicit
16021609
file metadata:

docs/migration.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ Removed 2.x-era helpers:
8989
| `imperazim\components\plugin\ConfigManager` | Plugin-owned config registry or future dedicated config lib |
9090
| `imperazim\components\plugin\ExceptionHandler` | Native try/catch, domain-specific exceptions or future diagnostics/result helpers |
9191
| `imperazim\components\plugin\traits\PluginLanguageTrait` | Plugin-owned localization or future dedicated text/config lib |
92-
| `imperazim\components\plugin\traits\PluginResourcePacksTrait` | Plugin-owned resource-pack bootstrapping |
93-
| `imperazim\components\plugin\traits\PluginCdnResourcePackTrait` | Plugin-owned CDN/resource-pack integration |
94-
| `imperazim\components\utils\ResourcePacks` | Plugin-owned resource-pack registration or future dedicated resource-pack lib |
92+
| `imperazim\components\plugin\traits\PluginResourcePacksTrait` | Plugin-owned resource-pack bootstrapping or future `LibAssets` |
93+
| `imperazim\components\plugin\traits\PluginCdnResourcePackTrait` | Plugin-owned CDN/resource-pack integration or future `LibAssets` + `LibHttp` |
94+
| `imperazim\components\utils\ResourcePacks` | Plugin-owned resource-pack registration or future `LibAssets` |
9595

9696
The old `File` constructor no longer accepts the removed
9797
`imperazim\components\config\Config` wrapper. Pass a directory string and file
@@ -101,7 +101,8 @@ configuration file.
101101
The removed resource-pack helpers used PocketMine internals and reflection.
102102
Do not depend on EasyLibrary core for that behavior in 3.x; keep resource-pack
103103
registration explicit in the plugin that owns the pack until a focused API is
104-
designed.
104+
designed. If this becomes an official library, it should be a dedicated
105+
assets/resource-pack package such as `LibAssets`, not `LibCommons`.
105106

106107
For plugin code, prefer normal PMMP dependency declarations instead of assuming
107108
EasyLibrary always ships a class:

0 commit comments

Comments
 (0)