Class Client

java.lang.Object
net.storm.sdk.game.Client

public class Client extends Object
Provides low-level access to the game client and its internal state. This class exposes methods for interacting with the game engine, including menu interactions, skill queries, world management, login handling, and various client settings.

This is a comprehensive utility class that wraps the underlying IClient implementation and provides static access to most client functionality.

Example usage:


 // Check if we're on the client thread
 if (Client.isClientThread()) {
     // Safe to perform client operations
 }

 // Get skill information
 int attackLevel = Client.getRealSkillLevel(Skill.ATTACK);
 int currentHp = Client.getBoostedSkillLevel(Skill.HITPOINTS);

 // Interact with a menu entry
 Client.interact(identifier, opcode, param0, param1);

 // World hopping
 World[] worlds = Client.getWorldList();
 if (worlds != null) {
     Client.hopToWorld(worlds[0]);
 }

 // Get current energy
 int runEnergy = Client.getEnergy();
 
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    changeWorld(net.runelite.api.World world)
    Changes to a different world without hopping.
    static net.runelite.api.World
    Creates a new empty World instance.
    static int
    getBoostedSkillLevel(net.runelite.api.Skill skill)
    Gets the boosted (current) level of a skill.
    static String
    Gets the current build ID of the client.
    static Canvas
    Gets the game canvas for rendering and input.
    static String
    Gets the character ID for the logged-in account.
    static IClient
    Gets the underlying client interface.
    static String
    Gets the Discord user ID associated with the client.
    static String
    Gets the Discord username associated with the client.
    static String
    Gets the display name of the logged-in player.
    static int
    Gets the current run energy (0-10000, where 10000 = 100%).
    static INPC
    Gets the player's follower NPC (pet).
    static net.runelite.api.FriendContainer
    Gets the friend list container.
    static net.runelite.api.GameState
    Gets the current game state.
    static net.runelite.api.GrandExchangeOffer[]
    Gets all Grand Exchange offer slots.
    static INPC
    Gets the NPC indicated by the hint arrow, if any.
    static IPlayer
    Gets the player indicated by the hint arrow, if any.
    static List<? extends SceneEntity>
    Gets the list of entities currently under the mouse cursor.
    static int[]
    Gets the integer stack used by client scripts.
    static net.runelite.api.ItemComposition
    Gets the composition data for an item by ID.
    static net.runelite.api.ItemContainer
    Gets an item container by its ID.
    static net.runelite.api.coords.LocalPoint
    Gets the local destination point for the current movement.
    static String
    Gets the current login message displayed on the login screen.
    static String
    Gets the first login response message.
    static String
    Gets the second login response message.
    static String
    Gets the third login response message.
    static int
    Gets the current camera/map angle in JAU (Jagex Angle Units).
    static int[]
    Gets the IDs of all loaded map regions.
    static int
    Gets the current minimap state.
    static boolean
     
    static int
     
    static long[]
     
    static int[]
     
    static int[]
     
    static net.runelite.api.ObjectComposition
    Gets the composition data for a game object by ID.
    static String
    Gets the current password entered on the login screen.
    static int
    Gets the current plane (floor level) the player is on.
    static String[]
    Gets the available player right-click menu options.
    static net.runelite.api.Preferences
    Gets the client preferences.
    static int
    getRealSkillLevel(net.runelite.api.Skill skill)
    Gets the real (base) level of a skill.
    static ITile
    Gets the currently selected scene tile.
    static String
    Gets the current session ID.
    static int
    getSkillExperience(net.runelite.api.Skill skill)
    Gets the experience points in a skill.
    static int
    Gets the current game tick count.
    static net.runelite.api.WorldView
    Gets the top-level world view.
    static Long
    Gets the user ID for the current session.
    static String
    Gets the current username entered on the login screen.
    static int
    getVarbitValue(int[] vars, int id)
    Gets a varbit value from a varps array.
    static int
    getVarcIntValue(int varClientInt)
    Gets the value of a client integer variable.
    static String
    getVarcStrValue(int varClientStr)
    Gets the value of a client string variable.
    static int[]
    Gets the array of all varps (variable parameters).
    static int
    getVarpValue(int id)
    Gets the value of a varp (variable parameter).
    static int
    Gets the viewport height in pixels.
    static int
    Gets the viewport width in pixels.
    static int
    Gets the current windowed mode setting.
    static int
    Gets the current world number.
    static net.runelite.api.World[]
    Gets the list of all available worlds.
    static net.runelite.api.worldmap.WorldMap
    Gets the world map instance.
    static EnumSet<net.runelite.api.WorldType>
    Gets the set of world types for the current world.
    static net.runelite.api.Client
    Gets the wrapped RuneLite client instance.
    static void
    hopToWorld(net.runelite.api.World world)
    Hops to a different world while logged in.
    static void
    interact(int x, int y)
    Performs an interaction at the specified screen coordinates.
    static void
    interact(int x, int y, boolean click)
    Performs an interaction at the specified screen coordinates with optional click.
    static void
    interact(int identifier, int opcode, int param0, int param1)
    Sends a menu interaction with default click coordinates.
    static void
    interact(int identifier, int opcode, int param0, int param1, int clickX, int clickY)
    Sends a menu interaction with click coordinates but no entity.
    static void
    interact(int identifier, int opcode, int param0, int param1, int clickX, int clickY, SceneEntity sceneEntity)
    Sends a menu interaction with full parameter specification.
    static void
    interact(AutomatedMenu automatedMenu)
    Sends an automated menu interaction to the client.
    static void
    invokeMenuAction(int param0, int param1, int opcode, int id, int itemId, int worldViewId, String option, String target)
    Invokes a menu action with full parameter specification.
    static void
    invokeWidgetAction(int identifier, int param1, int param0, int itemId, String target)
    Invokes a widget action directly.
    static boolean
    Checks if the current thread is the game client thread.
    static boolean
    isFriended(String name, boolean b)
    Checks if a player with the given name is on the friends list.
    static boolean
    Checks if the player is in an instanced region.
    static boolean
    Checks if OAuth credentials are currently set.
    static boolean
    Checks if the client is in resizable mode.
    static boolean
    Checks if the world select interface is currently open.
    static boolean
    Loads the world list from the server.
    static void
    Opens the world hopper interface.
    static void
    processDialog(int id, int idx)
    Processes a dialog with the specified ID and index.
    static void
    promptCredentials(boolean clearPassword)
    Prompts for login credentials on the login screen.
    static void
    runScript(Object... args)
    Runs a client script with the specified arguments.
    static void
    setCharacterId(String characterId)
    Sets the character ID.
    static void
    setCheckClick(boolean checkClick)
    Sets whether to check for click validation.
    static void
    setDisplayName(String displayName)
    Sets the display name for the player.
    static void
    setDraggedWidget(net.runelite.api.widgets.Widget widget)
    Sets the widget currently being dragged.
    static void
    setGameState(int gameState)
    Sets the game state by ordinal value.
    static void
    setGameState(net.runelite.api.GameState gameState)
    Sets the game state.
    static void
    Sets the keyboard idle tick counter.
    static void
    setLastButton(int button)
    Sets the last mouse button that was pressed.
    static void
    setLoginIndex(int index)
    Sets the login screen index.
    static void
    setMenuOpened(boolean opened)
    Sets whether the right-click menu is opened.
    static void
    setMinimapState(int state)
    Sets the minimap state.
    static void
    setMouseIdleCycles(int minValue)
    Sets the mouse idle cycle counter.
    static void
    setMouseIdleTicks(int ticks)
    Sets the mouse idle tick counter.
    static void
    setMouseRecorderEnabled(boolean enabled)
     
    static void
    Sets the client to normal (username/password) login mode.
    static void
    Sets the client to OAuth login mode.
    static void
    Sets the one-time password (authenticator code) for login.
    static void
    setPassword(String password)
    Sets the password on the login screen.
    static void
    Sets the selected scene tile X coordinate for viewport walking.
    static void
    Sets the selected scene tile Y coordinate for viewport walking.
    static void
    setSessionId(String sessionId)
    Sets the session ID.
    static void
    setUsername(String username)
    Sets the username on the login screen.
    static void
    setVarcIntValue(int inputType, int inputType1)
    Sets a client integer variable value.
    static void
    setVarcStrValue(int var, String value)
    Sets a client string variable value.
    static void
    setViewportWalking(boolean b)
    Enables or disables viewport walking mode.
    static void
    Sets the windowed mode.
    static void
    setWorldSelectOpen(boolean open)
    Opens or closes the world select interface.
    static void
    sleep(int cycles)
    Sleeps for the specified number of client cycles.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Client

      public Client()
  • Method Details

    • getClient

      public static IClient getClient()
      Gets the underlying client interface.
      Returns:
      the IClient instance
    • getWrapped

      public static net.runelite.api.Client getWrapped()
      Gets the wrapped RuneLite client instance.
      Returns:
      the underlying RuneLite Client
    • getBuildId

      public static String getBuildId()
      Gets the current build ID of the client.
      Returns:
      the build ID string
    • interact

      public static void interact(AutomatedMenu automatedMenu)
      Sends an automated menu interaction to the client.
      Parameters:
      automatedMenu - the AutomatedMenu to execute
    • interact

      public static void interact(int identifier, int opcode, int param0, int param1, int clickX, int clickY, SceneEntity sceneEntity)
      Sends a menu interaction with full parameter specification.
      Parameters:
      identifier - the menu entry identifier
      opcode - the menu action opcode
      param0 - the first parameter (typically widget child or x coordinate)
      param1 - the second parameter (typically widget id or y coordinate)
      clickX - the x coordinate of the click
      clickY - the y coordinate of the click
      sceneEntity - the scene entity being interacted with, or null
    • interact

      public static void interact(int identifier, int opcode, int param0, int param1, int clickX, int clickY)
      Sends a menu interaction with click coordinates but no entity.
      Parameters:
      identifier - the menu entry identifier
      opcode - the menu action opcode
      param0 - the first parameter
      param1 - the second parameter
      clickX - the x coordinate of the click
      clickY - the y coordinate of the click
    • interact

      public static void interact(int identifier, int opcode, int param0, int param1)
      Sends a menu interaction with default click coordinates.
      Parameters:
      identifier - the menu entry identifier
      opcode - the menu action opcode
      param0 - the first parameter
      param1 - the second parameter
    • interact

      public static void interact(int x, int y)
      Performs an interaction at the specified screen coordinates.
      Parameters:
      x - the x coordinate
      y - the y coordinate
    • interact

      public static void interact(int x, int y, boolean click)
      Performs an interaction at the specified screen coordinates with optional click.
      Parameters:
      x - the x coordinate
      y - the y coordinate
      click - whether to perform a click
    • getPlayerOptions

      public static String[] getPlayerOptions()
      Gets the available player right-click menu options.
      Returns:
      an array of player menu option strings
    • getObjectComposition

      public static net.runelite.api.ObjectComposition getObjectComposition(int id)
      Gets the composition data for a game object by ID.
      Parameters:
      id - the object ID
      Returns:
      the ObjectComposition for the object
    • isClientThread

      public static boolean isClientThread()
      Checks if the current thread is the game client thread. Many client operations must be performed on the client thread.
      Returns:
      true if on the client thread, false otherwise
    • getItemComposition

      public static net.runelite.api.ItemComposition getItemComposition(int id)
      Gets the composition data for an item by ID.
      Parameters:
      id - the item ID
      Returns:
      the ItemComposition for the item
    • getItemContainer

      public static net.runelite.api.ItemContainer getItemContainer(int id)
      Gets an item container by its ID.
      Parameters:
      id - the container ID
      Returns:
      the ItemContainer, or null if not found
    • getTopLevelWorldView

      public static net.runelite.api.WorldView getTopLevelWorldView()
      Gets the top-level world view.
      Returns:
      the WorldView
    • getHintArrowPlayer

      public static IPlayer getHintArrowPlayer()
      Gets the player indicated by the hint arrow, if any.
      Returns:
      the IPlayer with the hint arrow, or null
    • getVarps

      public static int[] getVarps()
      Gets the array of all varps (variable parameters).
      Returns:
      the varps array
    • getVarbitValue

      public static int getVarbitValue(int[] vars, int id)
      Gets a varbit value from a varps array.
      Parameters:
      vars - the varps array
      id - the varbit ID
      Returns:
      the varbit value
    • getVarpValue

      public static int getVarpValue(int id)
      Gets the value of a varp (variable parameter).
      Parameters:
      id - the varp ID
      Returns:
      the varp value
    • getVarcIntValue

      public static int getVarcIntValue(int varClientInt)
      Gets the value of a client integer variable.
      Parameters:
      varClientInt - the variable ID
      Returns:
      the variable value
    • getVarcStrValue

      public static String getVarcStrValue(int varClientStr)
      Gets the value of a client string variable.
      Parameters:
      varClientStr - the variable ID
      Returns:
      the variable string value
    • getGameState

      public static net.runelite.api.GameState getGameState()
      Gets the current game state.
      Returns:
      the current GameState
    • setGameState

      public static void setGameState(net.runelite.api.GameState gameState)
      Sets the game state.
      Parameters:
      gameState - the GameState to set
    • setGameState

      public static void setGameState(int gameState)
      Sets the game state by ordinal value.
      Parameters:
      gameState - the game state ordinal
    • getTickCount

      public static int getTickCount()
      Gets the current game tick count.
      Returns:
      the tick count
    • runScript

      public static void runScript(Object... args)
      Runs a client script with the specified arguments.
      Parameters:
      args - the script arguments
    • getBoostedSkillLevel

      public static int getBoostedSkillLevel(net.runelite.api.Skill skill)
      Gets the boosted (current) level of a skill. This reflects temporary boosts or drains.
      Parameters:
      skill - the Skill to query
      Returns:
      the boosted skill level
    • getRealSkillLevel

      public static int getRealSkillLevel(net.runelite.api.Skill skill)
      Gets the real (base) level of a skill. This is the actual level without temporary modifiers.
      Parameters:
      skill - the Skill to query
      Returns:
      the real skill level
    • getSkillExperience

      public static int getSkillExperience(net.runelite.api.Skill skill)
      Gets the experience points in a skill.
      Parameters:
      skill - the Skill to query
      Returns:
      the experience points
    • isInInstancedRegion

      public static boolean isInInstancedRegion()
      Checks if the player is in an instanced region. Instanced regions include activities like raids, certain minigames, etc.
      Returns:
      true if in an instanced region, false otherwise
    • getWorldList

      public static net.runelite.api.World[] getWorldList()
      Gets the list of all available worlds.
      Returns:
      an array of World objects
    • getWorld

      public static int getWorld()
      Gets the current world number.
      Returns:
      the world number
    • openWorldHopper

      public static void openWorldHopper()
      Opens the world hopper interface.
    • changeWorld

      public static void changeWorld(net.runelite.api.World world)
      Changes to a different world without hopping. Used primarily on the login screen.
      Parameters:
      world - the World to change to
    • hopToWorld

      public static void hopToWorld(net.runelite.api.World world)
      Hops to a different world while logged in.
      Parameters:
      world - the World to hop to
    • getCanvas

      public static Canvas getCanvas()
      Gets the game canvas for rendering and input.
      Returns:
      the game Canvas
    • setVarcIntValue

      public static void setVarcIntValue(int inputType, int inputType1)
      Sets a client integer variable value.
      Parameters:
      inputType - the variable ID
      inputType1 - the value to set
    • setVarcStrValue

      public static void setVarcStrValue(int var, String value)
      Sets a client string variable value.
      Parameters:
      var - the variable ID
      value - the string value to set
    • getGrandExchangeOffers

      public static net.runelite.api.GrandExchangeOffer[] getGrandExchangeOffers()
      Gets all Grand Exchange offer slots.
      Returns:
      an array of GrandExchangeOffer objects
    • getMapRegions

      public static int[] getMapRegions()
      Gets the IDs of all loaded map regions.
      Returns:
      an array of map region IDs
    • getWorldType

      public static EnumSet<net.runelite.api.WorldType> getWorldType()
      Gets the set of world types for the current world.
      Returns:
      an EnumSet of WorldType values
    • getIntStack

      public static int[] getIntStack()
      Gets the integer stack used by client scripts.
      Returns:
      the int stack array
    • getEnergy

      public static int getEnergy()
      Gets the current run energy (0-10000, where 10000 = 100%).
      Returns:
      the run energy value
    • getFriendContainer

      public static net.runelite.api.FriendContainer getFriendContainer()
      Gets the friend list container.
      Returns:
      the FriendContainer
    • isFriended

      public static boolean isFriended(String name, boolean b)
      Checks if a player with the given name is on the friends list.
      Parameters:
      name - the player name to check
      b - whether to check the display name
      Returns:
      true if the player is friended, false otherwise
    • getViewportWidth

      public static int getViewportWidth()
      Gets the viewport width in pixels.
      Returns:
      the viewport width
    • getViewportHeight

      public static int getViewportHeight()
      Gets the viewport height in pixels.
      Returns:
      the viewport height
    • getPlane

      public static int getPlane()
      Gets the current plane (floor level) the player is on. Ground level is 0, with higher values for upper floors.
      Returns:
      the plane number
    • isResized

      public static boolean isResized()
      Checks if the client is in resizable mode.
      Returns:
      true if resizable, false if fixed
    • getMapAngle

      public static int getMapAngle()
      Gets the current camera/map angle in JAU (Jagex Angle Units).
      Returns:
      the map angle (0-2047)
    • getWorldMap

      public static net.runelite.api.worldmap.WorldMap getWorldMap()
      Gets the world map instance.
      Returns:
      the WorldMap
    • createWorld

      public static net.runelite.api.World createWorld()
      Creates a new empty World instance.
      Returns:
      a new World
    • setSelectedSceneTileX

      public static void setSelectedSceneTileX(int sceneX)
      Sets the selected scene tile X coordinate for viewport walking.
      Parameters:
      sceneX - the scene X coordinate
    • setSelectedSceneTileY

      public static void setSelectedSceneTileY(int sceneY)
      Sets the selected scene tile Y coordinate for viewport walking.
      Parameters:
      sceneY - the scene Y coordinate
    • setViewportWalking

      public static void setViewportWalking(boolean b)
      Enables or disables viewport walking mode.
      Parameters:
      b - true to enable viewport walking
    • getLocalDestinationLocation

      public static net.runelite.api.coords.LocalPoint getLocalDestinationLocation()
      Gets the local destination point for the current movement.
      Returns:
      the destination LocalPoint, or null if not moving
    • setLastButton

      public static void setLastButton(int button)
      Sets the last mouse button that was pressed.
      Parameters:
      button - the button code
    • setCheckClick

      public static void setCheckClick(boolean checkClick)
      Sets whether to check for click validation.
      Parameters:
      checkClick - true to enable click checking
    • getFollower

      public static INPC getFollower()
      Gets the player's follower NPC (pet).
      Returns:
      the follower INPC, or null if none
    • getHintArrowNpc

      public static INPC getHintArrowNpc()
      Gets the NPC indicated by the hint arrow, if any.
      Returns:
      the INPC with the hint arrow, or null
    • invokeWidgetAction

      public static void invokeWidgetAction(int identifier, int param1, int param0, int itemId, String target)
      Invokes a widget action directly.
      Parameters:
      identifier - the menu identifier
      param1 - the widget ID
      param0 - the widget child ID
      itemId - the item ID, or -1 if not applicable
      target - the target string
    • getLoginMessage

      public static String getLoginMessage()
      Gets the current login message displayed on the login screen.
      Returns:
      the login message string
    • setLoginIndex

      public static void setLoginIndex(int index)
      Sets the login screen index.
      Parameters:
      index - the login index
    • setMouseIdleTicks

      public static void setMouseIdleTicks(int ticks)
      Sets the mouse idle tick counter. Used to prevent automatic logout due to inactivity.
      Parameters:
      ticks - the number of idle ticks
    • setKeyboardIdleTicks

      public static void setKeyboardIdleTicks(int ticks)
      Sets the keyboard idle tick counter. Used to prevent automatic logout due to inactivity.
      Parameters:
      ticks - the number of idle ticks
    • loadWorlds

      public static boolean loadWorlds()
      Loads the world list from the server.
      Returns:
      true if worlds were loaded successfully
    • promptCredentials

      public static void promptCredentials(boolean clearPassword)
      Prompts for login credentials on the login screen.
      Parameters:
      clearPassword - whether to clear the current password
    • isWorldSelectOpen

      public static boolean isWorldSelectOpen()
      Checks if the world select interface is currently open.
      Returns:
      true if world select is open
    • setWorldSelectOpen

      public static void setWorldSelectOpen(boolean open)
      Opens or closes the world select interface.
      Parameters:
      open - true to open, false to close
    • isOAuthCredentialsSet

      public static boolean isOAuthCredentialsSet()
      Checks if OAuth credentials are currently set.
      Returns:
      true if OAuth credentials are set
    • getPassword

      public static String getPassword()
      Gets the current password entered on the login screen.
      Returns:
      the password string
    • setPassword

      public static void setPassword(String password)
      Sets the password on the login screen.
      Parameters:
      password - the password to set
    • getUsername

      public static String getUsername()
      Gets the current username entered on the login screen.
      Returns:
      the username string
    • setUsername

      public static void setUsername(String username)
      Sets the username on the login screen.
      Parameters:
      username - the username to set
    • setOtp

      public static void setOtp(String now)
      Sets the one-time password (authenticator code) for login.
      Parameters:
      now - the OTP code
    • getWindowedMode

      public static int getWindowedMode()
      Gets the current windowed mode setting.
      Returns:
      the windowed mode value
    • setWindowedMode

      public static void setWindowedMode(int i)
      Sets the windowed mode.
      Parameters:
      i - the windowed mode value to set
    • getPreferences

      public static net.runelite.api.Preferences getPreferences()
      Gets the client preferences.
      Returns:
      the Preferences object
    • setMouseIdleCycles

      public static void setMouseIdleCycles(int minValue)
      Sets the mouse idle cycle counter.
      Parameters:
      minValue - the number of idle cycles
    • getHoveredEntities

      public static List<? extends SceneEntity> getHoveredEntities()
      Gets the list of entities currently under the mouse cursor.
      Returns:
      a list of hovered SceneEntity objects
    • getSelectedSceneTile

      public static ITile getSelectedSceneTile()
      Gets the currently selected scene tile.
      Returns:
      the selected ITile, or null if none selected
    • setDraggedWidget

      public static void setDraggedWidget(net.runelite.api.widgets.Widget widget)
      Sets the widget currently being dragged.
      Parameters:
      widget - the Widget to set as dragged
    • getMinimapState

      public static int getMinimapState()
      Gets the current minimap state.
      Returns:
      the minimap state value
    • setMinimapState

      public static void setMinimapState(int state)
      Sets the minimap state.
      Parameters:
      state - the state to set
    • processDialog

      public static void processDialog(int id, int idx)
      Processes a dialog with the specified ID and index.
      Parameters:
      id - the dialog ID
      idx - the option index
    • setMenuOpened

      public static void setMenuOpened(boolean opened)
      Sets whether the right-click menu is opened.
      Parameters:
      opened - true to mark menu as opened
    • setOAuthLoginMode

      public static void setOAuthLoginMode()
      Sets the client to OAuth login mode.
    • setNormalLoginMode

      public static void setNormalLoginMode()
      Sets the client to normal (username/password) login mode.
    • getDisplayName

      public static String getDisplayName()
      Gets the display name of the logged-in player.
      Returns:
      the display name string
    • getSessionId

      public static String getSessionId()
      Gets the current session ID.
      Returns:
      the session ID string
    • getCharacterId

      public static String getCharacterId()
      Gets the character ID for the logged-in account.
      Returns:
      the character ID string
    • setDisplayName

      public static void setDisplayName(String displayName)
      Sets the display name for the player.
      Parameters:
      displayName - the display name to set
    • setSessionId

      public static void setSessionId(String sessionId)
      Sets the session ID.
      Parameters:
      sessionId - the session ID to set
    • setCharacterId

      public static void setCharacterId(String characterId)
      Sets the character ID.
      Parameters:
      characterId - the character ID to set
    • getLoginResponse1

      public static String getLoginResponse1()
      Gets the first login response message.
      Returns:
      the first response string
    • getLoginResponse2

      public static String getLoginResponse2()
      Gets the second login response message.
      Returns:
      the second response string
    • getLoginResponse3

      public static String getLoginResponse3()
      Gets the third login response message.
      Returns:
      the third response string
    • sleep

      public static void sleep(int cycles)
      Sleeps for the specified number of client cycles.
      Parameters:
      cycles - the number of cycles to sleep
    • getDiscordId

      public static String getDiscordId()
      Gets the Discord user ID associated with the client.
      Returns:
      the Discord ID string
    • getDiscordUser

      public static String getDiscordUser()
      Gets the Discord username associated with the client.
      Returns:
      the Discord username string
    • getUserId

      public static Long getUserId()
      Gets the user ID for the current session.
      Returns:
      the user ID, or null if not available
    • invokeMenuAction

      public static void invokeMenuAction(int param0, int param1, int opcode, int id, int itemId, int worldViewId, String option, String target)
      Invokes a menu action with full parameter specification.
      Parameters:
      param0 - the first parameter
      param1 - the second parameter
      opcode - the menu action opcode
      id - the menu entry ID
      itemId - the item ID, or -1 if not applicable
      worldViewId - the world view ID
      option - the menu option text
      target - the menu target text
    • getMouseRecorderXs

      public static int[] getMouseRecorderXs()
    • getMouseRecorderYs

      public static int[] getMouseRecorderYs()
    • getMouseRecorderTimes

      public static long[] getMouseRecorderTimes()
    • getMouseRecorderEnabled

      public static boolean getMouseRecorderEnabled()
    • setMouseRecorderEnabled

      public static void setMouseRecorderEnabled(boolean enabled)
    • getMouseRecorderIndex

      public static int getMouseRecorderIndex()