ChestShop's transaction/info messages crashed at runtime (IncompatibleClassChangeError): the bundled de.themoep MineDown library has an internal type (Util$TextControl) that implements net.kyori.adventure.text.format.TextFormat, which is now a sealed interface in modern Adventure — incompatible whether Adventure is bundled (relocated) or native. The earlier "use Paper's native Adventure" change only deferred it (the plugin had previously died at enable on a missing Adventure class, before any message was sent).
Fix (the fork doesn't need multi-language support): rip out MineDown and the de.themoep LanguageManager entirely and move ChestShop messaging onto the same HiberniaFramework i18n stack Treasury/Business use.
languages/lang.*.yml files; English text now lives in messages.properties (MiniMessage + {placeholder}), backed by the framework Message bean.Messages is now a thin adapter over ChestShop.message() (the framework Message) — its public API is unchanged, so the ~28 call sites are untouched. Item icons render via a ComponentLike {item} placeholder (message.component(key, "item", itemComponent, …)), replacing MineDown's Replacer.LegacyComponentSerializer.legacySection().adventure-platform-bukkit/BukkitAudiences, MineDown and lang-bukkit deps; Adventure is now Paper-native (compileOnly serializers). Jar shrinks further.Verified: ChestShop enables; the framework loads all chestshop.* keys; market tracker starts; no IncompatibleClassChangeError. In-game buy/sell still wants a manual smoke test, but the offending library is gone.