b7f388b 1.20.5 -> 1.20.3: nullify empty tags (#3949)
Co-authored-by: AJ Ferguson AJ-Ferguson@users.noreply.github.com
824ff37 Fix GameMode#getById behaviour in 1.8->1.9 (#3947)
Vanilla fallbacks to SURVIVAL and doesn't throw any errors, also NOT_SET was missing previously.
8bec05e Fixup hardcore handling on join in 1.8->1.9 (#3946)
-
Fix players crashing when logging into a 1.8 server on hardcore mode, Fixes #3944
-
Requested change to #3944 fix
b367caa Add Charged item tag if there's charged projectiles Closes ViaVersion/ViaBackwards#787
1.21 client support!
Java 17 requirement
- See https://docs.papermc.io/misc/java-install on how to update your Java version
- Even Minecraft 1.8 is mostly able to run on Java 17, although for a better experience you should use a fork that fixes smaller issues
- Some older versions require the
Paper.IgnoreJavaVersion
system property to be set (-DPaper.IgnoreJavaVersion=true
as a startup flag), but run perfectly fine using Java 17 - If all else fails, use the Java 8 compatibility builds we provide at risk of not receiving support for issues it could cause - you should not make yourself depend on these too much, they will generally only be updated on releases
Other important changes
The main ViaVersion jar no longer supports Bungee and Sponge, they have been moved to separate plugins. Sponge has seen almost no usage and the current Bungee platform is pretty broken due to missing injection points, + Bungee has generally been unusable for weeks after every recent Minecraft update.
- Bungee/Waterfall support has been moved to: https://hangar.papermc.io/ViaVersion/ViaBungee (currently still not working)
- ViaVersion (and other Via plugins if wanted) need to be put into
plugins/ViaVersion/
for ViaBungee to load them
- ViaVersion (and other Via plugins if wanted) need to be put into
- Sponge support has been moved to: https://modrinth.com/plugin/viasponge
- ViaVersion (and other Via plugins if wanted) need to be put into
config/viaversion/
for ViaSponge to load them
- ViaVersion (and other Via plugins if wanted) need to be put into
- ProtocolSupport compatibility has been moved to an addon, since PS has been dead for a while and VR+VB are generally more usable across versions now
The config option checkforupdates
has been changed to check-for-updates
; you will need to toggle the new value manually if you had toggled the old one.
API changes
Type
instances are now held inTypes
to prevent classloading issues- Packet sending/receiving related methods are no longer spammed with
throws Exception
- Packet type names, among others, have changed to reflect vanilla names
- For automated mass-replacement of such renames and package changes (mostly for platforms implementing ViaVersion), see https://gist.github.com/kennytv/5bc5bd6efb4c0a07e8a2020f2f2131b7
- Removed a number of deprecated methods
Fixes and other changes
- Added
handle-invalid-item-count
config option to gracefully handle items with invalid stack sizes in 1.20.3->1.20.5 (by EnZaXD) - Added
viaversion player <*/playername>
subcommand to view protocol info of a specific player (by EnZaXD) - Ignore invalid chunk entities in 1.20.3->1.20.5
- Fixed issues with thrown projectiles for 1.20.5 clients on 1.19 servers and older
- Fixed various issues due to missing tags (by RK_01)
- Fixed various block entity tags in 1.20.3->1.20.5 (by EnZaXD)
- Fixed conversion of firework tags without explosions in 1.20.3->120.5 (by EnZaXD)
- Fixed positionless lodestone tracker conversion (by EnZaXD and Pantera07)
- Fixed painting items with specific variant tags in 1.20.3->1.20.5
- Fixed villager trade handling when they contain empty items in 1.20.3->1.20.5
- Fixed various issues in show_item conversion in 1.20.3->1.20.5 (by EnZaXD)
- Fixed items with custom names not being italic sometimes in 1.12.2->1.13 (by EnZaXD)
- Changed logs/warnings to include the relevant version (by EnZaXD)
- Fixed book signing in 1.8->1.9 (by EnZaXD)
- Fixed block place sounds playing twice in 1.8->1.9 (by EnZaXD)
- Small fixes to edge cases in data parsing in various versions (by EnZaXD)
- Backup negative item amounts in 1.10->1.11 for creative mode clients (by EnZaXD)
- Changed
viaversion displayleaks
subcommand to be able to set detection level (by EnZaXD)
... and more
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.
ec976df Add method to remove sub commands from command handler (#3941)
9a9ca96 Cleanup /viaversion list and pps command (#3933)
c68915b Add /viaversion player <name|*> command (#3932)
9e523c3 Fix book signing in 1.8->1.9 (#3939)
4a70e0e Fixup command registration once again (#3937)
72cc9e9 Add ability to detection level in /viaversion displayleaks (#3934)
1039b85 Add remaining item types to item rewriter implementations (#3931)
01ea51e Add armor stand entity id to ENTITY_DATA in 1.20.3->.5 (#3930)
ae30420 Add trade list rewriter functions to ItemRewriter (#3926)
d0ed528 Save negative item amounts in 1.10->1.11 (#3921)
2fba2c1 Don't send empty items in 1.8->1.9 hand item provider (#3920)
b77d0fe Remove no longer needed empty item check in entity data Also fixes bad null values being set there
c07adfd Add StructuredItem#emptyArray (#3915)
1e244a1 Handle optional item cost nullability
842cb8d Change items to not be nullable in 1.20.5+ With the server and client actually having empty checks in many places now, this simplifies empty checks going forward