promotional bannermobile promotional banner

MixinTale

MixinTale is a Harmony-like bytecode patching framework for Hytale that applies patches early and safely using an annotation-driven API and a compile-time index

File Details

MixinTale-Bootstrap-2.0.0.jar

  • R
  • Feb 22, 2026
  • 5.46 MB
  • 3.7K
  • Early Access

File Name

MixinTale-Bootstrap-2.0.0.jar

Supported Versions

  • Early Access

Breaking changes

  • Complete rewrite of MixinTale (v1 was a minimal, experimental prototype and was not production-ready).
  • Patch discovery is now index-driven (via generated mixintale.index.json) instead of relying on fragile runtime behavior.
  • Runtime weaving strategy changed: handlers are now copied into the target class, removing the need for target classes to reference patch classes at runtime.
  • Updated/standardized annotation contract and matching rules (method descriptors, internal names, callsite matching).

Added

  • Full patch action set:
    • @Prefix, @Postfix, @Replace
    • Callsite patching: @RedirectCall, @WrapCall
    • Parameter roles: @This, @Arg, @Result
    • Operation<R> for safe “call original” behavior in wrap handlers
  • Annotation processor that generates a per-mod patch index (mixintale.index.json).
  • Deterministic patch ordering (stable application rules + priority support).
  • Stronger validation and better error reporting for mismatches (require, ordinal, descriptor mismatches).

Changed

  • Logging improved to better highlight applied/failed actions and why.

Fixed

  • Numerous stability issues from v1 where patches would silently not apply, apply inconsistently, or fail due to classloader visibility.
  • Reduced risk of NoClassDefFoundError / runtime linkage issues by eliminating runtime references to patch classes.

Performance

  • Faster and more reliable patch discovery (no expensive scanning; index is read directly).
  • More predictable weaving and reduced nondeterministic behavior across environments.