#development
1 messages · Page 13 of 1
i dont really understand what you are saying. normally to auto layout a core layout you do this, which requires it to be visible already
right, but you can select a tab via view tag tabs without it being in the sidebar
adding the auto layout options in view tag tabs might be another solution?
that would be neat
ok so eg here i have a tab selected that isn't visible on the sidebar right
so... what is the bug?
oh
as someone who never uses the View Tag Tabs page I kinda assumed it auto scrolled to whatever you selected
maybe it should?
they suggested to me that I should make hub layouts' button visible so they could use that instead.
that is just such a weird solution though.
if anything id put a layout button here
that's not a terrible option, idk if people would know it exists there though.
or up here
could put a new button there maybe
it would interfere with bank tabs though
I would put it on the right-click options in the tag tab view. I think it's more easily found there.
just like it is on the sidebar, but in the tag tab tab view.
yeah maybe
anyway let me know if you want to address this instead of me doing some jank hub plugin solution
you can pr adding it to the add tab button if you want
is there a reason not to do this?
idk
well what if you don't want to scroll? Maybe you want like 5 quick access tabs and then 100 other ones you don't want so often
and if it scrolled you would have to scroll back up
the best option is to show the current tab always
like below the scroll button for example
but that is more effort.
On the topic of bank tags. This issue is still present: https://github.com/runelite/runelite/issues/19111
mmmmm
@lavish ice any idea on this^?
i looked at this very specifically very recently and i dont think it does this so im confused
happens to me
on 237 this was happening for all items and not just blank spaces
and we fixed it before release
its just because the blank item has no drag listener i think
ah I see, I am on 237
evreyone is on 237
nice
Hey hey, what do we think about this one?
https://gyazo.com/cb4bae4e29b5d0dded00a7f3ce163dee
I kinda want it, could help with getting rid of unused and forgotten plugins.
i just go to my hub tab and click uninstall
I love it
probably just add a special tag to the dropdown like plugin-hub has
is there an easier way to see if something uses maya animations? been doing trial by error and got like 90% of the pets working - if it explodes, simply swap to maya 🥲 , but hard to test some of the others (pet plugin, so hard to find some like tob transmog pets etc)
Animation::isMayaAnim
❤️ thanks that will be very helpful
if it makes a difference you are doing something wrong
hmm ill look into that then, thanks for the advice
should i move everything to snapshots as opposed to snapshot/known_maya_id dual path im using?
Is there a reason why the plugin hub doesn't work when I'm in dev mode/launching from intellij? Do I have to change some setting?
We don't provide builds of pluginhub plugins for snapshot versions. Usually you can pass -Drunelite.pluginhub.version=<current RL version> as a VM option to load the plugins built against the release into your build, which will work if there are no ABI changes. If there are ABI changes, build the plugins yourself and place them into the sideloaded-plugins directory when running in developer mode.
Thanks
quick test with my old single-path that i started with seems to work already.
@amber rampart thanks for steering me in the right direction, google can be a double edged sword when learning and end up over complicating it lol.
theres a couple black dots that shouldnt be there (they are not part of the background image) is this a jagex thing or some sort of bug with the increased background size?
How come the model reference is being changed? I'm trying so hard to force it to use my localplayer model but it is constantly changing to a different model when I move my camera/walk. Am I using RuneliteObjects wrong or is this not possible?
private RuneLiteObject rlObject;
@Override
protected void startUp() throws Exception
{
rlObject = client.createRuneLiteObject();
}
@Subscribe
public void onClientTick(ClientTick event)
{
if (rlObject == null) {return;}
Player player = client.getLocalPlayer();
if (player == null) {return;}
Model model = player.getModel();
if (model == null) {return;}
rlObject.setModel(model);
LocalPoint lp = LocalPoint.fromWorld(client, player.getWorldLocation());
rlObject.setLocation(lp, client.getPlane());
rlObject.setActive(true);
}
all Actors use a shared model that is written in getModel then overwritten by the next getModel call
Is there a way to get around that?
you might be able to use a rlobject controller and override it's getModel to call the Player's getModel
Would have to go with something like IsEnabled or Is_Enabled etc so it could still be unique and accurate as just Enabled would not work
why?
We -cannot- allow the white text on the orange button! 🔥
The search actually does not require full match there is some similarity checks involved, so searching for enabled also matches object markers there because it has Enable in the description
and im sure there are multiple more plugins out there that has either disable or enable in the description
we could strip enable/enabled/enables from the keywords list
I guess
I couldn't figure it out sadly.
Would a plugin that lets you know when bloat isn't locked out of turning around, be allowed?
No
Is that breaking a rule? I didn't think it was
https://oldschool.runescape.wiki/w/Update:Third_Party_Client_Guidelines
Indicates the time where a boss mechanic may start or end
I didn't think it violated that rule
it's not telling you when he's going turn or anything
that would clearly be informing you about the timing (or lack thereof) of a boss mechanic
it's informing you that a mechanic can't happen yet but the actual timing of the mechanic is unknown
yes, and that clearly lines up with what was quoted above
Wasn't really clear to me since it's not indicating a timing but alright, that's too bad
An example I'm running into when running locally using commit 55be3e143 Release 1.12.23. This happens whenever I log in, it seems.
2026-04-11 10:06:31 CEST [Client] WARN n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber
java.lang.NullPointerException: Cannot invoke "net.runelite.api.Player.getWorldLocation()" because the return value of "net.runelite.api.Client.getLocalPlayer()" is null
at net.runelite.client.plugins.npcunaggroarea.NpcAggroAreaPlugin...
087168e update project-xeric to v2.1.0 (#11429) - Septem151
well, i did the best i can lol - seems good to me now 🙂
thats a lot of pets 👀
I assume you fixed with 300808a?
Runelite people are guessing what Jagex will do; they don't know for sure and err on the safe side.
It's as arbitrary as if someone at Jagex agrees with you on that, or makes a decision against the plugin outside of the guidelimes anyway.
Hi team, wondering if I could bother someone for a review on this PR at some point: https://github.com/runelite/runelite/pull/19407
I brought it up in this channel a while back, explaining the motivation #development message
TL;DR, a feature I'd like to add the the Brimhaven Agility Arena hub plugin (turning off the hint arrow after claiming the ticket) breaks the notifier & timer features of the bundled Agility plugin. This PR just moves a null check a bit earlier which opens the door for the feature. I did test it and it seems to work fine.
Not a huge rush on it or anything, but it's been about 7 months so figured it might have gotten buried 🙂
This is in preparation for a planned change to the Brimhaven agility plugin, which is to clear the client's hint arrow when the current agility arena ticket is claimed, see https://github.c...
this seems fine
appreciate it!
I'm looking at Attack Styles plugin and I'm able to see how I can convert from Weapon equipped to current attack style using VarPlayerID.COM_MODE and VarbitID.COMBAT_WEAPON_CATEGORY. But I'm not able find a way to get the attack type like Stab, Slash, Crush. Is this available through the API?
Search for Attack Types returned no results.
[ https://github.com/cwjoshuak ] [ @upper grove 120909965547405312 ] josh.#0
Looking at the Plugin Hub ^, a custom mapping was created from weapon type -> available attack styles, which would definitely work, just require maintenance as new weapon types/categories come out. I see InteraceID.CombatInterface._X_TEXT as an option, but this gives the attack style "name" like chop, smash, focus, etc. I think it might be good enough for my usecase though.
@abextm The changes requested have been applied - if you get a chance to re-review it that'd be great :) thanks!
How can I pull a plugin from the plugin hub?
pull as in remove it?
set disabled=true
yes
its available in the db table, previously it was only in the cs scripts so i mapped them manually. but ive been lazy to migrate
@upper grove what does that look like? I mean accessing the db table
i dunno, theres client methods for that, i didnt look into it
@upper grove You might find this helpful:
List<Integer> attackStyleRows = client.getDBTableRows(78);
for (Integer row: attackStyleRows)
{
// Two columns, first one with one field, second with 4 fields.
// (weapon category (int)), (style index (int), attack option (e.g., chop) (str), tooltip (str), sprite (sprite))
Integer weaponCategoryFromRow = (Integer) client.getDBTableField(row, 0, 0)[0];
if (weaponCategoryFromRow == currentEquippedWeaponTypeVarbit)
{
// Column 1, 3rd tuple is the tooltip that gets displayed when hovering.
Object[] toolTipsForWeaponStyle = client.getDBTableField(row, 1, 2);
Object[] attackOptionsForWeaponStyle = client.getDBTableField(row, 1, 1);
Object[] attackOptionIndexesForCurrentWeaponStyle = client.getDBTableField(row, 1, 0);
int mappedIndexForCurrentAttackOption = Arrays.asList(attackOptionIndexesForCurrentWeaponStyle).indexOf(currentAttackStyleVarbit);
String attackOptionForCurrentWeapon = (String) attackOptionsForWeaponStyle[mappedIndexForCurrentAttackOption];
String toolTipForCurrentWeaponStyle = (String) toolTipsForWeaponStyle[mappedIndexForCurrentAttackOption];
System.out.println(toolTipForCurrentWeaponStyle);
System.out.println(attackOptionForCurrentWeapon);
break;
}
}
This will give you the tooltip of the current selected attack option: (Aggressive)<br>(Slash)<br>(Strength XP). From here you'll have to parse out the Attack Style since the DB doesn't have a specific field for it (only the attack option like Chop is easily available).
ty
I updated it to correctly map the index, since the cache does not fill slots with "OTHER" like enum/struct does. Otherwise I was getting out of bounds error.
It does appear that casting/def casting will break this still. So that needs to be handled separately.
is disabling teleports like removing them from the menu entries/consuming the input allowed? this would be under specific conditions
Probably fine. Some of the wilderness/high risk plugins do that
With regards to the plugin takeover policy, do the admins recommend using a repo that is forked from the original or is it better to make a new repo and copy the code?
forked
Forking from the repository is preferred, as we'd want to keep the commit history between the transfers
Ez pz, thanks
given you already have push permissions in the original repo, what's the reasoning for the takeover?
you can follow this
There's another plugin that shares the same purpose and we've talked in the past about merging and I want to add him as a contributor to the repo.
I submitted a PR just now with changes to a couple lines in the readme and also updated the repo. Should I have made those two separate PRs or is putting both changes in one okay?
Did this feature get lost somewhere? This does not appear to be the behavior of the world switcher tab anymore.
good ol' Rectangle api footgun
It was merged, but then reverted in bbb54ae8cc36ffb4f993e6284bf774154ff94e85. I don't quite recall why, it broke something.
I had issues enabled on my plugin hub repo but didn’t know anyone had created one because I had not watched the repo. Was my fault to assume GitHub sent emails about new issues on repos you create by default. Might be good to mention in the Developers Guide.
I just found this out too lol
Bumps LWJGL from 3.3.2 (April 2023) to 3.3.6 (January 2025). Strictly additive patch-level bump within the 3.3.x line — no breaking API changes, no new dependencies.
Why
3.3.2 ships provisional VK_EXT_video_encode_* and older Vulkan headers (1.3.246). Current NVIDIA (R535.43.22+) and AMD Adrenalin (23.20.13.02+) drivers have moved to the finalized VK_KHR_video_encode_* extensions [1][2] and no longer advertise the provisional EXT variants. 3.3.6 (Vulkan headers 1.3.296) exposes the f...
Search for dennisdevulser returned no results.
#runelite message he is this person, I told him no promises
Ah ok
im pretty not stoked to read through some vulkan ai slop really
Not having that context I was leary of the ai-written body
the hard part with a lwjgl upgrade isnt changing the number from 3.3.2 to 3.3.6, it is reading through the lwjgl changelogs and testing
Yeah
if a plugin encodes h264 through lwjgl are they (or runelite) on the hook for paying the patent royalty? or does gl/vulkan absorb that somehow
that is basically why he wants this i think
Ah
and it seems like ☝️ has sort of lit a fire under his ass to do it lol
both plugins are a bad idea and instead people should use the obs thing
yes but as one guy mentioned in general, if you 2 client, obs replay is messy
just make claude do h264 in software lol
idk if lwjgl is covered by this
If your software can encode or decode H.264 video, but it calls some API from the OS or the browser to do the job, you don’t need to pay the license fee since the hardware/OS/browser vendors already have you covered.
i think if vulkan just makes your gpu do it then the gpu vendors probably already paid for it yeah
I had thought that @PluginDependency(GpuPlugin.class) would some how make the hub plugin load after gpu already did but it doesn't seem to be the case, is there a way to do it correctly?
thinking 
i consulted a certain think tank
and i thought it was something i couldn't test locally and is why it still misbehaved lol
lmao
e402e0f Update compact-orbs to v1.7.5 (#11355) - its-cue
edceec3 Update loot-lookup to v1.2.0 (#11451) - donth77
b74abc7 Update wow-style-nametags to v1.3.1 (#11457) - bonehurt
ty ❤️
Wonder if there would be a way for them to instead create an OBS plugin which would allow them to create two (or more) replay buffers - and have the RL plugin hook into and reference the correct one? 🤷♂️ Less work for the RL team
that's not really feasible in obs
it is possible but it would require the user to launch 2 instances of obs themselves
and running more than 1 encoding stream is super taxing. 2 if the user has a good gpu
Is there a rule of thumb for when varbits are used to record game state? It seems to mostly correspond to things which change how the game looks or are visible in the client?
However, somethings like permanent teleport unlocks (ZEAH_TELEPORT_UNLOCKED) seem to not be client visible, perhaps they are somewhere
Is it a varplayer rather than varbit?
Isn't the Kourend teleport always available now anyway
"it" being? The three things I have in mind which are not Varbits are balloon log basket, canoe station axe store and dragontooth island perm unlock
Is ZEAH_TELEPORT_UNLOCKED legacy now? I thought it might correspond to Xeric's Honour teleport being unlocked
you could very well be right that the xeric's honour unlock is also not visible in varbits
there probably is a varbit for those things, but they probably aren't transmitted to the client if you aren't seeing them
I see, so there isn't a way to inspect them from a client I suppose. Is the list of Varbits in gameval.Varbit complete for all Varbits or just ones transmitted to the client?
only transmitted
Type
Incorrect behavior
Operating System
Windows
OS Version
10/11
Bug description
You can set any color for max cape and works normally for inventory tab but outline is removed in equipment tab.
Screenshots or videos
RuneLite version
1.12.23
2.6.7
Logs
No response
invtags doesn't call that
presumably because it doesn't want notes to be equivalent to non-noted items
mmmm
i diffed it back to a 2018 abex issue "equipment tagging doesn't work with graceful" so i thought it meant inv tags
unlucky
I would assume that is what I meant
Allows for nested collapsible config sections to better section off config for multifaceted plugins.
See https://github.com/Cyxxus/runelite/pull/1 for an example of how this would be used.
be71f4b Update gemstone-crab-timer to v2.2.0 (#11492) - SeanPino
5d5a44b update brimhaven-agility to v1.3.0 (#11481) - kagof
95a5b5d Update immersive-ground-markers (#11482) - Xyriella
8e0cf32 update cox-scouter-external to v1.2.8 (#11483) - Blackberry0Pie
2314357 Update wow-style-nametags to v1.4 (#11484) - bonehurt
Regarding this discussion: https://github.com/runelite/runelite/discussions/14945
I have a clanmate who recently said a friend of theirs is visually impaired and struggled with the size of the icons on the sidebar when they tried the game. The accepted wisdom from the GH discussion has been to set the scale of the entire game at launch time, but that changes everything, not just the sidebar icons, which could mess with a number of things (eg inventory covering minimap as someone complained in the above discussion).
In my opinion, being able to scale the sidebar icons independently would be a decent accessibility feature. When you combine it with the existing customizable font & font size, and the "Stretched Mode" plugin scaling for the game itself, I think it gives lots of options to visually impaired people.
The initial implementation that was tried in the above discussion was discarded because once the icons get too big, there was no scrolling. However, now the client is already smart enough that once the icons don't fit, we get multiple columns, so that is no longer an issue.
I've tried this out myself, and have confirmed it works (see attached video). It looks a bit ugly when the icons are scaled up, but it is an accessibility feature; it doesn't necessarily need to be super pretty.
If I raise a PR to add this, would that be something the team is willing to consider?
edit: idk why the video won't embed, I guess discord doesn't like .mkv, let me know if I should reupload in a different format
Type
Incorrect behavior
Operating System
None
OS Version
Windows 11
Bug description
Checked logs.
2026-04-14 16:37:48 CEST [AWT-EventQueue-0] ERROR net.runelite.client.RuneLite - Uncaught exception:
java.lang.NullPointerException: null
at net.runelite.client.ui.ClientUI.removeNavigation(ClientUI.java:259)
at net.runelite.client.ui.ClientToolbar.lambda$removeNavigation$1(ClientToolbar.java:52)
at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
a...
What did you do to produce this error?
What did you do to produce this error?
Happens at client initialization, haven't even logged in.
Does this also happen in safe mode?
It does not happen in safemode, so I guess it's some pluginhub plugin?
Yup. If you can identify which one, we recommend raising that bug with them
It was cox analytics, I see there's a takeoever in the works so I've submitted it to the new maintainer for when the takeoever goes through.
Type
Incorrect behavior
Operating System
Windows
OS Version
Windows 11
Bug description
Happens at client startup, even in safemode.
2026-04-14 17:31:26 CEST [Client] WARN n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber
java.lang.NullPointerException: null
at net.runelite.client.plugins.crowdsourcing.dialogue.CrowdsourcingDialogue.onChatMessage(CrowdsourcingDialogue.java:141)
at net.runelite.client.eventbus.EventBus$Subscriber.invoke(Even...
did i fall into the twilight zone
like sure someone opening the same issue is normal whatever but that issue was already closed nvm its a different stack
Looks like a different npe issue opened by the same guy
yeah i thought about it and then looked at it again
Looks like it’s another instance of ‘client.getLocalPlayer()’ being null near login id assume
ye it isssssssssss
2026-04-14 17:31:26 CEST [Client] WARN n.runelite.client.eventbus.EventBus - Uncaught exception in event subscriber
java.lang.NullPointerException: null
at net.runelite.client.plugins.crowdsourcing.dialogue.CrowdsourcingDialogue.onChatMessage(CrowdsourcingDialogue.java:141)
at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70)
at net.runelite.client.eventbus.EventBus.post(EventBus.java:223)
at net.runelite.client.callback.Hooks.post(Hooks.java:217)
at lq.ae(lq.java:...
That’s a new one at least
Should I open a new PR each time we get another NPE report for https://github.com/runelite/runelite/issues/20010 or just include it in the existing PR?
i would personally probably get the PR to
plugin1: fix npe
plugin2: fix npe
plugin3: fix npe
and then just leave it to nfc to if he wants to squash merge them into one
6441b29 Update compact-orbs to v1.7.6 (#11489) - its-cue
72c44fd Update tp-animation-replacer (#11478) - STRIKERnz
Ty
Thanks for the quick review on that 🙌
1 failing CI/CD check is expected correct? Manual review RuneLite Plugin Hub Checks
Yea
cool just making sure not wasting anyone's time
Hi, is this going to be merged? I am playing at 2K resolution and cursor is the size of a sand grain.
So we just found out, and are 99% sure, the leagues task data structure is being completely redone on game client side. Meaning we need to do some rewriting on Tasks Tracker plugin if we want it to be remotely usable at launch.
Is there anyone who might be willing to set aside a bit of time ahead of time to review it, knowing it's coming in? Hopefully in the next 6 hours.
I have maybe a little bit of info on this if it helps, i know the varbits are all going away (there is -1800 varbits tomorrow lol)
Woah
yippee
Yeah. We know what the change is, assuming copper's understanding is right.
But we need to rework everything
1800 less for cook to update for chisel
ah, im not sure hmm
Wiki guy is confident it seems, but I don't wanna keep bugging him
We have a few sample rows to work with
well ok
But yeah just hoping someone might be able to block off a bit of time to review/approve for us to prevent league launch catastrophe lol
Yeah.
It looks like it is using the same structure as the gridmaster stuff
theres like 2k+ new rows to it, but i dont think I can give you them since it is the task list
Wiki guys were approved to give me all tasks on the wiki
I have all the row ids for the 689 or w/e
what all do you actually have to change in code
Most of it is going to be converting our json repo fetches, updating every struct/param based call into db type calls
But I'll have a clearer idea on the size/scope in a bit
he can release what he wants i think, im not going to publish the l ist
We dont need it
oh its perterter
hi old friend
hello!
The plugin is predicated on structs being the source of the data. Do you happen to know if Combat Achievements also are moved to this new DB structure?
It would simplify our changes drastically (if they were)
where are they stored now?
Prior to the league update, data is stored in structs, progress in varps
do you have a name of a task i can ctrl+f
Noxious Foe
ok done screaming into a pillow. i'll have something up soon i guess
i'll try to keep it simple as possible
thanks 🙃
❤️ time to get to work, rip going to bed early tonight.
I assume they won't know the dbtable format until the runelite release around <t:1776160800:t> so it would have to be after that
I mean, the structure is pretty well defined. We map a column to a parameter. And the script for evaluating task completion is likely to be the same, but we load that dynamically from our json store
game is already up for 30min at that timestamp right? 
they said theyre going to have the game up for an hour before league launch
so that will have the cache etc
oh yeah i will be asleep then
I can only do so much unfortunately. I can get a PR up tonight that's controlled by our json store, so we essentially feature flag the dbrow approach. And test it with the preexisting gridmaster data.
And then do repairs in the hour window if needed.
@upper valve Would you be available 10pm at the latest tonight?
I am confident I can get it working for gridmaster by then. Then hopefully it's just a small shift tomorrow
oh yeah if you have something up before midnight EST i should be around
thank you. will do
if you do before that time please ping me here
will do
Everyone knows no one can get into the servers for at least an hour on leagues updates anyways
Jagex accounts*
row 13641 (arraxor 1 kill task from wiki) would give us everything we need to be ready on data scraping/prep side tomorrow, too if that's possible. We already have row 14729 in full to contrast it with.
How do I view the github repo for a given plugin?
click the "report an issue" link on the plugin page
The plugin's page is runelite.net/plugin-hub/show/$PLUGIN_NAME right?
yeah
Hm. I don't see any button like that on this plugin's page.
which plugin?
why does it not have a report issues button
they don't have a readme
it shouldnt require a readme i think
afaik not having a readme breaks that page on the site
Just checking, but this warning when installing a plugin is, I'm assuming, just a generic warning whenever a plugin makes requests to some other arbitrary endpoint for any reason?
yeah like it says in the message
yes in the sense that we don't know if they're doing anything with that IP or not
without actually checking this might be 404ing which would probably be causing the problem https://github.com/runelite/runelite.net/blob/63b056761add872620edd82bc8e2cf0ca8f68de6/src/modules/plugin-hub.js#L103-L111
Just took over a plugin that was originally forked from another plugin so the name of the configGroup doesn't really match with current plugin. Wanted to somehow change the config group without people losing settings. Was gonna try to do a migrate on launch, but I'm curious if this is allowed. Just want to check because I can understand how this could be malicious technically if you just used another plugins configGroup string. Would do something like this
{
String value = configManager.getConfiguration(OLD_CONFIG_GROUP, key);
if (value != null)
{
configManager.setConfiguration(NEW_CONFIG_GROUP, key, value);
configManager.unsetConfiguration(OLD_CONFIG_GROUP, key);
}
}```
its not disallowed, but I would just use the old config name
its not user visible so it doesn't really matter what it is as long as its unique
Okay, we are going to have something incoming shortly
@upper valve PR is up, thanks again for committing to it. We tried so hard to get our changes in well before release... wasn't expecting the complete data structure change from Jagex 😅
Luckily most of it is just swapping out the concrete type for an interface used by both struct & db tasks...
oh nice, only size-m - will try to take a look before i sleep
nah ive got it rn
Perterter is probably passing away rn, but I am up for a bit more if you have questions
are asserts disabled in release?
yes
no notes
Not sure if that's great or terrifying. Appreciate you!
What a queuing theory book says about why open source contributions sit for over a year
thanks for it not being like 12k lines mostly
i get paid to work on a piece of OSS and i could not be fucked to review the random customer PRs we get
Just noticed my plugin says 'plugin is incompatible and requires its user to update it'. It's the Region Lock Enforcer one. Where can I find more information?
It should probably fail to build in IntelliJ?
83c8d45 Update Widget IDs to 2026-4-15 - RuneLite Cache-Code Autoupdater
e8233dc Update Item variations to 2026-4-15 - RuneLite Cache-Code Autoupdater
dc386b7 Update Scripts to 2026-4-15 - RuneLite Cache-Code Autoupdater
1887547 Update Legacy ID classes to 2026-4-15 - RuneLite Cache-Code Autoupdater
88eb633 Update GameVals to 2026-4-15 - RuneLite Cache-Code Autoupdater
9631ccd API docs for 1.12.24 - RuneLite updater
34b84f8 Release 1.12.24 - RuneLite updater
d4c81f1 update better-teleport-menu to v1.5.11 (#11519) - abextm
Outdated commit message or? 👀
it does that because it references interfaces.toml
and the updater doesn't have the stuff to load that
Ahh
Where is the fastest place for me to get the new game cache once the servers switch back on? Will my RL client be able to grab it locally right away or will I need to wait for your guys push first?
the client downloads it from jagex
ok cool ty
the wider wide login screen is now immortalised
typo there 
anyone can edit the wiki
Oops just realized I'll need to make a ~4 line change to ca-export once I'm home so it's not possible for people to break it on leagues worlds
wow i hope someone adds an expanded pact tree zoom, jfc
yeah i was wondering about that earlier, im not sure how the ui for it works
relevant cs2 just hardcodes a zoom limit maybe
looks like its got 401s back for botht hat and the league pr
https://github.com/runelite/plugin-hub/pull/11527#issuecomment-4253327141 you should absolutely not do this
what
i dont think this console.log should be here, kinda useless when you can see the failed request in network tab anyway
5cf928d Update compact-orbs to v1.7.7 (#11512) - its-cue
e4fb028 update markofdarknesshelper to v1.3.0 (#11528) - Nick2bad4u
i can't unhide the transmute spell
i previously had low level alchemy hidden
oh dear
what if you toggle off the transmute spells in the relic screen
did you break it?
@upper valve Decided to get something to you earlier & smaller. We have some actual fixes to do, but these should alleviate some user feedback around adjusting routes (I see you've gotten some in this Discord, sorry about that).
I ADDED MY OTHER GITHUB ACCOUNT IN AUTHORS - I'm going to remove my old one in our next PR. Hope that's ok?
https://github.com/runelite/plugin-hub/pull/11531
ye that's fine
is it possible to get runelite into dev mode booting from jagex launcher?
no
sad. i dont need to link anything here right to get it approved? just git?
ty for the help
Has anyone looked into a plugin that changes the color scheme of the npc dialog box? Only asking because I can't seem to find a plugin that does this and I'd assume it's not possible or else it'd be implemented by now.
To clarify: I mean change the background and text colors of dialog boxes. Perhaps even change the font.
Does resource packs do it
no beuno on text colors
Hey, I just started making a plugin, is there a way to reload the plugin code without restarting the whole client? Ive tried building and then disabling and re enabling the plugin but its not showing any changes
I’m a first-time contributor and trying to understand the process. How long do the tests usually take for a new plugin? I’m not asking about getting it onto the Plugin Hub itself—just the Plugin Hub checks. Mine's been sitting there for a little over 24h and i believe it might be stuck? i'm not sure sorry
if needed the pr is #11515 Thank you in advance!
Thank you!
someone has to manually approve the first pr's checks - usually we'll do this pretty quick but feel free to send a message here if you've waited a while
Okay thank you so much
If you click the failed build from Runelite Plugin Hub Checks it'll say this
Changes are needed.
Feedback:
Oversized image clanwarstracker/Bandages.png (3,633,152 bytes)
A new scan will be automatically performed on the next push to the PR branch.
the build hadn't been spun up when they sent the message - i only spun it off after they sent their message here 🙂
Oh, i thought those checks were fully automatic icl 😛
they usually are! however, there are some rules you can control for prs from new contributors, or users who just created their github account. i believe the plugin hub has the first of these options enabled
oh is it an option?
i thought it was just a base thing
looks like it cant be fully disabled there
I don't believe you can disable the functionality alltogether, you can only make it less or more strict
I see, thanks, makes sense, most of my PRs get to the RL hub checks near instantly. Was surprised if someone actually had to click a button every time :p
yeah luckily that's not the case 😄 just the first pr someone creates if their account is new-ish
Hey, I pushed a fix for the oversized image on my PR because the check told me i had to change it. Does that mean you have to manually approve it again for it to run? or will it pop automatically, I don't want to be super annoying. just want to make sure i'm doing it the right way. Sorry its my first time!
ye
the manual approval is a new-ish github limitation
maybe we could make the bot do it or something not sure
I’m less concerned with a privacy policy and more concerned that the creator of this ‘open source’ project is currently employed by department of defense contractors as a developer for data science applications whose purpose is to aggregate public and commercial available data for entity extraction and sell it
wtf
holy shit is that true
no lol
i could probably get chatgpt to write a privacy policy
@grok is this real
neuro ban that chatter
the DoD is very interested in your osrs activity
god forbid a DoD contractor has hobbies
i am literally not a dod contractor
idk this guy is super weird
runelite is not sharing data with the dod lol
That's just what a DoD contractor would say
I know I just find it funny that even if you did, that'd apparently mean you could never ever be trusted to have side projects
Idk maybe the US gov has one of those "everything you do off the clock also belongs to us" clauses
i suppose yeah
im not really sure what motivates people to do this, like what are his motivations here? he wants me to state we aren't sharing runelite information with the us govt?
its just FUD
its just really weird
AI probably told him this
thatgamebluer is a bad actor, idk about the rest
the post just wants a privacy policy which is at least a reasonable ask
Please make the policy state that by using the product you agree to make the contents of your OSRS DMs avaliable to the DoD
has anyone ever seen cook and trump at the same time before?
on a serious note though I got chatgpt to write a privacy policy
i guess it should say something about pluginuhb plugins maybe
You'd also need some GDPR stuff to make this person happy too (data controller, EU rep, legal entity address, various rights) 🙁
that seems like a problem
im not even sure RL would be subject to the GDPR stuff
Pretty sure any company outside the EU processing data of EU residents is subject
it depends on what data though
just make every plugin off by default
Sure, but what is classed as PII is... wide
i dont know if "player cowkiller bought a whip from the ge" is pii if we don't know anything about who cowkiller is
exactly
UK gdpr states IP addresses and usernames as identifying
like at best i might be able to correlate trade timestamps with webserver logs and get an ip address, but that is it
He also claims you're using hardware identifiers (idk if you are)
BUT since you're clearly sending it to the DoD I can assume you are
i have like 15 runescape usernames
im not collecting hardware identifiers no
the ge stuff hashes the hardware identifiers and submits that, if that counts
Yeah that probably would
from the UK's ICO site
Example
An individual’s social media ‘handle’ or username, which may seem anonymous or nonsensical, is still sufficient to identify them as it uniquely identifies that individual. The username is personal data if it distinguishes one individual from another regardless of whether it is possible to link the ‘online’ identity with a ‘real world’ named individual.
idk if online games are treated the same as social media
you can change your name whenever though
I mean you can also do that with your real name in the UK - doesn't really matter, it's still identifying
this is actually not even a good example since we dont collect the names either, we collect the hash of the hardware id
that has a paper trail though
not really
you can write a deed poll on a napkin in the UK and its a legal name change
God I love the UK
A hardware ID would still be PII (afaik, I am not a lawyer)
anywho I don't think the ability to change it matters, as that applies to all social media also
is that not covered under "We collect limited, non-identifying technical information about your system, including:"
like I can't go from sha256(hardware id) -> anything
That doesn't seem to be a hardware ID?
I'm assuming hardware ID here refers to a unique identifier on the machine rather than software versions
wouldnt sha256(hardware id) be "non-identifying technical information"
It's 'unique' though
its really I think the nic mac
i think the arguement is that as long as its unique it doesnt matter what it is
Basically yes, it's unique to a person/machine
but its not identifiable
imo you have to be able to also show how to get from that unique thing to something else
It could be, indirectly if combined with other data - I'd need to know the whole picture of data collection to say one way or the other
And yes, information that can be used indirectly is covered heh
thats why i hate gdpr
Trades (which may include a cryptographic hash of a hardware-derived identifier to help associate related activity)
its just hand wavy
is what it spit out
wait til you learn about anonymisation vs pseudonymisation
fwiw, I think it's worth starting to flesh out - but it likely requires a lot of work :/
For example, you don't mention Jagex in the doc - probably do end up sending them some things 😛
I mean things like whatever the client is doing, network connections from the client to game servers, etc
If anything, we should be sending more data to the DoD. OSRS players are the key study group to understanding autism
Not like additional stuff beyond what they're already sending
wouldnt that be just under jagex's current legal stuff
IANAL but RuneLite is sending it technically so I guess you'd have to declare it?
when you first run the client it makes you accept the t&c and eula and stuff
for jagex
Ah, then maybe that covers it
I've worked with an LLM and produced a good first draft, curious to hear your thoughts on it:
# Privacy Policy for RuneLite
**Last Updated:** April 16, 2026
## 1. Introduction
This Privacy Policy describes how RuneLite (“we,” “us,” or “our”) collects, uses, and shares information when you use the RuneLite client for Old School RuneScape.
By using RuneLite, you agree to the collection and use of information in accordance with this policy.
---
## 2. Information We Collect
### 2.1 Ol...
I'm ready for when InitOverride starts claiming you're mossad
Let me first take a screenshot of their comment - then I can start a new rumour you and the government are squashing the truth (okay I'll stop now sorry haha)
is runelite a company now
easy loophole
quick question, some IDEs and text editors support line moving, where you can hold Alt and move up and down on the arrow keys to move the current line up or down respectively. is this a functionality that would be possible for the Notes panel to have?
GDPR applies to more than just companies - RuneLite would be covered. Even a hobby forum or website 'has' to comply
26a9b31 Update brimhaven-agility to v1.4.0 (#11544) - kagof
f03c163 add demonic-pacts-highlighter (#11534) - SolutionsCMD
https://github.com/runelite/plugin-hub/pull/11548
Just a few updates
menuAction++
get git push -f'd

lol
||sadly github makes that easy to revert these days||
Yeah but still
8474788 Update wiki data - RuneLite Wiki Scraper
I'd like to bump this again in case anyone has time to review the requested changes: https://github.com/runelite/runelite/pull/19978
You should probably revert the change to using wildcard imports
https://github.com/runelite/runelite/wiki/Code-Conventions#imports
Oops - I think the IDE auto did that - thanks for spotting I'll revert it
Done - thanks!
if someone can push this before everyone logs on ill love you forever
You don't need to post your prs in chat everytime you make one
ya my bad, last time. just a big important one
Type
Crash or hang
Operating System
None
OS Version
No response
Bug description
Hot/cold master clue doesn't work in leagues.
Screenshots or videos
No response
RuneLite version
It does nothing at all
Logs
No response
So after reworking my petscape plugin, i decided to take it even further and populate the world with area-specific pets (got mortanya done so far) , im planning on not really having the roaming areas near any bosses/pvm stuff since, as a pvmer, that would annoy me. Other than that and the wildy, is there any other places i should avoid?
I'm also experiencing this issue.
- OS: Windows 11
26200.8246/25H2 - CPU: AMD 9800X3D
- GPU: RTX 5080
- RAM: 64 GB
- Driver version: (multiple), but
596.21is currently installed - RuneLite version:
1.12.24 - Main monitor: 2K @ 240Hz
- Secondary monitor: 2K @ 144Hz
At first I thought this was somehow related to Wallpaper Engine because killing Wallpaper Engine when this happened seemed to fix it. However, it still comes back. Oddly enough, dragging RuneLite to my 144Hz monitor ins...
before I get too carried away, would it be allowed to make a plugin that adds sounds to footsteps for your own character?
i dont see many plugins involving sounds so I figured maybe there is more to it that im missing
I'm sure that'd be fine
not that I'm aware of, no
Rebuilt my shadowjar. GPU (RT) still working fine on intel gpu mac.
why is it reporting 3.3.6-snapshot?
I made some changes to the core mouse tooltips plugin. Is it preferable that i send a pr to update it or as a new plugin entirely?
it really depends on what the change is, what did you change?
added the options to hide prayer tooltips, menu stone tooltips, orb tooltips and also hide the welcome screen play tooltip(no option, just does it).
i get 3.3.6+1 with these deps
it seems like it has a bunch of code to determine its version which runs at runtime and also is dependent upon java version
you could pr it and I could take a look maybe, no promises
can you test it on 11 vs 21 and see if that reports a difference?
Update mousehighlight core plugin with options to hide prayer, menu stones and orbs tooltips.
Also hide the welcome screen play button tooltip(no config option).
Sent it. Thanks a lot, and no worries if it doesnt pan out. 👍
[INFO] LWJGL Version: 3.3.6+1 if I build and run with Java 11. If I build with 11 and run on 21 I get -snapshot.
Took a bit to get 17 installed and working again. 3.3.6+1
Hard reverted last commit. Java 21 reporting 3.3.2+13
Interesting
21 reports 3.3.6+1 for me too, i wonder if its macos specific
or if your system is more broken in some other way lol
Reinstalled 21. rm -rf ~/.gradle/caches and still getting snapshot. Must be mac specific thing.
@ember steeple Hey, I want to let you know that there are a few issues opened on github for scrollboxcounter. Some of them have been there for a few months and it doesn't look like any of them have been acknowledged
It looks like there are 2 feature requests and 2 bug reports (I opened the bug report ones). I'm moreso talking about the bug reports which ideally would get fixed
As of 4/18/2026 I can confirm this no longer works with:
Mullvad VPN
PIA VPN
Nord VPN
Anyone know a VPN that works with OSRS/Runelite?
^ For what its worth, at least nord works without split tunneling 
damn i sure wish i could look at reddit in china
I opened PR #11173 https://github.com/runelite/plugin-hub/pull/11173 a month ago, any guesses when a reviewer can take a look? Excited to try it out on my main which I don't use for concept plugins via IntelliJ
the queue is long
[ https://github.com/JuliusAF ] [ @ripe veldt 296321975352164353 ] im_chewbacca#0
Did something happen to the plugin? As I do not have a toggle to hide completed quests at all
Type
Incorrect behavior
Operating System
Windows
OS Version
windows 11
Bug description
I found an old thread from 2023 saying that a toggle was added to hide completed quests from the map but the toggle is nowhere to be found in the current version?
https://github.com/runelite/runelite/pull/16358
Screenshots or videos
RuneLite version
RuneLite ver: 1.12.24
Launcher ver: 2.7.6
Logs
[client.log](https://github.com/user-attachments/files/26872089/client...
if i create a new pr before my previous one was approved do i get shoved to the back of the line
for the same plugin?
yes same plugin
Appears to be resolved by commit: cbec509
Checked on local master - dose overlay rendered correctly on Extended Stamina(4)
Can this be closed?
Can someone tell me why my PR that's been open for 15 days and last updated 11 days ago is getting passed over in reviews? I'm surprised to see it getting skipped in every review batch when it's comparatively ancient.
what pr
How much data is that through the party service for some ones overrides
fixes #20073
Fixes the clue scroll plugin to work with hot/cold steps in leagues
Hm odd question, if i have 2 plugins for review, can i have my newer one looked at first over the older one instead?
Yeah it's a different clue text than the normal hot cold telling you that the leagues tutor has the orb
It depends on the data obviously, but it's fairly small. My tests are a few hundred bytes for a full sync and then much smaller afterwards because it does incremental diffs
this sort of thing would be a good idea to include in the hub PR comment imo
it looks like this is only left in for the test? the test should just call forText(String,int) and then delete this
public static HotColdClue forText(String text, int clueItemId)
i tested this a bit but if someone can make sure the overlays still work like usual that would be nice
its all just cleanup no real changes
is anyone here playing leagues and can find a hotcold clue?
i have a master hot cold step rn
can you test this pr? at the very least the coordinates 1500,5596 are just totally made up so I don't really see any reason why the rest of the pr isn't made up either
yeah sure, lemme get intellij fired up
these coordinates look made up, they should be somewhere near Varlamore..? right?
if you can get the correct coordinates that would be good too
Seems to be working and those do indeed appear to be the right coords
tutor is in the new copy of Yama's lair
ngl I'm not sure how to figure out if it's an instance or not.
I think its not, the x coordinate would be way bigger
the devtools tell you though
Running this in the shell returns false:
log.info("isInstance: {}", String.valueOf(client.getTopLevelWorldView().isInstance()));
so assuming I did that right, it does not look to be an instance
still haven't brushed up on the worldview stuff from sailing though so 🤷♂️
You can see other people in there, so my assumption is not
some minigames like soul wars, pest control and whatnot are group instances i believe
so i didn't want to assume
that's fair
ah yeah it is the yama's lair with the league tutor npc
<img width="813" height="791" alt="image" src="https://github.com/user-attachments/assets/d96433ff-9115-404b-a4c9-0f7d17981842" />
do not open another pr, just push and updated commit to your current pr
I'm still going through support tickets with Nord. Had to do a bunch of troubleshooting stuff first as usual, so maybe it'll be looked into soon
in a similar way that instant inventory queues mouse clicks would it be allowed to do something like that with opening a door, then queue click on a stove and then once the door finishes opening it moves you to interact with the stove?
no
it would just be one action queued while stuck in a animation
whats the reason behind not allowing that? its the same amount of clicks just you dont need to wait for the animation to stop
its just botting and would probably get you banned
im not sure how thats anything close to botting
feel like a generic way of queuing interactions would be really hard too, how do you know when the interaction even executed to then send the next interaction
not sure the full exaction, sorta why im asking now
instant inventory queues mouse clicks
it does not
it appears to que multiple clicks in one tick no?
that's just because of how the server processes interface actions
the game already lets you do multiple inventory actions in one tick
instant inventory just visually overrides the widgets to look like they happen when you click
yes but it becomes much easier with instant imo
oh okay maybe I misunderstood it
unless im misunderstanding, i dont think that's what they mean
no they think instant inventory lets you click things faster and then it sends those clicks to the server over time
which it does not
oh is instant inventory a plugin
yes
ah
lol the impl of that sort of thing for all other interactions would be you making a server emulator 😄
just let me click 8 pieces of food and queue the clicks for when the eat delay is over pls
i just find doors very frustrating in this game
you're not alone
trying to find a way to make it more comfortable
I guess it wouldnt be allowed tho
like sometimes I click on something and it has that red outline
but my guy just stands there
it annoys me
yeah i think what instant inventory plugin does is a bit diff from being able to queue actions
at least Door Kicker lets you take out your aggression on every door
lowk feels like a bug
instant inventory is really just predicting the inventory update for very specific set of item actions
interesting ping #general message
help them
- If you have 99 Attack or Strength, the skill you have 99 in cannot contribute to combat level
- If you have 99 Hitpoints or Prayer, the skill you have 99 in cannot contribute to combat level
- If you have 99 Magic or Ranged, neither skill can contribute to combat level
Also having the same issue on runelite with regular gpu plugin. Legacy gpu plugin fixes it for now. Seeing massive memory growth on Samsung galaxy book 4 edge (Snapdragon X ARM)
#runelite message ? can we just kill this?
rip hands
unfortunately it is a real question
and this is why people get banned for botting all the time
and then say they didnt do anything
back to mouse keys
the + is double click fwiw
last leagues i used ahk for golden god:
z -> left click
x -> esc (close inventory)
c -> left click
v -> esc (open inventory)
so i could get 200m prayer xp very very fast.
Might bind three keys to left click for this
hopefully its ok for you too 😄
Hey i submitted a plugin to plugin-hub 4-5 days ago and recently removed the dependency. Would any reviewer have a chance to take a look when time allows? No rush just wanted to mention it PR is #11535. Thanks in advance
there are a lot of prs
a lot is an understatement
you have broken the git history (there's no path between the plugin's previous state and your new changes), so the plugin will be reviewed as a new plugin just so you know. other than that i don't see anything immediately wrong with it it'll just take some time
we can train our own LLM on rikten
Yeah thats fine, thanks
Hi everyone, this is my first time creating a plugin and since I'm not from the area, I used AI to build everything. The plugin I made is designed to translate the game into Brazilian Portuguese.
As it's my first time doing this and working with GitHub, PRs, etc., I'd like to know:
Plugin PR: https://github.com/runelite/plugin-hub/pull/11248
1st - How does adding a plugin to the RuneLite Plugin Hub work?
From what I understood and checked in other plugins on the PR list, the approved ones only have the final "Review Required" stage (which is the Merging part). In this case, is it when one of the people responsible for reviewing accepts the plugin and it goes to the Plugin Hub, or is there still a possibility that more corrections will be needed?
Are the approved ones not in the Plugin Hub yet because each one still needs individual review, or will this be done for all approved ones at once?
2nd - The main translation file for my plugin is a JSON. The one in the PR has about 43k translations. Recently I finished some corrections and additions and the latest file has almost 117k translations. But since I'm new to this and don't understand much, I haven't uploaded this new JSON for fear of hindering the plugin's publication.
After the plugin is accepted, can I just update this JSON file (no need to update the code), make a PR with this new JSON? Will this update be directly loaded into the Plugin Hub or does it need full validation again?
Thanks for the attention and sorry for so many questions and such a long message. It's just that I couldn't find answers to this by searching through old conversations.
If the json is in the plugin files you'll have to push an update every time the json changes. You can put the json in a different github repo. Then on launch have the plugin download the json at runtime. Then you can change the translations without needing a hub review
Thanks, that makes sense. I’ll consider moving the JSON to a separate GitHub repo and loading it at runtime.
I have a question about right-click context menus. You know how mobile players get that cell phone icon next to their name in the right-click menu? Would it be possible to do something similar where right clicking items on the ground will have their respective sprites displayed next to them?
you would register an icon with ChatIconManager then insert <img=$id> into the menu entries
Okay pretty familiar with that class so that should be really easy. Thanks for confirming 🙂
[ https://github.com/dgalambos ] [ @humble dew 253018704923721739 ] doron.#0
Before I submit a whole new plugin, does anyone know if there's an existing plugin this would fit into?
you doing those on demand I assume?
Not sure what you mean
Its just an overlay atop a blank placeholder that moves the text to the side
not making sprites for all items on plugin startup
oh no, just when the item spawns
I've been noticing a weird issue these past couple weeks. I'm currently using a profile called league2 on my main game and in plugin development i start up with the dev2 profile. ive noticed that after working on my plugin alongside playing the game and making changes to my config, the next day when i start up runelite everything is reset back to the way it was before. I would have figured since they're using separate profiles they shouldn't affect each other, but maybe it has to do with cloud sync or some other sort of fighting like my dev client is overwriting it. i havent noticed it failing to keep my changes if i don't start up the dev client but i suppose all this could be a coincidence.
ive also noticed that when this is happening sometimes the name of my profile in the list is empty "". if that's helpful. actually, i just remembered i changed my profile's name to demonicpacts yesterday and now it's back to league2 again along with everything else reset. i looked through the log files and havent seen anything indicating the issue. is there anything i can do to prevent this? ill try turning off sync for now
Do you have a profile linked to the account? You can add the launch arg --profile=name to specify a profile
no i don't have it linked to the account (assuming you mean the chainlink button the profile) and yes i already use --profile=dev2 in my launch args. which is why i was confused it was causing issues since it shouldn't ever be loading a different one
Type
Incorrect behavior
Operating System
Windows
OS Version
No response
Bug description
Auto layout: Zigzag is no longer available.
Screenshots or videos
RuneLite version
RuneLite version: 1.12.24
Launcher version: 2.7.5
Logs
No response
The core plugin only offers the default layout, it was written in a way that hub plugins could add layouts if they wanted, you probably removed the plugin that was adding zigzag layouts.
The core plugin only offers the default layout, it was written in a way that hub plugins could add layouts if they wanted, you probably removed the plugin that was adding zigzag layouts.
Thank you. I'll try to find what it was.
yes r nah?
they dont, but yeah looks sick
oh, nah that's not what that means. it gives you both boosts bc the stews are annoying to make since they dont give a consistent boost so it gives you both options. but clearly thats a ux flaw then if both of you think otherwise
thanks guys
i understood it when it said pie 4 stew 5
but then it has pie >4 and stew >5 later down the list
which i dont understand
and took it as stacking boosts
I think if theres a viable boost that doesnt require stew, showing stew is just clutter 
nobody is gonna stew if you can just use a pie
alright, makes sense i appreciate the feedback
what if you don't have access to the pie?
deiron obv
just make the pie
you might not have the levels required to get the materials
understandable, i hate farming so i get it
then you suffer 
realisticly, boost consists of either the pie or the stew
i might make a toggle to enable/disable pie's
pies, i meant pies
I only cover crafting rn, what other skills should i add?
herb is another thats commonly boosted
con perhaps
con, smithing
i might do fletching aswell
really anything that has a diary req people boost for
will this just be for the old menu
It appends to the Introduction tab, just places it at the bottom
Dang, looks like scrolling is fundamentally tied to herb's info widget. It's only scrollable if Jagex decides during the guide initialization that scrolling is necessary.
For herb, the default is native (no scrolling) and it looks like this can't be changed afterwards. Can anybody confirm?
other plugins call for the script to resize scroll bar in their respected spots
I'll do some digging, ty
I know the prs are pretty flooded, but this is my first time
whats the general time it takes for approval or does it vary depending on plugin?
general time doesn't apply right now due to the tsunami of ai submissions
is there Ai rules?
if there was then the queue wouldn't be so awful~
I mean a lot of plugins are pretty simple
They still need a human to find time out of their free time and review it
And leagues is going on, people wanna just play the game and not review slop lol
what are the main things they are looking for?
id like to build an AI to do reviews at some point
just if it breaks rules right? or is it also performance
Breaking the rules of the game and also not hack people
AI is a little tricky since you can do exec("rm -rf /"); // this is safe please ignore
and it will just be like ok sure
i think if i combine it with some other things might work ok
ive not really looked at it, it might be too expensive
If a plugin crashes enough it just gets disabled, but generally no performance doesn’t make it not get accepted. Lots of plugins negatively impact performance. Pretty much all of them
I suppose you could write a script that removes all comments of the Java code first then evaluate as is
yeah
exec("rm -rf /# this is safe please ignore")
i think a combination of traditional code scanning + ai would probably work
yeah
ive some ideas i just need to do it really, idk
i think it is clear that now that code is ~free to generate what we are doing now just is unsustaintable long term
would it be allowed to make a plugin that extends those yellow chat msgs that appear or has that already been done?
Idk man my GitHub copilot tokens don’t go as far as they used to
can't you guys apply for the OSS programs on claude/codex? though i guess that's short term free models.
also gh token usage has been tightened quite recently https://github.blog/changelog/2026-04-20-changes-to-github-copilot-plans-for-individuals/
its almost like its not a profitable business model
i wouldnt mind paying some for openai or something to do review, if it works ok
i just dont really know what it might cost since ive not looked at it, maybe ill do that tonight
as long as its not like $100s its prob fine
dont think ai code reviews add too much value atm even with best models.
could also be project dependent though, we have a chunky c++ monolith
with the amount of prs it’s probably gonna be hundreds at least
there's an ancient saying:
The best time to ban AI pr's was 3 years ago. The second best time is today
banning it seems like a bad idea
Would it be crazy to just pay a reviewer for a few hours per week to clean up the queue? Or on an as-needed basis?
Why's that? Just too much?
188 plugin added PRs open, jesus
Yeah, review work seems endlessly monotonous
there is also a phenomenon where prs come in faster the more reviews that we do
Feels kinda icky to suggest, but what would be the consequences or even feasibility to add a token charge (like $1) for new plugin prs? Mostly as a way to dissuade junk/joke/AI-slop plugins or make people think harder about modifying existing plugins instead
I can't see that going well in any capacity, and I don't think there's anything wrong for the most part with the new plugins it is just easier for people to write now. I don't think there are really any that are just junk.
there are currently $17 of (sonnet 4.6) tokens in the pr queue. ofc that is way under-estimating because that doesn't include reasoning/output tokens of any kind, and assumes you one-shot everything which probably wouldn't actually work either
I think that $17 figure is probably pretty severely under how much it would be in reality
We would really only be analyzing the ones which don’t require maintainer review which would help a lot probably
Assuming there is some correlation between plugin size and what kind of review it needs
yeah, probably
I guess I should actually ask this here, is there an easy way to test various plugins with the dev version of RuneLite?
Load them in your test runner
I need to visually be able to see them running for what I have in mind
oh I see what you mean, I didn't know that was a thing. It seems to be missing some however, e.g. quest helper
We don't provide builds of pluginhub plugins for snapshot versions. Usually you can pass -Drunelite.pluginhub.version=<current RL version> as a VM option to load the plugins built against the release into your build, which will work if there are no ABI changes. If there are ABI changes, build the plugins yourself and place them into the sideloaded-plugins directory when running in developer mode.
that's good info too, ty
screen markers: reloaded
Looks more rejected than hub
no
ok sad, quest helper is where we draw the line then i guess
if people wanna bot i think theres better ways than use a color bot >.<
the plugin probs isn't gonna change that
there was a plugin that highlighted closed doors that was rejected
or something like that
ahh okay, so conditional highlighting overall is not allowed?
okey, so a bit of a gray area
tell that to the color botters who keep using plugins to make color bots
skill issue
Proposed fix could be to un-hide all event frogs when you get a frog event. Or at least unhide all prince/princess frogs (the other frogs are always useless)
why do you keep posting it
This PR adds a configuration option to the Fairy Rings plugin that allows users to display destination names instead of 3-letter codes in the "Favourites Fairy ring" right-click submenu.
- Added
replaceFavoriteCodesWithDestinationNamesconfig option (default: true) - Implemented menu rewriting logic in
onMenuOpenedevent - Detects favorite fairy ring submenu entries and replaces codes with destination names
- Uses existing FairyRing enum for name lookup
thought it'd still be a bit of a gray area, plus i think it's cool so i wanted to share proggies
This doesn't read grey area to me
tbh i found it quite cryptic i wasnt quite sure if he was trolling or not
i see no reason to have dynamic markers like that except for color botting
users seem to be able to superglass make with just basic screen markers
it helps to takes away the need for brain activity >.<
but understandable
wont post again
I like to inventory tag my gear so I can relate 😂
If it weren't for color botters abusing this, this plugin would be nice alone for not cluttering your screen with markers when certain interfaces aren't open
@mossy mountain I just gave this a try, this plugin is awesome. Have you tried looking into auto-completion for tasks that were complete before installing? I wonder if you can hook into the task tracking the wiki provides
If you're open to contribution I'd be interested in investigating that
task tracking is semi working, make sure to open your task menu with show all settings on
show all completed
theres def some things wrong with it though, but 10x better than release day
👋 couple of features I'd like to add to the core plugins, but wanna make sure they'd be accepted before I start on any- would these be accepted, if I PR'd them?
- add an exclusion list to npc indicators. I have
*as my "to highlight" option so that all the named NPCs are easier to find, but would like to remove a whole bunch of less-interesting things that picks up ("Citizen", "Man", "Woman", "Fishing spot", etc...) - add a keybind option to the wiki plugin that adds the "Lookup wiki" item as the default menu entry for things (so you don't have to click wiki then click the thing, just hold whatever bind)
Yeah absolutely! Right now on the current version it is not syncing when I open the task tab because the child id is different (might have changed in the patch yesterday?)
I made a PR on your repo which provides a more dynamic solution incase the interface updates again, so there is no need to make plugin updates when it changes
Feel free to use/ignore it
ill look later today when im off work
Type
Incorrect behavior
Operating System
Windows
OS Version
Windows 10
Bug description
The GPU plugin was updated with a newer UI scaling option called "Hybrid" a while back (thank you btw it's great). While the client is open you can switch to it and use it without issue. However, when closing and launching the client the GPU plugin resets the UI scaling mode back to "Bilinear".
Screenshots or videos
RuneLite version
Runelite version: 1.12.24
Launcher vers...
Thanks, that did the trick. I mainly use legacy GPU for older quests where there are still zbuffer issues with textures/effects like Enakhra's Lament or Darkness of Hallowvale. I'll re-install as needed for older content. Thanks for all your work on runelite and the very quick solution! 💗
radius markers was a mistake
can't you do this already with some kind of bank preset or with bank fillers?
having a marker for the bank seems unnecessary
and the super glass spell can just have a standard screen marker
Is there no way to generate a drop-down without using enumerations for the PluginConfig class?
plz someone explain which options I need to choose for the module and main class when trying to run the whole Runelite plugin instead of a separated plugin repo
I used this for my last plugin project, but I'm confused by all the extra options with the whole Runelite repo
FWIW Mine is runelite.client.main, but yea, follow the guide Alex linked
java.awt.Chooser is not doing it for me..
it has to be an enum
Cool it works, I think this is a nice addition and I personally want to bind shift to opening my inventory
it seems you have made a mistake
My fork was very outdated which I needed to update and commit, hmm
I'll check the guide first if it says something that I missed, haven't made a PR for the runelite repo yet, only new plugins
time to make a new fork
and a new PR, hopefully that solves it
copy your changes out and just force reset to master and add your changes and force push your branch
hi, everyone - i'm working on a powerbi capstone and am interested in creating my own runelite plugin to log drops received or potentially character-related information (such as exp gained, deaths,kc etc) to enable this as part of the capstone. I have basic coding experience, but i'm new to runelite plugin development; am i in the right place to enable this? if so, any pointers on where to start (documentation, events i can hook into, best practices, etc.) would be greatly appreciated!
loot tracker and xp tracker
thanks for this. i had no idea i could export a json of all of my drops on the runelite site. any idea where the xp tracker information would be stored or how to identify where it would be stored?
I appreciate the help!
