- Fixed errors with items containing new block entity data in 1.21.9->1.21.7
- Fixed object text component handling in 1.21.9->1.21.7 (by EnZaXD)
- Fixed debug sample subscriptions in 1.21.7->1.21.9 (by EnZaXD)
- Fixed inverted hidden data component checks in 1.21.5->1.21.4
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
[e8637e5](https://github.com/ViaVersion/ViaBackwards/commit/e8637e5) Update sound mapping format
VV now includes full sound name mappings, so VB can map them via registry indexes and doesn't need the extra sound file anymore
Added 1.21.9 server support
- Added `dialog-style` config section and fixed some issues with dialog emulation in 1.21.8->1.21.7 (by EnZaXD)
- Fixed a regression in item handling across a few versions
- Fixed sound handling in biome registry elements (by EnZaXD)
- Fixed type reading in server links in 1.21.6->1.21.5 (by purpurcof)
- Fixed stats mappings in 1.21.6->1.21.5 (by EnZaXD)
- Fixed HIDE_ADDITIONAL_TOOLTIP not being set properly in 1.21.5->1.21.4 (by EnZaXD)
- Fixed an error on Folia servers in 1.21.2->1.21 (by riku6460 and EnZaXD)
- Fixed entity sound packets for the self player in 1.14->1.13.2 (by EnZaXD)
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
[473b4af](https://github.com/ViaVersion/ViaBackwards/commit/473b4af) Add missing check whether the player is set in client tick emulation 1.21.2->1.21 (#1090)
[be5344b](https://github.com/ViaVersion/ViaBackwards/commit/be5344b) Reassign item on handleItemToClient calls
Needed in rewriters before 1.20 with a recent change; the rest weren't technically necessary
- Fixed hidden tooltip in emulated dialog item widgets in 1.21.7->1.21.6
- Fixed velocity desync for entities like items in 1.21.6->1.21.5 (by Pantera07)
- Fixed minecarts losing their type on interact in 1.21.5->1.21.4
- Fixed missing recipes in recipe book in 1.21.2->1.21 (by Pantera07)
- Fixed creative mode breaking attribute modifier custom ids in 1.21->1.20.5
- Improved item rewriting performance in protocols below 1.20.5
- Fixed potion color being lost in 1.10->1.9
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
[9243468](https://github.com/ViaVersion/ViaBackwards/commit/9243468) Fix style and remap translations for item description in 1.21.6->.5 dialogs (#1048)
Added 1.21.6 server support - Dialog screens for older clients are not implemented yet and will be invisible. Emulation using chests is planned for the next release
- Added `map-display-entities` config option to disable display entity to armor stand handling (by EnZaXD)
- Added alternative scaffolding mapping via `scaffolding-to-water` config option in 1.14->1.13.2 (by NekosAreKawaii, EnZaXD)
- Fixed errors from test block entities (by EnZaXD)
- Remove 0-level enchantments in 1.21.2->1.21 (by EnZaXD)
- Fixed possible errors from item data containing new blocks (by EnZaXD)
- Fixed some entity removal checks on respawn across versions (by EnZaXD)
- Fixed various text component conversion errors across versions (by kennytv, EnZaXD)
- Don't show enchantment level if both level and max level are 1 in 1.21->1.20.5 (by riku6460)
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
[6a59e88](https://github.com/ViaVersion/ViaBackwards/commit/6a59e88) Attempt to convert serverbound clicks to hashed items in 1.21.5
This will fix desyncs on item drags due to the server missing the individual data hashes. Some are not implemented, in which case it will still cause those sames issues, but generally this will fix its handling for most items
- Various fixes to text component rewriting in 1.21.5->1.21.4 and 1.20.5->1.20.3 (by bluegreensea, EnZaXD)
- Fixed the advancement background texture being missing in 1.21.5->1.21.4 (by booky10)
- Change copy_clipboard click actions to suggest_command in 1.16->1.15.2 (by EnZaXD)
- Be more lenient with other plugins sending entity data for entities that don't exist
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
[53584b0](https://github.com/ViaVersion/ViaBackwards/commit/53584b0) Trim string tag in 1.20.5->1.20.3 show item hovers
Fixes ViaVersion/ViaVersion#4457
[7f97ae8](https://github.com/ViaVersion/ViaBackwards/commit/7f97ae8) Cancel more new entity data types directly
Be more lenient with plugins sending data for entities that don't exist...
1.21.5 server support - requires ViaVersion 5.3.0
- Added handling for show item hover events in 1.20.5->1.20.3 (by EnZaXD)
- Fixed player rotation reading in 1.21.2->1.21
- Fixed inverted horizontal player input when in a vehicle in 1.21.2->1.21
- Fixed inlined jukebox song item data with creative mode clients in 1.21->1.20.5
- Fixed blocks in minecarts in 1.17->1.16.4
[7eb0522](https://github.com/ViaVersion/ViaBackwards/commit/7eb0522) Also remove data component overrides in hover events
Fixes ViaVersion/ViaVersion#4395
1.21.4 server support
- Block and item display entities now have basic translation handling in 1.19.4->1.19.3 (by EnZaXD)
- Fixed Folia compatibility (by 404Setup)
- Fixed rubberbanding around virtual entity plugins in 1.21.2->1.21
- Fixed some item handling in 1.21.2->1.21
- Fixed player info update list order reading in 1.21.2->1.21 (by Gerrygames)
- Fixed smithing table containers in 1.21.2->1.21
- Fixed recipe removal in 1.21.2->1.21
- Fixed dust_color_transition/dust particle options in custom biome data in 1.21.2->1.21
- Fixed creative clients eating up new item data components in 1.21.2->1.21 and 1.21->1.20.5 (by EnZaXD)
- The darkness effect is now properly mapped to blindness in 1.19->1.18.2 (by EnZaXD)
- Fixed `fix-1_13-face-player` not working after changing its value and running /viaversion reload (by EnZaXD)
Known issues:
- Picking blocks/entity spawn eggs will not work for 1.21.4 clients. A Paper-platform-specific fix will be looked into, but this might not be fixable otherwise.
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
- Fixed issues with creaking entities, some new blocks and particles in 1.21.2->1.21
- Fixed writing of new player info list order in 1.21.2->1.21 (by EnZaXD)
- Fixed painting entity data in 1.21.2->1.21
- Fixed disconnect on join for older 1.20 clients on 1.21.2 servers because of unknown registry
- Fixed empty custom data tags sometimes being removed with creative clients on 1.20.5/1.21 (by EnZaXD)
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
**1.21.2/3 server support**
- Note that due to major changes in how recipes are sent to the client, the recipe book will not be fully usable for olders clients on 1.21.2+ servers
- Fixed the darkness effect resulting in a black screen in 1.20.5->1.20.3
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
[0bac920](https://github.com/ViaVersion/ViaBackwards/commit/0bac920) Don't remove configuration packet storage on login
Needed with proxies if a server is doing nonstandard optimizations
Fixes #881
[0b3a792](https://github.com/ViaVersion/ViaBackwards/commit/0b3a792) Properly read unused light data in 1.17->1.16
Some servers for some reason do this
[eb4d30a](https://github.com/ViaVersion/ViaBackwards/commit/eb4d30a) Always map command to signed command in 1.20.5->1.20.3
Sending any message, any non-message command, and again any message would kick the client with a chat validation error. Let's see if this is better
[9ca5236](https://github.com/ViaVersion/ViaBackwards/commit/9ca5236) Map wind charges to shulker bullets instead of llama spit
Spit has gravity by default and a short lifespan
Fixes #868
- Fixed error from wolves with armor in 1.21->1.20.5
- Fixed crafter disabled slots in 1.21->1.20.5
- Fixed new items in item hover events erroring in 1.21->1.20.5
- Fixed custom armor trim pattern and material handling in 1.20.5->1.20.3
- Fixed an edge case with custom item frame rotation handling in 1.17->1.16.4 (by EnZaXD)
- Fixed an edge case with custom experience orb spawning in 1.14->1.13.2 (by EnZaXD)
- Fixed possible component errors in signs in 1.12->1.11 (by EnZaXD)
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
- Added a `bedrock-at-y-0` config option to display a full bedrock layer at y 0 in 1.17->1.16 (disabled by default, may cause issues with anticheats)
- Added a `sculk-shriekers-to-crying-obsidian` config option for an alternate 1.19->1.18.2 block mapping to avoid block breaking issues (by EnZaXD)
- Fixed race condition leading to mapping loading error on startup
- Fixed kicks with shulker boxes from creative mode clients in 1.21->1.20.5
- Fixed issues with enchantment lore and enchantment hints in 1.21->1.20.5, use translatables instead of hardcoded numbers in added enchantment lore in older protocols (by kennytv and EnZaXD)
- Fixed attribute modifiers rewriting within containers in show_item components (by EnZaXD)
- Fixed block predicate conversion in 1.20.5->1.20.3 (by EnZaXD)
- Fixed falling blocks in 1.20.3->1.20.2 (by EnZaXD)
- Tridents and banner pattern items show the correct 1.21 rarity in 1.21->1.20.5 (by EnZaXD)
- Fixup handling of attribute keeping on respawn in 1.16->1.15.2 (by EnZaXD)
- Fixed translatable handling in lore conversion in 1.14->1.13.2 (by EnZaXD)
- Fixed missing advancement component rewriting (by EnZaXD)
- Fixed sometimes wrong enchantment remapping in 1.21->1.20.5
- Fixed certain item interactions in 1.21->1.20.5 like placing boats or throwing potions (by EnZaXD)
- Fixed handling of maps containing 1.21 trial chamber markers
- Handle translatables in the new item name item data component in 1.21->1.20.5
- Fixed wrong client side charged state of a crossbow in 1.20.5->1.20.3
- Rewrite translatabales in inventory title names in 1.20->1.19.4 (by EnZaXD)
- Fixed disconnects due to missing tags with certain older clients on 1.20.5+ servers
- Fixed infinite effect duration handling in 1.19.4->1.19.3
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
### 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](https://ci.viaversion.com/view/ViaBackwards/job/ViaBackwards-Java8/) 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
### Fixes
- Added new config option to suppress emulation warnings (by EnZaXD)
- Fixed horse inventories in 1.20.5->1.20.3
- Fixed llama carpet/horse armor display in 1.20.5->1.20.3 (by EnZaXD)
- Slightly improved item comparison in 1.20.5->1.20.3 by removing empty tags
- Fixed sniffer entity data errors in 1.19.4->1.19.3
- Fixed UPDATE_LISTED player profile update in 1.19.3->1.19.1 (by EnZaXD)
- Emulate recovery compass using lodestone compass in 1.19->1.18.2 (by EnZaXD)
- Fixup respawning throwing errors sometimes in 1.19->1.18.2 (by EnZaXD)
- Fixed display of player heads without ids in 1.20.2->1.20 (by Pantera07)
- Added missing handling of inlined block states in block state particles (by EnZaXD)
- Added missing translations in legacy protocols (by EnZaXD)
- Fixed client side damage on cancelled block placement in 1.11->1.10
- Small fixes to edge case in data parsing in various versions (by EnZaXD)
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaVersion/releases/tag/4.9.3) for more info.
[bc3d6b9](https://github.com/ViaVersion/ViaBackwards/commit/bc3d6b9) Resend damageable item on cancelled block break in 1.11->1.10
The client assumes durability changes, so we have to resend the item
- Fixed entity effect particle colors (by EnZaXD)
- Fixed criteria handling for custom enchantments in 1.20.2->1.20
- Fixed player head handling
- Fixed (custom) banner handling
- Invalid heightmap tags are now ignored in 1.17->1.16 (by EnZaXD)
- Updated 1.10 red nether brick item name to match vanilla name (by EnZaXD)
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaBackwards/releases/tag/4.9.2) for more info.
- Fixed click container button handling (by Gerrygames)
- Fixed handling of new 1.20.5 banners
- Fixed translatable handling (by EnZaXD)
- Fixed entity effect reading below 1.20.2
- Fixed advacements display in 1.20.2->1.20 (with help from Krakenied)
- Fixed listener registration on 1.8 servers
- Paper servers now skip jar remapping of ViaVersion
If you want to get larger version updates early, consider supporting me via https://viaversion.com/donate. See the [previous update notes](https://github.com/ViaVersion/ViaBackwards/releases/tag/4.9.2) for more info.
[ddeaf92](https://github.com/ViaVersion/ViaBackwards/commit/ddeaf92) Register listeners a tick later
Because 1.8 has task registration order reverse???
Fixes #730
1.20.5 server support; this one of the largest updates network-content wise, so expect rough edges that may not be entirely fixable. While ViaVersion is already complete and stable, ViaBackwards will still need more polishing around certain things like item hover events and trim pattern/material handling.
- Added a large number of sanity checks to NBT reading to prevent errors from bad data
- Fixed 1.20.3->1.20.2 cloud particle handling
- Fixed 1.20.2->1.20 entity sound handling
- Updated the legacy mapping file format (by EnZaXD). If you had changes to these, you will need to redo them, see the wiki for more detail later: https://github.com/ViaVersion/ViaBackwards/wiki
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](https://github.com/ViaVersion/ViaBackwards/releases/tag/4.9.2) for more info.
## Important release schedule change
**Starting 1.20.5, ViaVersion and ViaBackwards will only be released a day or so *after* a Minecraft update** unless the protocol changes of the update were trivial. If you want early-access, usually days or even weeks before the final release, you can subscribe to either:
- [GitHub Sponsors](https://github.com/sponsors/kennytv/sponsorships?sponsor=kennytv&tier_id=385613&preview=false) (preferred option. Use the `/verify` command on this Discord after), or alternatively
- [Patreon](https://www.patreon.com/kennytv/membership) (see the highest tier and make sure to link Patreon to your Discord account under Settings->Connections)
This also includes access to a private repository with the code, which will be pushed to the public repository after the given delay on a Minecraft update.
At the same time however, bug fix patches will be released more regularly, always immediately public, and more of the low-priority issues will be tackled.
Due to the insane pace Mojang has been adding more and more complex technical features since 1.19/1.20, updating ViaVersion and making sure it works well enough has become a lot more time-consuming. Without some extra incentive, I can't really justify putting increasing amounts of free time into these updates, no matter how much I enjoy doing them.
## Changes
- Added sanity checks to item reading across all versions
- Fixed various issues in 1.20.3->1.20.2 issues, including component conversion
- Fixed 1.20.2->1.20 tag handling
- Fixed 1.17->1.16 map data reading
- Fixed writable book handling in 1.16->1.15
- Fixed chunk loading game state handling in 1.20.3->1.20.2 (by FlorianMichael)
- Fixed 1.13.1->1.13 item handling (by camdencove)
Note: Via* on BungeeCord does not work properly at the moment, we recommend using our plugins either on the backend servers or on Velocity instead.
[d30766a](https://github.com/ViaVersion/ViaBackwards/commit/d30766a) Fix ordering issue in login ack send on the server
Fixes 1.20.2+ Fabric servers with Fabric API
[bce716c](https://github.com/ViaVersion/ViaBackwards/commit/bce716c) Don't expect enables features to always be sent
The client defaults to the vanilla registry, so it doesn't need to be sent
Fixed an array of 1.20.2->1.20 issues
- Fixed trade list sending
- Fixed setting the secondary beacon effect
- Fixed custom potions
- Fixed spawning of players with current velocity
- Fixed configuration state handling issues
[92c160c](https://github.com/ViaVersion/ViaBackwards/commit/92c160c) Fix trade list sending
Forgot to remove cancellation from initial configuration testing
Fixes #594
1.20.2 server support
- Fixed handling of new 1.20 items in 1.20->1.19
- Fixed handling of new 1.20 trim patterns in 1.20->1.19
- Improved edge-case handling of 1.13->1.12
- Fixed 1.16->1.15 hover components in books
- Removed unused config setting (by FlorianMichael)
- Configured automated publishing to [Hangar](https://hangar.papermc.io/ViaVersion/ViaBackwards) and [Modrinth](https://modrinth.com/plugin/viabackwards)
[ea2fac0](https://github.com/ViaVersion/ViaBackwards/commit/ea2fac0) Handle configuration start
TODO: Check whether all the necessary data for the join game packet is always expected by the client or if we need to cache it from the initial login
1.20 server support
* Add missing sound mappings (by Pantera07)
* Improved 1.13->1.12 translatable handling
* Fixed handling of translatables in 1.15, 1.14 and 1.13.1 entity display names
* Fixed 1.19.4->>1.19.3 boat types
* Fixed 1.19.4->1.19.3 statistics rewriting
* Fixed 1.12 keybind causing errors
* Fixed handling of 1.16->1.15 tags if the server does not send all the expected tags
* Fixed max player count info sent on login (by RaphiMC)