8aa6769 Handle empty items in item lists
5f90bcb Fix item cost type reading
d068822 Add paperweight-mappings-namespace manifest attribute
a77e328 Put components in entity data through component rewriter Cursed, but possibly needed
9c84e0d Fix remapping of 1.20.5 CLICK_WINDOW_BUTTON
66e0453 Fix block protocols disconnect packet
7ec6888 Handle invalid command argument types The client ignores these presumably for modded servers Fixes #3806
c973394 Use raw data filler in 1.12->1.13
798b70c Be even more defensive about half valid items in hover events While they aren't particularly useful or intended, they were valid
1.20.5 client support; this one of the largest updates network-content wise, so expect rough edges. I'd also like to thank the wave of sponsors as well as the people that showed understanding for the 3 day delay. If it weren't for the sponsors, this update wouldn't have been even close to being usable already.
Important: The ViaVersion update for 1.21 will require Java 17 or above
- While we will still offer additional magical jars for Java 8 compatibility on releases for the foreseeable future, you should still make sure your server can run on Java 17 by then
- Even 1.8 servers can run Java 17. Most 1.8 server forks will also have proper support for it
- Some versions have an arbitrary/unnecessary Java version check from Spigot that prevent startup:
- For 1.16 and 1.17, use Paper's
-DPaper.IgnoreJavaVersion=true
startup flag - For 1.13 to 1.15, use any updated fork that just removes it. An unsafe (!) way of skipping Spigot's check is by using
-Djava.class.version=<supported Java class version>
- For 1.16 and 1.17, use Paper's
Fixes to previously added version support
- Added a large number of sanity checks to NBT reading to prevent errors from bad data
- Fixed Entity sound handling in some >1.19 protocols
- Fixed text components that are too long kicking 1.20.3 clients
- Fixed handling of null json entries in text components in 1.20->1.20.2
- Fixed 1.15->1.16 item attribute uuids
- Fixed various issues with text component handling in old protocols (by EnZaXD and RK_01)
- Fixed 1.12->1.13 enderman held block handling
- Fixed lots of text component translation issues in 1.8->1.9 (by EnZaXD)
- Fixed an issue with non-lowercase sounds in 1.8->1.9 (by EnZaXD)
- Ignore errors in custom payload reading in older protocols as per vanilla behaviour (by EnZaXD)
- Fixed an error when creating dumps on Sponge (by EnZaXD)
Also thanks to EnZaXD for lots of aid with 1.20.5, as well as RK_01, DrexHD, and Gerrygames for additional fixes!
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.
dcf741a Fix sound mapping lookup in 1.8->1.9 (#3801)
7ac7ea4 Add UserConnection to component rewriters as well
a152993 Add UserConnection to item rewriters Already required for ViaBackwards, later required for ViaVersion as well due to synchronized registry entries in items
1ed2232 Replace string->component conversion in 1.8->1.9 (#3794)
ce2ad7d Change default value for new ocelot setting (#3797)
33cc21d Add setting for ocelot->cat translation in 1.13.2->1.14 (#3796)
fb434a7 Use correct deserialization method in SerializerVersion#toComponent (#3795)
MCStructs has multiple methods for parsing jsons depending on the version, we should use them correctly in our wrapper to support all possible cases of components.
128e191 Fix 1.15->1.16 item attribute uuid (#3793)
bfde4b9 Fix 1.11->1.12 show_achievement rewriter (#3792)
a99273d Always call onMappingDataLoaded in TagRewriter In case they are needed in the future, so that we don't also have to check whether the different methods are actually called