1e2c5db Run full item hashing only once per pipeline By only hashing the original item in the first clientbound item rewriter, repeated expensive item hashing (mostly thanks to big text components) in every protocol can be avoided. It is eventually cached in the last clientbound/first serverbound protocol, to be restored immediately and then passed along to the end unchanged.
a11d7eb Improve nbt I/O stream performance A disgusting lot of micro optimization, but stuff that ends up being worth the troubles given how much data nbt tags make up with registry data, block entities and text components.
This generally reduces allocations and work done in reading due to how often the tag keys and values will be ASCII-only characters.
Writing fully drops the additional array allocation as well as extra iterations for length counting
This update includes some larger changes to how rewriters are registered internally, so custom platform implementations with additional protocol registrations may break. See SharedRegistrations.
- Fixed water physics sometimes breaking in 1.21.11->26.1
- Fixed kick when opening game rules edit screen in 1.21.11->26.1 (by EnZaXD)
- Fixed baby wolf textures in 1.21.11->26.1
- Fixed jukebox_playable song handling in 1.21.11->26.1
- Fixed time command messages in 1.21.11->26.1 (by EnZaXD)
- Fixed sneaking tracking during interactions 1.21.11->26.1 (by EnZaXD)
- Fixed swing animation when placing plants and some container-specific interactions in 1.21.11->26.1 (by EnZaXD)
- Handle nested enchantment terms (by DrexHD)
- Handle nested dialogs and dialog click events (by EnZaXD)
- Fixed hashing of attribute_modifiers with override text
- Fixed transient map_post_processing data component causing error in 1.20.5->1.20.3
- Fixed adventure mode predicate error in 1.20.4->1.20.5
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the previous update notes for more info.

