MoveMinimapClick

class MoveMinimapClick : IncomingGameMessage

Move minimap click is sent when the player requests to walk somewhere through their minimap. While the packet itself sends additional constant values to the server, we do not store those values as they are expected to always be the same. The decoder will verify the values and throw an exception in decoding if those values do not align up.

Constructors

Link copied to clipboard
constructor(x: Int, z: Int, keyCombination: Int, minimapWidth: Int, minimapHeight: Int, cameraAngleY: Int, fineX: Int, fineZ: Int)

Properties

Link copied to clipboard

the angle of the camera

Link copied to clipboard
open override val category: ClientProtCategory
Link copied to clipboard
val fineX: Int

the fine x coordinate of the local player

Link copied to clipboard
val fineZ: Int

the fine z coordinate of the local player

Link copied to clipboard

the combination of keys held down to move there. Possible values include 0, 1 and 2, where: A value of 2 is sent if the user is holding down the 'Control' and 'Shift' keys simultaneously. A value of 1 is sent if the user is holding down the 'Control' key without the 'Shift' key. In any other scenario, a value of 0 is sent. The 'Control' key is used to invert move speed for the single movement request, and the 'Control' + 'Shift' combination is presumably for J-Mods to teleport around - although there are no validations for J-Mod privileges in the client, it will send the value of 2 even for regular users.

Link copied to clipboard

the height of the minimap component in pixels

Link copied to clipboard

the width of the minimap component in pixels

Link copied to clipboard
val x: Int

the absolute x coordinate the player is walking to

Link copied to clipboard
val z: Int

the absolute z coordinate the player is walking to

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
fun isValid(baseZoneX: Int, baseZoneZ: Int): Boolean

Checks if the provided arguments are valid (as in produce the same end coordinates if re-calculated). It is worth noting that the C++ client has zoom functionality for which the server does not get information, so it is not possible to verify this on the C++ clients. Additionally, clients such as RuneLite have their own built-in zoom and also do not correct the packet itself. For these reasons, the verification is not done by the library, but it could provide a useful bit of information for complete vanilla builds.

Link copied to clipboard
open override fun toString(): String