c9d6fbf Add VersionProvider#getServerProtocol (#4049)
Most platforms won't ever throw an error and usually ViaVersion shouldn't even load when the server version can't be found. Therefore, I added this bouncer function, so I don't need to try catch my code in ViaLoader/VFP where an exception is never thrown
b599399 Cleanup 1.20->1.20.2 item and recipe rewriter (#4050)
721e27e Rewrite show_item in translation components in 1.11.1->1.12 (#4053)
b1f64fd Use enhanced switches in more places (#4043)
2b50856 Move damage types 1.20.3 into nbt file (#4026)
24d0ae7 Add ViaManager#addPostEnableListener (#4038)
b5a0618 Fix item projectile hierarchy in 1.14+ (#4034)
40a44d5 Remove version type from dump (#4036)
35fa7e7 Handle attribute_modifiers inside container components in 1.21->1.20.5 (#4035)
7f4faab Add 1.21 to the version table (#4037)
3906b47 Apply required changes for ViaAprilFools (#4033)
- Allow the version provider to get the client version sent through the handshake packet
- Allow platform to override provider instead
1476adb Slightly improve logging on config loading errors
6fb0721 Removes VFP as well and recommends ViaBackwards/ViaRewind on both platforms (#4032)
f2f0be0 Allow base protocols to set client version (#4029)
5ec30ef Expose origin version in RedirectProtocolVersion (#4030)
0915afe Handle 1.21 attribute id changes Fixes #4005
87b041b Fix block predicate conversion in 1.20.3->1.20.5 (#4025)
275b09b Use SerializerVersion#toTag when converting 1.20.5->1.20.3 block predicates (#4024)
cc87c02 Add shulker box block entity id if missing
a45985e Validate index when reading structured data type (#4020)