Skip to content

Commit a2d7fc6

Browse files
committed
refactor(core): remove unused legacy component helpers
1 parent 9eb2b13 commit a2d7fc6

20 files changed

Lines changed: 40 additions & 724 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,11 @@ elprobe run <package>
333333
`imperazim\components\commands` to `imperazim\library\command\override`.
334334
- Removed the legacy `imperazim\components\item\*` helpers from the core.
335335
Custom item/block/entity behavior should use LibCustom or plugin-owned code.
336+
- Removed unused legacy gameplay/utility component helpers from the core:
337+
camera, particle, sound, cooldown, combat, scheduler, datastore, event,
338+
messaging, metrics, HTTP/webhook, i18n and generic exception wrappers.
339+
These responsibilities now belong to owning plugins, focused official libs or
340+
future 3.x observability/notification layers.
336341

337342
### Documentation
338343

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,12 @@ Legacy `imperazim\components\item\*` helpers were removed from the 3.x core.
199199
Custom item/block/entity registration now belongs to LibCustom, either as an
200200
EasyLibrary package or as the standalone `LibCustom` plugin.
201201

202+
Additional old `imperazim\components` gameplay/utility helpers such as camera,
203+
particle, sound, cooldown, combat, datastore, event bus, plugin channel,
204+
metrics, scheduler, HTTP/webhook, i18n and generic exception wrappers were also
205+
removed from the 3.x core. Keep that logic in the owning plugin or move it to a
206+
focused official lib when one exists.
207+
202208
Use each standalone repository for complete API documentation and examples.
203209

204210
## Package and standalone modes

changelogs/3.0.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,6 +1525,11 @@ Reload rereads config files for future EasyLibrary operations. It does not:
15251525
- Legacy `imperazim\components\item\*` helpers were removed from the core:
15261526
`ItemFactory`, `UsableItemTrait`, `EvolutionaryItemTrait` and
15271527
`ItemException`.
1528+
- Additional legacy helper namespaces were removed because they were unused by
1529+
EasyLibrary and outside the 3.x core-manager responsibility:
1530+
`camera`, `particle`, `sound`, `cooldown`, `combat`, `scheduler`,
1531+
`datastore`, `event`, `messaging`, `metrics`, `http`, `network`, `i18n` and
1532+
generic `exception`.
15281533

15291534
### Why it changed
15301535

@@ -1537,6 +1542,12 @@ they modified PocketMine-MP item/runtime internals, were not used by
15371542
EasyLibrary itself and overlapped with LibCustom's responsibility for custom
15381543
items, blocks, entities and Bedrock components.
15391544

1545+
The additional removed helpers were similarly accidental surface area from the
1546+
old full-bundle era. Camera, particle, sound, combat and cooldown helpers are
1547+
gameplay/player-feedback concerns. HTTP/webhook, event bus, messaging and
1548+
metrics helpers need stronger lifecycle, retry, privacy and observability
1549+
contracts before they belong in the EasyLibrary ecosystem.
1550+
15401551
### Developer impact
15411552

15421553
Plugins should treat optional official libraries as optional providers unless
@@ -1546,6 +1557,10 @@ If a plugin imported `imperazim\components\item\*` from EasyLibrary, migrate the
15461557
custom registration work to LibCustom or keep simple cooldown/progression state
15471558
inside the plugin that owns the item behavior.
15481559

1560+
If a plugin imported one of the other removed helper namespaces, move that code
1561+
into the plugin itself for now. When a focused official lib exists, prefer that
1562+
package instead of depending on EasyLibrary core for gameplay or utility APIs.
1563+
15491564
Recommended mindset:
15501565

15511566
```text

docs/migration.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,20 @@ Removed 2.x-era helpers:
7171
| `imperazim\components\item\traits\UsableItemTrait` | Plugin-local logic or a future LibCustom/LibTrigger integration |
7272
| `imperazim\components\item\traits\EvolutionaryItemTrait` | Plugin-local progression logic or a future LibCustom metadata pattern |
7373
| `imperazim\components\item\exception\ItemException` | Domain-specific exception in the owning plugin/library |
74+
| `imperazim\components\camera\CameraAPI` | Plugin-owned player feedback or future visual/HUD-focused lib |
75+
| `imperazim\components\particle\ParticleEffect` | Plugin-owned effects or future visual/HUD-focused lib |
76+
| `imperazim\components\sound\SoundManager` | Plugin-owned feedback or future visual/HUD-focused lib |
77+
| `imperazim\components\cooldown\Cooldown` | Plugin-owned state or LibTrigger-style timing logic |
78+
| `imperazim\components\combat\CombatTag` | Gameplay plugin code, not EasyLibrary core |
79+
| `imperazim\components\scheduler\TaskSchedulerAPI` | PocketMine scheduler directly or package/plugin-owned service |
80+
| `imperazim\components\datastore\DataStore` | Plugin-owned service/state container |
81+
| `imperazim\components\event\EventBus` | Plugin-owned event layer or future Agent/Event integration |
82+
| `imperazim\components\messaging\PluginChannel` | Plugin-owned messaging or Agent Bridge integration |
83+
| `imperazim\components\metrics\Metrics` | Future EasyLibrary timings/observability layer |
84+
| `imperazim\components\http\*` | Future notification/webhook layer or plugin-owned HTTP client |
85+
| `imperazim\components\network\Webhook` | Future notification/webhook layer |
86+
| `imperazim\components\i18n\I18n` | Plugin-owned localization or future dedicated text/config lib |
87+
| `imperazim\components\exception\Exception` | Native/domain-specific exceptions |
7488

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

src/imperazim/components/camera/CameraAPI.php

Lines changed: 0 additions & 55 deletions
This file was deleted.

src/imperazim/components/combat/CombatTag.php

Lines changed: 0 additions & 45 deletions
This file was deleted.

src/imperazim/components/cooldown/Cooldown.php

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/imperazim/components/datastore/DataStore.php

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/imperazim/components/event/EventBus.php

Lines changed: 0 additions & 57 deletions
This file was deleted.

src/imperazim/components/exception/Exception.php

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)