Files
2026-05-23 13:25:19 +01:00

18 KiB

Changelog

2.5.0 (2026-05-23)

Features

  • add per-player module override api (53780bc)
  • add per-player module override api (c2043e2)
  • api: expose per-player modeset controls (b3a6039)
  • api: publish player state change events (6f33807)
  • improve API & introduce API.md (a091b06)
  • migrate default world modesets (8e9ee90)
  • per-item cooldown (890c41f), closes #856
  • rewrite in kotlin (d4eee15)
  • show build commit in version output (e20fe98)
  • support default world modesets (7d3b417)

Bug Fixes

  • armour: apply mixed-mode armour strength by defender (f32671b)
  • armour: respect modesets for explosion defence (#861) (729c311)
  • attack-range: detect Paper data component support (b12829d)
  • compat: avoid hot-path optional API reflection (8f14b8b)
  • compat: clarify semantic version gates (b5341f3)
  • compat: detect API capabilities for version gates (bfbb2e4)
  • damage: respect bypasses_cooldown damage types #864 (83a7154)
  • modesets: correct stale stored world modesets (#865) (b0f451d)
  • reflection: compare Minecraft versions lexicographically (67e266c)
  • respect MythicMobs no-knockback damage (#860) (a25e0ed)
  • shields: apply mixed-mode blocking by defender (20249db)
  • tool-damage: apply mixed-mode weapon damage by attacker (eb905f2)
  • validate module override bulk updates (c6e14ba)

2.4.0 (2026-03-08)

Features

  • togglable paper sword blocking (5d3887d)

Bug Fixes

  • don't overwrite swords on every click #843 (4323853)
  • inventory: harden stale deferred item mutation paths (a92664d)
  • reflection: tighten chooser compatibility fallback (f383340)
  • strip sword consumable component (4624ac0)
  • sword-blocking: clear sword consumable components on reload when disabled (b887a28), closes #845
  • sword-blocking: fall back to shield for pre-1.20.5 clients (388bee5), closes #842
  • sword-blocking: harden inventory fail-safes to prevent ghosting (8889bfe)
  • sword-blocking: harden legacy death shield drop reconciliation (2bb730e)
  • sword-blocking: prevent GUI click/drag item rewrites & fallback unknown clients to shield (cfc596c)
  • sword-blocking: prevent legacy fallback from cancelling unrelated shield interactions (727fa97)
  • sword-blocking: restore offhand item for pre-1.20.5 fallback clients (68073e8)
  • sword-blocking: sweep stale consumable state on join/quit/world (96d6981)

2.3.0 (2026-01-24)

Features

Bug Fixes

  • 'disable-offhand' module working even if disabled (ecca0b5)
  • disable-offhand handling on modeset change (54aaf0c)
  • apply old tool damage to all mobs (91b121f), closes #735
  • chorus fruit tp into blocks (bba1ecb), closes #748
  • clear modules list on reload (ebdfd10)
  • double strength effect when old-potion-effects disabled (4cecb64), closes #781
  • fire damage overwriting lastDamage (9af8a0f), closes #707
  • legacy (pre-1.11) sweep detection (2825b35)
  • negative last damage (1321717), closes #765
  • only strip consumable on swords (e01faea), closes #841
  • reflection error on weapon enchant (10ff4ce), closes #840
  • skip unknown sound packets (cfa1e58)
  • unknown particles. (1408720), closes #825
  • weakness calc on >=1.20 (f502adb)
  • weakness calculations for amplifier > 1 (d866015)

Performance

  • attack-cooldown-tracker: gate sampler by API presence and use HashMap for stable caching (b605501)
  • disable-enderpearl-cooldown: use HashMap and lazily drop expired cooldown entries (83ff726)
  • fishing-rod-velocity: replace per-hook gravity tasks with single shared tick runner (5856bed)
  • old-armour-durability: replace per-explosion suppression task with shared 1-tick expiry cleaner (c7932d6)
  • old-player-regen: switch to tick-based interval tracking with shared counter task (4f8df3c)
  • player-knockback: replace per-hit cleanup tasks with shared 1-tick expiry cleaner (9667ef5)
  • shield-damage-reduction: replace per-hit fully-blocked cleanup tasks with shared 1-tick expiry cleaner (a18b1ef)
  • sword-block: reduce amount of recurring tasks (a08b5b4)
  • use one task to clear EDBEE map (11ec51b)

2.2.0 (2025-10-14)

Features

  • add fallback sound reflection logic (1592dc2)

Bug Fixes

Documentation

2.1.0 (2025-08-21)

Features

  • compat with 1.21.8 enums (68c51ab)
  • make config upgrader remove deprecated keys (e728374)
  • remove deprecated modules (da3d5f0)

Bug Fixes

  • check fishing knockback module enabled when reeling in (31e3877), closes #803
  • disable attack sounds not working in >1.21 (b355322), closes #794
  • ExceptionInInitialiserError in enchantment compat (b2379cc), closes #782
  • improve sound packet compatibility (4ef28fb), closes #780
  • null pointer in potion compat (b30e27d), closes #791
  • unmentioned worlds modesets not allowed #792 (95c9446)

Refactoring

  • improve fishing knockback cross-version compat (d119c9f)

2.0.4 (2024-10-28)

Bug Fixes

  • avoid ghost items after sword block restore (822fb1f), closes #749
  • don't prevent moving shield to chests in disable offhand module (b299df2)
  • error when right clicking air while holding block in <1.13 (cbc0c4b), closes #754
  • listen to dynamically loaded worlds for modesets (f5b59d7), closes #747
  • resolve elytras always unequipped by removing out-of-scope module (07106e6), closes #725
  • fix sword blocking shield ending up in inventory on world change (8aa3fa3), closes #753