Commit Graph
7 Commits
Author SHA1 Message Date
KAMKEEL 5712541cae Stop the mount reset clearing a flying npc's flying flag every tick 2026-10-01 03:03:19 -04:00
Kam a9b602713c Large Cleanup to Code Imports and Formatting 2026-01-22 23:07:38 -05:00
Claude de8c317023 Add mount edge case handling for dismount scenarios
- Player logout: Dismount from NPC mount before logout to prevent
  orphaned mount state (ServerTickHandler)
- Teleportation: Dismount before cross-dimension teleport to prevent
  mount being left behind in old dimension (NoppesUtilPlayer)
- Dead rider: Validate rider is alive, dismount dead/invalid riders
  to prevent stuck mount state (NPCMountUtil)
- Role disable: Dismount rider when mount role is disabled to prevent
  mounted player on non-mount NPC (RoleMount)
2025-12-30 23:20:54 +00:00
Claude 096c9b0a69 Fix mount movement jitter by following vanilla horse/boat sync pattern
- Remove all velocityChanged=true flags from mount movement code
  (NPCMountUtil, EntityNPCInterface, EntityNPCFlying)
- Make performMountedMovement physics server-side only like vanilla horse
- Remove syncMountedRiderVelocity method that forced rider velocity packets
- Fix ground movement to not reset motionY every tick
- Let Minecraft's entity tracker handle position sync naturally

The jitter was caused by S12PacketEntityVelocity being sent every tick,
which constantly reset client interpolation. Vanilla horses/boats never
set velocityChanged and rely on the entity tracker for smooth sync.
2025-12-30 23:06:16 +00:00
Kam ee413c31b9 Improve mount client sync and flight speed scaling 2025-11-13 19:54:10 -05:00
Kam c33ac04d11 Refine mount GUI layout and flight handling 2025-11-07 22:44:22 -05:00
Kam 9744209938 Refactor mount helpers and expose NPC flight state 2025-11-07 20:15:49 -05:00