A world hopper plugin has been added to ease hopping. You can use the key combination ctrl+shift+left/right, or right click a friend or clanmates name in game and click Hop-to. There is also a plugin panel with the worlds listed which can be double clicked.

whop1 whop2

A WASD camera plugin was added which lets you use the WASD keys (or, any other keys) instead of the arrow keys to control the camera. It is off by default and needs to be enabled in the configuration panel. You must press Enter to chat when the plugin is enabled.

There are also several smaller improvements and bug fixes, including:

  • Fix puzzle box solver showing solution arrows
  • Fix player indicators plugin coloring entire menu option of other players
  • Add Wintertodt to Discord plugin activity
  • Add Woodcutting guild to Discord plugin activity
  • Fix SDMM normal spellbook freeze timers
  • Fix ancient freeze timers resetting on each animation
  • Fix Grotesque Guardian loot tracker
  • Fix seaweed patch times in the timer plugin
  • Fix Chambers of Xeric plugin to not add multiple timers

Enjoy!

- Adam

New commits

Adam (9):
      mixins: simplify acquiring client thread reference
      world service: split controller from service and add cache
      world controller: fix caching, move to scheduled method
      runescape-api: GameEngine doesn't extend KeyFocusListener
      timers plugin: don't reset freeze timers each animation
      Revert "player indicators plugin: Use ColorUtil functions"
      Add world load event
      cache: fix outputstream writeString to not write unicode strings
      runelite-client: add wasd camera plugin

Heikki Jetsonen (2):
      DiscordPlugin: Add wintertodt Activity
      Cluescrolls: Added fairy ring to Kalphite Lair Entrance clue

Jordan Atwood (2):
      time tracking plugin: Fix timers header color
      timers plugin: Fix SDMM normal spellbook freezes

Kamiel (1):
      Update npc_health.json

Lotto (12):
      runelite-api: add world switcher widget info
      mixins: add world hopping mixin
      runelite-api: expose ChatPlayer.world
      runelite-api: make ClanMember extend ChatPlayer
      runelite-api: add total level api
      runelite-client: add world hopper plugin
      runescape-api: add Protect annotation
      clues: allow any imbued crystal bow for emote clue
      clues: add fairy ring to sinclair mansion clue solution
      fpsindicator: fix overlay disappearing when using stretched fixed mode
      fpsindicator: fix overlay being cut off outside the canvas
      fpsindicator: remove caching of fps strings

Magic fTail (2):
      Fix Grotesque Guardian loot tracker
      Actually add special case for Grotesque Guardians

Max Weber (2):
      Make the second argument of SpriteManager::getSprite work
      runelite-client: Don't consume keyReleased events

Sean Dewar (1):
      Fix Entangle timer description typo

SoyChai (1):
      UI: Add a clear button (×) to IconTextField (#3451)

SquirrelHub (2):
      DiscordPlugin: Add Woodcutting Guild to Activities (#4813)
      Add Lumber Yard Fence to Agility Plugin (#4878)

Tomas Slusny (2):
      Fix adding of raid timer multiple times in Raids
      Fix FlatTextField unsafe swing access

psikoi (1):
      Fix exp tracker UI margin incosistency

takuyakanbr (2):
      time tracking: add empty case to overview tab
      time tracking: fix detection of state for seaweed patches