Paradaux

PAR-314

0

Make each integration one self-contained class; fix the Nexo↔ItemService layering

Pending ReleaseNormalUnassignedChestShopImprovement

Follow-up to PAR-312. Undo the per-plugin subpackages (those were meant only for models, if needed) — integrations live flat in integration/. Each integration becomes one self-contained class: WorldGuardIntegration absorbs WorldGuardProtection/Building/Flags, GriefPreventionIntegration absorbs GriefPreventionBuilding, NexoIntegration absorbs Nexo. The plugin-API (com.sk89q / com.nexomc / GriefPrevention) code goes into PRIVATE NESTED classes so those types stay class-loading-isolated (each integration is instantiated at enable to build the Set<Integration> even when its softdepend plugin is absent — folding the API refs into the always-loaded outer class would risk NoClassDefFoundError). Also fix the layering: ItemServiceImpl called Nexo static methods directly (service depending on integration code) — introduce a CustomItemResolver plug on ItemService that NexoIntegration registers, so the service no longer imports Nexo.

Resources

Comments

No comments yet.

Activity

  • ParadauxIO linked a commit — Commit 864ce64 — Merge Nexo into NexoIntegration — one self-contained class (PAR-314)
  • tesks changed status to Status → Pending Release
  • ParadauxIO linked a commit — Commit a7ff74a — Make each integration one self-contained class; fix Nexo↔ItemService layering (PAR-314)
  • tesks created the issue