[MCPE-21020] Effects don't wrap around into the negatives at 128 Created: 06/Apr/17 Updated: 11/Apr/18 Resolved: 11/Apr/18 |
|
| Status: | Resolved |
| Project: | Minecraft (Bedrock codebase) |
| Component/s: | None |
| Affects Version/s: | 1.0.5.54 |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Anomonous Anomonous | ||
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Game Mode: | Creative |
| Confirmation Status: | Unconfirmed |
| Platform: | Tablet - iOS - iPad Air 2 |
| Description |
|
| Comments |
| Comment by [Mojang] Mega_Spud (Jay Wells) [ 11/Apr/18 ] |
|
Cleaning up old tickets: This ticket has not been updated recently (1 year+) so is being closed as Cannot Reproduce. If you feel this is still a valid issue then please comment, or create a new ticket following the Issue Guidelines. Quick Links: |
| Comment by [Mod] Skylinerw [ 10/Apr/17 ] |
|
Firstly, high amplifiers are not supported in Java edition ( I'd like to clarify that what happens in Java edition is a client-side desync bug caused by overflow when sending the amplifier to the client (stored on the server as an int, sent to client as a byte). Since the client controls movement and thinks they have a negative amplifier, their jump height is reduced. However, the server is expecting them to go extremely high into the air, so when the player takes damage (while jumping), the server resyncs their position and the client then sees themselves high in the air. When the player data is saved to NBT, the integer amplifier from the server is typecasted to byte (into the Amplifier tag). When the player logs back in, both the server and client will agree on the amplifier's value now that it's within byte range for both and desyncing no longer occurs. Except that in 1.11, the Amplifier byte tag will only have its value read as 0 or higher. If it were -4 due to overflow, it will be considered as 0 instead, effectively changing what the effect does when relogging. Thus a single command with a 128+ amplifier has three issues in Java edition: client desync, overflow on save, and read differently after relogging. |