0x39 S39PacketPlayerAbilities

Server updates the player's capabilities (flying, invulnerable, creative, fly speed, walk speed).

Clientbound (Server → Client) · PLAY · net/minecraft/network/play/server/S39PacketPlayerAbilities.java
playerabilitiesflight

Fields

FieldTypeDescription
flagsbyte bitmask0x01=invulnerable, 0x02=flying, 0x04=allowFlying, 0x08=creative
flySpeedfloatFlight speed (default 0.05)
walkSpeedfloatWalk speed (default 0.1)

Wire Encoding

FieldTypeNotes
FlagsbyteBitmask
Fly Speedfloat0.05 default
Walk Speedfloat0.1 default

MCP References

MCPNetHandlerPlayClient.handlePlayerAbilities()

Handler Interface

HNDINetHandlerPlayClient

Notes

This is the SERVER→CLIENT version. The server sends this when the player's abilities change. The CLIENT→SERVER version is C13PacketPlayerAbilities (which only carries the isFlying flag).

implementation Implementation Cases

Flight (Tenacity 6.0)

Detect ability changes. Flight checks allowFlying. GodMode tracks invulnerable.

Vanilla hook: EventReceivePacket
GodMode (Tenacity 6.0)

Detect ability changes. Flight checks allowFlying. GodMode tracks invulnerable.

Vanilla hook: EventReceivePacket
CreativeFly (Tenacity 6.0)

Detect ability changes. Flight checks allowFlying. GodMode tracks invulnerable.

Vanilla hook: EventReceivePacket
← Back to all packets