ViaVersion / ViaRewind-Legacy-Support

Provides additional features for ViaRewind for Paper servers.
https://hangar.papermc.io/ViaVersion/ViaRewindLegacySupport
GNU General Public License v3.0
23 stars 11 forks source link

Legacy Players cannot use Elytra on 1.20.4 server #79

Open swiftdidit opened 7 months ago

swiftdidit commented 7 months ago

/viaversion dump Output

https://dump.viaversion.com/f90d1005a52378c43c513642834435e3db7672dccc25a26308e260d7b4e587ac

Console Error

Put the paste.gg link or text here.

Bug Description

Wearing a '1.9 Elytra' seems to have no effect when jumping to glide off of things, or even if you are spamming Firework Rocket's it won't propel you at all. Elytra's just don't work.

Steps to Reproduce

Before you attempt please make sure you are testing with 1.20.4 paper spigot I am running [ViaVersion, ViaBackwards, ViaRewind, and ViaRewind-Legacy-Support)

  1. Login with 1.7.10 client for example or 1.8
  2. Get yourself an Elytra and wear it
  3. Try to fly and jump off a mountain

Expected Behavior

The Elytra should work the same as it does in 1.9+ for legacy users.

Additional Server Info

Velocity is my proxy. I do not run my 'Via' plugins on the Proxy.

Checklist

Barvalg commented 7 months ago

Platform: git--Paper--409%20%28MC%3A%201.20.4%29
ViaVersion (4.9.3-SNAPSHOT): Even with master
ViaBackwards(4.9.2-SNAPSHOT): Even with master
ViaRewind(3.0.6-SNAPSHOT): Even with master

swiftdidit commented 7 months ago

I also come to find out that 'Soul Speed' enchantment does not work! And every splash potion thrown is not the same color/potion that was originally thrown.

For example if I throw a slowness potion it will look like im throwing a red Instant Health potion This happens for literally every splash potion.

Barvalg commented 7 months ago

Platform: git--Paper--409%20%28MC%3A%201.20.4%29
ViaVersion (4.9.3-SNAPSHOT): Even with master
ViaBackwards(4.9.2-SNAPSHOT): Even with master
ViaRewind(3.0.6-SNAPSHOT): Even with master

HoosierTransfer commented 4 months ago

1.8 and below players also are not able to use Elytra on 1.17.2 server.

FlorianMichael commented 4 months ago

do you know if Elytra's ever worked with this plugin? I am starting to question that.

HoosierTransfer commented 4 months ago

I found out that Via.getAPI().getPlayerProtocolVersion(player).newerThanOrEqualTo(ProtocolVersion.v1_9) returns true even when im on 1.8. But when I removed the check in isGliding and in the onPlayerMove. I just got a nullPointerException because getFlag is null. I tried reverting to before you committed the elytra fix but it still didn't work.

HoosierTransfer commented 4 months ago

This is most likely not possible without modifying the client. Since the client sends a entityaction packet with the START_FALL_FLYING action to signal elytra flight has started. It could be possible to track this outselves by checking when the player jumps midair. or having a different action start elytra flight like right click.

36479756 commented 3 months ago

i think server correcton can laggly work?

swiftdidit commented 3 months ago

It should be implemented.