[SPIGOT-6658] PlayerTeleportEvent is not fired when player gets teleported to their current position. Created: 18/Jul/21 Updated: 19/Jul/21 |
|
| Status: | Open |
| Project: | Spigot |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | m | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | API | ||
| Environment: |
Windows 10 Java 16 |
||
| Version: | This server is running CraftBukkit version 3096-Spigot-9fb885e-296df56 (MC: 1.16.5) (Implementing API version 1.16.5-R0.1-SNAPSHOT) |
| Guidelines Read: | Yes |
| Description |
|
PlayerTeleportEvent doesn't run if player gets teleported to their current position. (eg moving too quickly or similar situations) This used to work in earlier versions like 1.12.2 and 1.13.2. |
| Comments |
| Comment by m [ 19/Jul/21 ] |
|
This is basically for detecting when players get rubber-banded to their original position due to high speed or lag. this can be useful as a metric in anti cheat plugins. It is also useful for detecting and mitigating cheats like PacketFly and related. This bug broke my plugin when i tried it on newer versions, then i realized the event is not being fired when players rubber-band. There is many ways for triggering this. Try giving yourself speed effect with level 255 while in survival mode and sprint. You will get rubber-banded and event should get fired in those versions. i think reducing "moved-too-quickly-multiplier" makes it even easier to reproduce. |
| Comment by md_5 [ 18/Jul/21 ] |
|
Can you give an example of how this is useful and how to trigger it in a previous version? |