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
4302dd6 Remove Protocol1_9To1_8#FIX_JSON usage in 1.11->1.12 (#3791)
98c5d38 Push book contents through component conversion in 1.8->1.9 (#3790)
bd8e469 Fix IdAndData constructor without data field (#3789)
57d7fd5 Change IdAndData#setData parameter to int (#3788)
8fe0681 Replace incoming/outgoing usages with client/server bound (#3787)
ea5cf3e Add IdAndData util and replace conversions (#3786)
0c2c840 Make handling of optional block metadata more explicit in <1.19.4 (#3782)
2586788 Fix config read/write error when parent file is null (#3783)
6f53c06 Fix 1.12 -> 1.13 held enderman block translation (#3781)