PAR-307
0
Standardise soft-dependency integrations (PluginNameIntegration) + kill the Dependencies god-class
Pending ReleaseNormalUnassignedChestShopImprovement
Replace the Dependencies god-class with a standard integration abstraction:
integration/Integrationinterface: pluginName(), hook(Plugin)->boolean, required() (default false).- One
<PluginName>Integrationper soft-depend: WorldGuardIntegration, GriefPreventionIntegration, NexoIntegration, and TreasuryIntegration (which absorbs adapters/TreasuryEconomyProvider — the economy is an integration, and required()=true). integration/IntegrationRegistrar(@Singleton Listener) replaces Dependencies: hooks every present+enabled integration at enable, hooks late ones on PluginEnableEvent, and fails enable if a required integration is missing. Integrations are collected via a Guice Multibinder<Integration>.- adapters/TreasuryEconomyProvider deleted (logic → TreasuryIntegration); the WorldGuard onLoad flag registration stays a pre-Guice static call in ChestShop.onLoad.
Resources
- commit0a8d18a Standardise soft-dep integrations + kill the Dependencies god-class (PAR-307)ParadauxIO/hibernia-economy
Comments
No comments yet.
Activity
- tesks changed status to Status → Pending Release
- ParadauxIO linked a commit — Commit 0a8d18a — Standardise soft-dep integrations + kill the Dependencies god-class (PAR-307)
- tesks created the issue