Skip to content

HyperProtect-Mixin v1.2.1

Choose a tag to compare

@derrickmehaffy derrickmehaffy released this 09 Mar 03:57
· 25 commits to main since this release

Hotfix: Critical classloader crashes in crafting and trade mixins

Server Version: 2026.02.19-1a311a592

Fixed

  • Critical: workbench crash (NoClassDefFoundError) — BenchPositionCapture and CraftingResourceFilter directly referenced the plugin-classloader CraftingContext class from mixin-injected code running in the server classloader, causing NoClassDefFoundError: com/hyperprotect/mixin/bridge/CraftingContext and disconnecting players when opening a workbench
  • Critical: world crash (NoClassDefFoundError) — CraftingResourceFilter used @Inject with CallbackInfoReturnable and BarterTradeInterceptor used @Inject with CallbackInfo — both reference Mixin library classes not on the TransformingClassLoader classpath, crashing the entire world thread and disconnecting all players
  • CraftingResourceFilter removed — merged slot 23 (crafting_resource) check into CraftingGateInterceptor's existing @Redirect, eliminating the unsafe @Inject
  • BarterTradeInterceptor rewritten — converted to @Redirect on data.getQuantity(), returns 0 to cancel trades via the method's built-in early return
  • All cross-mixin context replaced with System.getProperties()-backed ThreadLocals using bootstrap-class types only
  • All redirect bodies wrapped in try-catch for fail-safe operation — mixin errors can never crash players or the world thread

Changed

  • Mixin count reduced from 30 to 29 (CraftingResourceFilter merged into CraftingGateInterceptor)
  • OrbisGuard-compatible SAFE_MIXINS reduced from 15 to 14

📖 Full Changelog: https://github.com/HyperSystems-Development/HyperProtect-Mixin/blob/main/CHANGELOG.md