Paradaux

PAR-291

0

Port native Nexo/ItemsAdder custom-item support into ChestShop (from NexoUtilities)

Pending ReleaseUnassignedChestShop

Port the DemocracyCraft NexoUtilities plugin's ChestShop integration (its ChestShopItemListener + ItemManager + AliasManager) directly into the ChestShop fork, so ChestShop handles Nexo/ItemsAdder custom items natively without a separate companion plugin.

The old code hooked upstream ChestShop's ItemParseEvent / ItemStringQueryEvent event bus, which PAR-282 removed. Re-implemented against the fork's ItemService resolution seam, mirroring the existing ItemBridge static-facade pattern:

  • New plugins/Nexo.java — static facade with parseItem(String) (sign string → Nexo ItemStack) and queryString(ItemStack, int) (Nexo item → sign string), plus the ported item logic (Nexo id via nexo:id PDC / ItemsAdder namespace, NexoItems.itemFromId, item cleaning for stable NBT, dye tags Item#red/Item#hex-RRGGBB, autographed-item passthrough, per-variant metadata codes round-tripped through the fork's ItemCodeService). Aliases + display/input prefs load from a generated nexo.yml. com.nexomc.nexo classes stay off the call path until the plugin is hooked.
  • ItemService: nexoEnabled flag + enableNexo(); Nexo added as the first resolver in parse/queryString; reloadAliases() reloads nexo.yml.
  • Dependencies: Nexo softdepend hook (enum + loadPlugin case) calling items.enableNexo().
  • plugin.yml: Nexo softdepend. build.gradle.kts: com.nexomc:nexo:1.15.0 compileOnly (non-transitive) + repo.nexomc.com/releases.

Verified: :chestshop:build green, Nexo not shaded, server enables cleanly with Nexo absent (no NoClassDefFound — off-path design holds), full ChestShop integration suite green (no item-resolution regression). Runtime resolution of real Nexo items needs a live server with Nexo + defined items to validate.

Resources

Comments

No comments yet.

Activity

  • ParadauxIO linked a pull request — PR #2 open — Last major release
  • ParadauxIO linked a pull request — PR #2 open — Last major release
  • ParadauxIO linked a pull request — PR #2 open — Last major release
  • ParadauxIO linked a pull request — PR #2 open — Last major release
  • ParadauxIO linked a pull request — PR #2 open — Last major release
  • ParadauxIO linked a pull request — PR #2 open — Last major release
  • ParadauxIO linked a pull request — PR #2 open — Last major release
  • ParadauxIO linked a commit — Commit b1d4d42 — Default Nexo sign display to bare ids so shops actually create (PAR-291)
  • tesks changed status to Status → Pending Release
  • ParadauxIO linked a commit — Commit 107a2de — Port native Nexo/ItemsAdder custom-item support into ChestShop (PAR-291)
  • tesks created the issue