#development

1 messages · Page 13 of 1

trail marten
#

that's what the problem is here

rancid marten
#

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

trail marten
#

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

rancid marten
#

ok so eg here i have a tab selected that isn't visible on the sidebar right

#

so... what is the bug?

trail marten
#

it's hard to use auto layout on it

#

it's not a bug

#

it's just annoying

rancid marten
#

oh

rugged pivot
#

as someone who never uses the View Tag Tabs page I kinda assumed it auto scrolled to whatever you selected

#

maybe it should?

trail marten
#

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.

rancid marten
#

if anything id put a layout button here

trail marten
#

that's not a terrible option, idk if people would know it exists there though.

rancid marten
#

or up here

#

could put a new button there maybe

#

it would interfere with bank tabs though

trail marten
#

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.

rancid marten
#

yeah maybe

trail marten
#

anyway let me know if you want to address this instead of me doing some jank hub plugin solution

rancid marten
#

you can pr adding it to the add tab button if you want

rugged pivot
rancid marten
#

idk

trail marten
#

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.

ember flareBOT
dusky crane
rancid marten
#

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

trail marten
#

happens to me

rancid marten
#

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

trail marten
#

ah I see, I am on 237

rancid marten
#

evreyone is on 237

dusky crane
#

nice

stuck hearth
stuck shale
#

i just go to my hub tab and click uninstall

fierce chasm
#

I love it

amber rampart
#

probably just add a special tag to the dropdown like plugin-hub has

twin rover
#

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)

amber rampart
#

Animation::isMayaAnim

twin rover
#

❤️ thanks that will be very helpful

amber rampart
#

if it makes a difference you are doing something wrong

twin rover
#

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?

fierce chasm
#

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?

topaz pierBOT
#

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.

fierce chasm
#

Thanks

twin rover
#

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.

sharp hawk
#

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?

true tusk
#

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);
    }
amber rampart
#

all Actors use a shared model that is written in getModel then overwritten by the next getModel call

true tusk
amber rampart
#

you might be able to use a rlobject controller and override it's getModel to call the Player's getModel

stuck hearth
amber rampart
#

why?

tight quarry
stuck hearth
# amber rampart why?

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

amber rampart
#

we could strip enable/enabled/enables from the keywords list

stuck hearth
#

I guess

fierce chasm
#

Would a plugin that lets you know when bloat isn't locked out of turning around, be allowed?

glass sandal
#

No

fierce chasm
#

Is that breaking a rule? I didn't think it was

true tusk
fierce chasm
#

I didn't think it violated that rule

#

it's not telling you when he's going turn or anything

quick path
#

that would clearly be informing you about the timing (or lack thereof) of a boss mechanic

fierce chasm
#

it's informing you that a mechanic can't happen yet but the actual timing of the mechanic is unknown

quick path
#

yes, and that clearly lines up with what was quoted above

fierce chasm
#

Wasn't really clear to me since it's not indicating a timing but alright, that's too bad

ember flareBOT
#

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...
twin rover
solid shadow
#

thats a lot of pets 👀

lavish ice
neat wyvern
#

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.

ember flareBOT
errant linden
#

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 🙂

GitHub

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...

rancid marten
#

this seems fine

errant linden
#

appreciate it!

dusky crane
#

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?

topaz pierBOT
#

Search for Attack Types returned no results.

ember flareBOT
dusky crane
#

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.

ember flareBOT
worldly yacht
#

How can I pull a plugin from the plugin hub?

rancid marten
#

pull as in remove it?

worldly yacht
#

I took down the API behind it

#

Yes

rancid marten
#

set disabled=true

worldly yacht
rancid marten
#

yes

upper grove
dusky crane
#

@upper grove what does that look like? I mean accessing the db table

upper grove
#

i dunno, theres client methods for that, i didnt look into it

dusky crane
#

@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).

upper grove
#

ty

dusky crane
#

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.

ember flareBOT
ember flareBOT
terse path
#

is disabling teleports like removing them from the menu entries/consuming the input allowed? this would be under specific conditions

glass sandal
#

Probably fine. Some of the wilderness/high risk plugins do that

ember flareBOT
ember flareBOT
lucid frost
#

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?

solid shadow
#

forked

sinful lava
#

Forking from the repository is preferred, as we'd want to keep the commit history between the transfers

lucid frost
#

Ez pz, thanks

heady pond
topaz pierBOT
solid shadow
#

you can follow this

lucid frost
#

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?

ember flareBOT
rancid marten
#

why

quick path
#

good ol' Rectangle api footgun

ember flareBOT
ember flareBOT
dense owl
#

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.

ember flareBOT
#

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...

topaz pierBOT
#

Search for dennisdevulser returned no results.

rancid marten
quick path
#

Ah ok

rancid marten
#

im pretty not stoked to read through some vulkan ai slop really

quick path
#

Not having that context I was leary of the ai-written body

rancid marten
#

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

quick path
#

Yeah

upper valve
#

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

quick path
#

Ah

ember flareBOT
upper valve
#

and it seems like ☝️ has sort of lit a fire under his ass to do it lol

rancid marten
#

both plugins are a bad idea and instead people should use the obs thing

stuck shale
#

yes but as one guy mentioned in general, if you 2 client, obs replay is messy

upper valve
#

just make claude do h264 in software lol

rugged pivot
#

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.

upper valve
#

i think if vulkan just makes your gpu do it then the gpu vendors probably already paid for it yeah

stuck shale
#

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?

oak rock
#

thinking classic

stuck shale
#

i consulted a certain think tank

#

and i thought it was something i couldn't test locally and is why it still misbehaved lol

oak rock
#

lmao

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
twin rover
#

ty ❤️

ember flareBOT
low hatch
sinful lava
hollow parrot
#

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

muted quartz
#

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

glass sandal
#

Is it a varplayer rather than varbit?

restive garnet
#

Isn't the Kourend teleport always available now anyway

muted quartz
#

"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

amber rampart
#

there probably is a varbit for those things, but they probably aren't transmitted to the client if you aren't seeing them

muted quartz
#

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?

amber rampart
#

only transmitted

ember flareBOT
amber rampart
#

invtags doesn't call that

#

presumably because it doesn't want notes to be equivalent to non-noted items

reef badger
#

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

amber rampart
#

I would assume that is what I meant

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
errant linden
#

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

GitHub

Please add an option to the general RuneLite settings for scaling the side bar icona up and even showing a previous of the plugin name. I have so many plugins installed that it has become difficult...

ember flareBOT
#

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...

ember flareBOT
#

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...

reef badger
#

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

granite quest
#

Looks like a different npe issue opened by the same guy

reef badger
#

yeah i thought about it and then looked at it again

granite quest
#

Looks like it’s another instance of ‘client.getLocalPlayer()’ being null near login id assume

reef badger
#

ye it isssssssssss

ember flareBOT
#
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:...
granite quest
#

That’s a new one at least

reef badger
#

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

ember flareBOT
ember flareBOT
late sedge
#

Ty

ember flareBOT
chrome crest
#

Thanks for the quick review on that 🙌

warm crescent
#

1 failing CI/CD check is expected correct? Manual review RuneLite Plugin Hub Checks

restive garnet
#

Yea

warm crescent
#

cool just making sure not wasting anyone's time

ember flareBOT
carmine crescent
#

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.

ember flareBOT
rancid marten
#

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)

sharp knot
#

Woah

reef badger
#

yippee

carmine crescent
#

Yeah. We know what the change is, assuming copper's understanding is right.

#

But we need to rework everything

sharp knot
#

1800 less for cook to update for chisel

carmine crescent
#

Because they aren't structs anymore

#

They're db rows.

rancid marten
#

ah, im not sure hmm

carmine crescent
#

Wiki guy is confident it seems, but I don't wanna keep bugging him

#

We have a few sample rows to work with

rancid marten
#

well ok

carmine crescent
#

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.

rancid marten
#

It looks like it is using the same structure as the gridmaster stuff

carmine crescent
#

Yep

#

It's in the same table

#

Old tasks might be migrated over too

rancid marten
#

theres like 2k+ new rows to it, but i dont think I can give you them since it is the task list

carmine crescent
#

Wiki guys were approved to give me all tasks on the wiki

#

I have all the row ids for the 689 or w/e

upper valve
#

what all do you actually have to change in code

carmine crescent
#

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

rancid marten
#

he can release what he wants i think, im not going to publish the l ist

dusky prism
#

We dont need it

carmine crescent
#

Yeah fair enough, that's just the context

#

Yeah we have 1 full row atleast

rancid marten
#

oh its perterter

dusky prism
#

hi old friend

rancid marten
#

hello!

dusky prism
#

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)

rancid marten
#

where are they stored now?

dusky prism
#

Prior to the league update, data is stored in structs, progress in varps

rancid marten
#

do you have a name of a task i can ctrl+f

dusky prism
#

Noxious Foe

rancid marten
#

i dont think so

#

i dont see anything in the db tables for that

dusky prism
#

ok done screaming into a pillow. i'll have something up soon i guess

#

i'll try to keep it simple as possible

#

thanks 🙃

carmine crescent
#

❤️ time to get to work, rip going to bed early tonight.

upper valve
#

at what time would this need to be reviewed roughly

#

in eastern time

glass sandal
#

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

dusky prism
#

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

solid shadow
#

game is already up for 30min at that timestamp right? hmjj

rancid marten
#

they said theyre going to have the game up for an hour before league launch

#

so that will have the cache etc

upper valve
#

oh yeah i will be asleep then

dusky prism
#

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

upper valve
#

oh yeah if you have something up before midnight EST i should be around

dusky prism
#

thank you. will do

upper valve
#

if you do before that time please ping me here

dusky prism
#

will do

grizzled aspen
#

Everyone knows no one can get into the servers for at least an hour on leagues updates anyways

stuck shale
#

Jagex accounts*

carmine crescent
#

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.

ember flareBOT
elder vault
#

How do I view the github repo for a given plugin?

rancid marten
#

click the "report an issue" link on the plugin page

elder vault
rancid marten
#

yeah

elder vault
#

Hm. I don't see any button like that on this plugin's page.

rancid marten
#

which plugin?

ember flareBOT
glass sandal
rancid marten
#

why does it not have a report issues button

grizzled aspen
#

they don't have a readme

rancid marten
#

it shouldnt require a readme i think

grizzled aspen
#

afaik not having a readme breaks that page on the site

ember flareBOT
elder vault
#

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?

thorn grotto
#

yeah like it says in the message

upper valve
#

yes in the sense that we don't know if they're doing anything with that IP or not

ember flareBOT
grizzled aspen
ember flareBOT
ember flareBOT
ember flareBOT
peak lagoon
#

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);
        }
    }```
amber rampart
#

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

peak lagoon
#

alright, yeah fair enough

#

thanks

ember flareBOT
carmine crescent
ember flareBOT
dusky prism
#

@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...

heady pond
#

oh nice, only size-m - will try to take a look before i sleep

upper valve
#

nah ive got it rn

carmine crescent
#

Perterter is probably passing away rn, but I am up for a bit more if you have questions

ember flareBOT
upper valve
#

are asserts disabled in release?

amber rampart
#

yes

upper valve
#

no notes

carmine crescent
#

Not sure if that's great or terrifying. Appreciate you!

heady pond
upper valve
#

thanks for it not being like 12k lines mostly

upper valve
normal rose
#

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?

glass sandal
#

It should probably fail to build in IntelliJ?

ember flareBOT
#

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

#
[runelite/runelite] New tag created: runelite-parent-1.12.24
#
[runelite/static.runelite.net] New branch created: 1.12.24-24445762228
late hare
#

Outdated commit message or? 👀

amber rampart
#

it does that because it references interfaces.toml

#

and the updater doesn't have the stuff to load that

late hare
#

Ahh

carmine crescent
#

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?

amber rampart
#

the client downloads it from jagex

carmine crescent
#

ok cool ty

ember flareBOT
ember flareBOT
#
[runelite/static.runelite.net] New branch created: cache-code-2026-04-15-rev237
onyx patio
#

the wider wide login screen is now immortalised

solid shadow
#

typo there smh

onyx patio
#

anyone can edit the wiki

ember flareBOT
sharp knot
#

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

ember flareBOT
ember flareBOT
ember flareBOT
upper valve
#

wow i hope someone adds an expanded pact tree zoom, jfc

rancid marten
#

yeah i was wondering about that earlier, im not sure how the ui for it works

upper valve
#

relevant cs2 just hardcodes a zoom limit maybe

ember flareBOT
upper valve
#

either github is taking a shit or the github bot's difflink creator is broken

rancid marten
#

looks like its got 401s back for botht hat and the league pr

ember flareBOT
ember flareBOT
ember flareBOT
tulip wagon
#

i can't unhide the transmute spell

#

i previously had low level alchemy hidden

#

oh dear

rugged pivot
#

what if you toggle off the transmute spells in the relic screen

tulip wagon
#

still no

#

oh it gets worse

solid shadow
#

dudee did you break it?

ember flareBOT
dusky prism
#

@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

ember flareBOT
sinful lava
#

ye that's fine

ember flareBOT
mossy mountain
#

is it possible to get runelite into dev mode booting from jagex launcher?

late hare
#

no

mossy mountain
#

sad. i dont need to link anything here right to get it approved? just git?

#

ty for the help

ember flareBOT
elder vault
#

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.

heavy bobcat
#

Does resource packs do it

worthy sparrow
#

no beuno on text colors

ember flareBOT
wintry sluice
#

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

wide gust
#

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!

sinful lava
wide gust
#

Okay thank you so much

pseudo rapids
#

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.
sinful lava
pseudo rapids
#

Oh, i thought those checks were fully automatic icl 😛

sinful lava
oak rock
#

oh is it an option?

#

i thought it was just a base thing

#

looks like it cant be fully disabled there

sinful lava
#

I don't believe you can disable the functionality alltogether, you can only make it less or more strict

pseudo rapids
sinful lava
#

yeah luckily that's not the case 😄 just the first pr someone creates if their account is new-ish

wide gust
#

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!

oak rock
#

ye

rancid marten
#

the manual approval is a new-ish github limitation

#

maybe we could make the bot do it or something not sure

ember flareBOT
#

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

rancid marten
#

wtf

reef badger
#

holy shit is that true

rancid marten
#

no lol

reef badger
#

darn

#

i like this rumor tho

rancid marten
#

i could probably get chatgpt to write a privacy policy

remote epoch
#

@grok is this real

thorn grotto
#

neuro ban that chatter

ember flareBOT
oak rock
#

the DoD is very interested in your osrs activity

rugged pivot
#

god forbid a DoD contractor has hobbies

rancid marten
#

i am literally not a dod contractor

#

idk this guy is super weird

#

runelite is not sharing data with the dod lol

heavy bobcat
#

That's just what a DoD contractor would say

rugged pivot
# rancid marten i am literally not a dod contractor

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

rancid marten
#

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?

oak rock
#

its just FUD

rancid marten
#

its just really weird

rugged pivot
#

AI probably told him this

oak rock
#

look at the people that thumbs upped the post

#

iirc some are bad actors already

rancid marten
#

thatgamebluer is a bad actor, idk about the rest

#

the post just wants a privacy policy which is at least a reasonable ask

oak rock
#

the title doesnt

#

and thats what most people will only see

shadow stirrup
rancid marten
#

lol

#

all osrs activity gets sent directly to trump

reef badger
#

oh my god

#

cook is trump

#

it makes so much sense why did i never realize this

rancid marten
#

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

shadow stirrup
#

You'd also need some GDPR stuff to make this person happy too (data controller, EU rep, legal entity address, various rights) 🙁

rancid marten
#

that seems like a problem

oak rock
#

im not even sure RL would be subject to the GDPR stuff

shadow stirrup
oak rock
#

it depends on what data though

onyx patio
shadow stirrup
rancid marten
#

i dont know if "player cowkiller bought a whip from the ge" is pii if we don't know anything about who cowkiller is

oak rock
#

exactly

rugged pivot
#

UK gdpr states IP addresses and usernames as identifying

rancid marten
#

like at best i might be able to correlate trade timestamps with webserver logs and get an ip address, but that is it

shadow stirrup
#

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

onyx patio
#

i have like 15 runescape usernames

rancid marten
#

im not collecting hardware identifiers no

#

the ge stuff hashes the hardware identifiers and submits that, if that counts

shadow stirrup
#

Yeah that probably would

rugged pivot
#

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

oak rock
#

you can change your name whenever though

shadow stirrup
rancid marten
oak rock
#

that has a paper trail though

rugged pivot
#

not really

#

you can write a deed poll on a napkin in the UK and its a legal name change

shadow stirrup
rugged pivot
#

anywho I don't think the ability to change it matters, as that applies to all social media also

rancid marten
#

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

shadow stirrup
#

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

rancid marten
#

wouldnt sha256(hardware id) be "non-identifying technical information"

shadow stirrup
#

It's 'unique' though

rancid marten
#

its really I think the nic mac

oak rock
#

i think the arguement is that as long as its unique it doesnt matter what it is

shadow stirrup
oak rock
#

but its not identifiable

#

imo you have to be able to also show how to get from that unique thing to something else

shadow stirrup
#

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

oak rock
#

thats why i hate gdpr

rancid marten
#

Trades (which may include a cryptographic hash of a hardware-derived identifier to help associate related activity)

oak rock
#

its just hand wavy

rancid marten
#

is what it spit out

rugged pivot
#

wait til you learn about anonymisation vs pseudonymisation

shadow stirrup
rancid marten
#

yea

#

I can put it on this issue and ask this guy for comment

shadow stirrup
#

For example, you don't mention Jagex in the doc - probably do end up sending them some things 😛

rancid marten
#

i do not

#

like what

shadow stirrup
#

I mean things like whatever the client is doing, network connections from the client to game servers, etc

shy pine
#

If anything, we should be sending more data to the DoD. OSRS players are the key study group to understanding autism

shadow stirrup
#

Not like additional stuff beyond what they're already sending

rancid marten
#

wouldnt that be just under jagex's current legal stuff

shadow stirrup
#

IANAL but RuneLite is sending it technically so I guess you'd have to declare it?

rancid marten
#

when you first run the client it makes you accept the t&c and eula and stuff

#

for jagex

shadow stirrup
#

Ah, then maybe that covers it

ember flareBOT
#

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...
shadow stirrup
#

I'm ready for when InitOverride starts claiming you're mossad

rancid marten
#

yay

#

I can just ban them probably

shadow stirrup
mossy mountain
oak rock
#

easy loophole

dusk ridge
#

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?

shadow stirrup
ember flareBOT
ember flareBOT
mossy mountain
ember flareBOT
stuck shale
#

menuAction++

quick path
#

get git push -f'd

sharp knot
hoary spindle
#

lol

late hare
#

||sadly github makes that easy to revert these days||

ember flareBOT
quick path
#

Yeah but still

ember flareBOT
#
[runelite/static.runelite.net] New branch created: wiki-data-2026-04-17
#
[runelite/static.runelite.net] branch deleted: wiki-data-2026-04-17
#
[runelite/static.runelite.net] branch deleted: wiki-data-2026-03-20
#
[runelite/static.runelite.net] branch deleted: 1.12.21-23491157981
#
[runelite/static.runelite.net] branch deleted: 1.12.21.1-23504842615
#
[runelite/static.runelite.net] branch deleted: jav-config-23538814862
#
[runelite/static.runelite.net] branch deleted: wiki-data-2026-03-27
#
[runelite/static.runelite.net] branch deleted: 1.12.22.1-23672314530
#
[runelite/static.runelite.net] branch deleted: 1.12.23-23843121516
#
[runelite/static.runelite.net] branch deleted: wiki-data-2026-04-03
#
[runelite/static.runelite.net] branch deleted: 1.12.24-24445762228
#
[runelite/static.runelite.net] branch deleted: cache-code-2026-04-15-rev237
reef badger
#

i love when gifs go to hell in discord

shadow stirrup
ember flareBOT
sharp knot
shadow stirrup
#

Oops - I think the IDE auto did that - thanks for spotting I'll revert it

shadow stirrup
#

Done - thanks!

ember flareBOT
mossy mountain
worthy sparrow
#

You don't need to post your prs in chat everytime you make one

mossy mountain
#

ya my bad, last time. just a big important one

ember flareBOT
twin rover
#

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?

ember flareBOT
#

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.21 is 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...

tight loom
#

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

quick path
#

I'm sure that'd be fine

ember flareBOT
dense owl
#

Rebuilt my shadowjar. GPU (RT) still working fine on intel gpu mac.

rancid marten
#

why is it reporting 3.3.6-snapshot?

dense owl
#

Not sure. Ran log.info("LWJGL Version: {}", org.lwjgl.Version.getVersion()); in shell.

ember flareBOT
ember flareBOT
ember flareBOT
hoary spindle
#

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?

rancid marten
#

it really depends on what the change is, what did you change?

hoary spindle
#

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).

rancid marten
#

it seems like it has a bunch of code to determine its version which runs at runtime and also is dependent upon java version

rancid marten
rancid marten
ember flareBOT
hoary spindle
ember flareBOT
ember flareBOT
dense owl
rancid marten
#

what about 17?

#

i tried 11 and 17, on windows, and both were 3.3.6+1

dense owl
#

Took a bit to get 17 installed and working again. 3.3.6+1

rancid marten
#

interesting

#

maybe 3.3.2 does the same and noone ever noticed

dense owl
#

Hard reverted last commit. Java 21 reporting 3.3.2+13

rancid marten
#

Interesting

rancid marten
#

or if your system is more broken in some other way lol

dense owl
#

Reinstalled 21. rm -rf ~/.gradle/caches and still getting snapshot. Must be mac specific thing.

ember flareBOT
ember flareBOT
arctic surge
#

@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

ember flareBOT
twin rover
#

^ For what its worth, at least nord works without split tunneling nullstare

dim wraith
#

I've noticed a lack of dopamine when i'm fishing

#

So this obviously had to be fixed

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
thorn grotto
#

damn i sure wish i could look at reddit in china

native notch
deft hatch
#

the queue is long

ember flareBOT
topaz pierBOT
ember flareBOT
#

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...

mossy mountain
#

if i create a new pr before my previous one was approved do i get shoved to the back of the line

worthy sparrow
#

for the same plugin?

mossy mountain
#

yes same plugin

ember flareBOT
snow needle
#

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.

sinful lava
#

what pr

stuck shale
#

How much data is that through the party service for some ones overrides

ember flareBOT
twin rover
#

Hm odd question, if i have 2 plugins for review, can i have my newer one looked at first over the older one instead?

rancid marten
#

mm are hotcolds really just broken in laegue?

#

I guess no reldo makes sense

trail veldt
snow needle
ember flareBOT
quiet kettle
ember flareBOT
rancid marten
# ember flare

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

rancid marten
#

is anyone here playing leagues and can find a hotcold clue?

trail veldt
#

i have a master hot cold step rn

rancid marten
#

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

trail veldt
#

yeah sure, lemme get intellij fired up

ember flareBOT
rancid marten
#

if you can get the correct coordinates that would be good too

trail veldt
#

Seems to be working and those do indeed appear to be the right coords

#

tutor is in the new copy of Yama's lair

rancid marten
#

oh maybe the mejrs map is a lie

#

very well

#

thats not an instance right?

trail veldt
#

ngl I'm not sure how to figure out if it's an instance or not.

rancid marten
#

I think its not, the x coordinate would be way bigger

#

the devtools tell you though

trail veldt
#

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 🤷‍♂️

restive garnet
#

You can see other people in there, so my assumption is not

trail veldt
#

some minigames like soul wars, pest control and whatnot are group instances i believe

#

so i didn't want to assume

restive garnet
#

that's fair

ember flareBOT
worthy sparrow
ember flareBOT
tight loom
#

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?

rancid marten
#

no

tight loom
#

it would just be one action queued while stuck in a animation

tight loom
# rancid marten no

whats the reason behind not allowing that? its the same amount of clicks just you dont need to wait for the animation to stop

rancid marten
#

its just botting and would probably get you banned

tight loom
#

im not sure how thats anything close to botting

late hare
#

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

tight loom
#

not sure the full exaction, sorta why im asking now

rugged pivot
#

instant inventory queues mouse clicks
it does not

tight loom
#

it appears to que multiple clicks in one tick no?

late hare
#

that's just because of how the server processes interface actions

rugged pivot
#

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

tight loom
#

yes but it becomes much easier with instant imo

rugged pivot
#

instead of a tick later

#

its purely visual

tight loom
#

oh okay maybe I misunderstood it

late hare
rugged pivot
#

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

late hare
#

oh is instant inventory a plugin

rugged pivot
#

yes

late hare
#

ah

#

lol the impl of that sort of thing for all other interactions would be you making a server emulator 😄

rugged pivot
#

just let me click 8 pieces of food and queue the clicks for when the eat delay is over pls

tight loom
#

i just find doors very frustrating in this game

rugged pivot
#

you're not alone

tight loom
#

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

late hare
#

yeah i think what instant inventory plugin does is a bit diff from being able to queue actions

rugged pivot
#

at least Door Kicker lets you take out your aggression on every door

tight loom
#

lowk feels like a bug

late hare
#

instant inventory is really just predicting the inventory update for very specific set of item actions

rugged pivot
#

help them

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
rancid marten
solid shadow
#

yes

#

it does nothing at all for the league

ember flareBOT
granite quest
#

is using an auto-clicker to sell 30k uncut sapphire bannable?

#

in leagues that is

solid shadow
#

... thats not a serious question is it

#

yes botting is bannable even in leagues

granite quest
#

rip hands

oak rock
#

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

granite quest
#

back to mouse keys

stuck shale
#

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.

granite quest
#

Might bind three keys to left click for this

stuck shale
#

hopefully its ok for you too 😄

cinder fable
#

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

worthy sparrow
#

there are a lot of prs

reef badger
#

a lot is an understatement

sinful lava
stuck shale
untold isle
#

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.

GitHub

Plugin que traduz diálogos do OSRS para Português Brasileiro
Plugin that translates OSRS dialogues to Brazilian Portuguese

glass sandal
#

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

untold isle
#

Thanks, that makes sense. I’ll consider moving the JSON to a separate GitHub repo and loading it at runtime.

odd oasis
#

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?

amber rampart
#

you would register an icon with ChatIconManager then insert <img=$id> into the menu entries

odd oasis
topaz pierBOT
ember flareBOT
odd oasis
#

Before I submit a whole new plugin, does anyone know if there's an existing plugin this would fit into?

late hare
#

you doing those on demand I assume?

odd oasis
#

Not sure what you mean

#

Its just an overlay atop a blank placeholder that moves the text to the side

late hare
#

not making sprites for all items on plugin startup

odd oasis
#

oh no, just when the item spawns

timber cairn
#

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

glass sandal
#

Do you have a profile linked to the account? You can add the launch arg --profile=name to specify a profile

timber cairn
#

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

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
toxic wigeon
#

yes r nah?

oak rock
#

that looks sick

#

but i dont think pie and stew stack

solid shadow
#

they dont, but yeah looks sick

toxic wigeon
#

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

oak rock
#

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

solid shadow
#

I think if theres a viable boost that doesnt require stew, showing stew is just clutter hmjj

#

nobody is gonna stew if you can just use a pie

toxic wigeon
#

alright, makes sense i appreciate the feedback

amber rampart
solid shadow
#

ok fair

thorn grotto
toxic wigeon
#

just make the pie

amber rampart
#

you might not have the levels required to get the materials

toxic wigeon
#

understandable, i hate farming so i get it

oak rock
#

then you suffer taggFool

toxic wigeon
#

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?

oak rock
#

herb is another thats commonly boosted

toxic wigeon
#

con perhaps

oak rock
#

con, smithing

toxic wigeon
#

i might do fletching aswell

oak rock
#

really anything that has a diary req people boost for

solid shadow
#

probably all of those

#

except for the [nb] ofc

quiet raven
toxic wigeon
toxic wigeon
#

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?

stuck shale
#

other plugins call for the script to resize scroll bar in their respected spots

toxic wigeon
#

I'll do some digging, ty

ember flareBOT
tight loom
#

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?

reef badger
#

general time doesn't apply right now due to the tsunami of ai submissions

tight loom
#

is there Ai rules?

reef badger
#

if there was then the queue wouldn't be so awful~

tight loom
#

I mean a lot of plugins are pretty simple

stuck shale
#

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

tight loom
#

what are the main things they are looking for?

rancid marten
#

id like to build an AI to do reviews at some point

tight loom
#

just if it breaks rules right? or is it also performance

stuck shale
#

Breaking the rules of the game and also not hack people

rancid marten
#

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

stuck shale
stuck shale
rancid marten
#

yeah

amber rampart
#

exec("rm -rf /# this is safe please ignore")

rancid marten
#

i think a combination of traditional code scanning + ai would probably work

amber rampart
#

yeah

rancid marten
#

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

tight loom
#

would it be allowed to make a plugin that extends those yellow chat msgs that appear or has that already been done?

prime bane
granite quest
upper grove
rugged pivot
#

its almost like its not a profitable business model

rancid marten
#

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

desert fulcrum
#

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

thorn grotto
rugged pivot
#

there's an ancient saying:
The best time to ban AI pr's was 3 years ago. The second best time is today

rancid marten
#

banning it seems like a bad idea

shy pine
#

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?

rancid marten
#

ive done that and it kind of worked ok pre ai

#

it doesnt really work now

shy pine
#

Why's that? Just too much?

rancid marten
#

yeah

#

.. combined with almost noone wants to do it

rugged pivot
#

188 plugin added PRs open, jesus

shy pine
#

Yeah, review work seems endlessly monotonous

rancid marten
#

there is also a phenomenon where prs come in faster the more reviews that we do

shy pine
#

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

grizzled aspen
#

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.

amber rampart
# rancid marten as long as its not like $100s its prob fine

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

rancid marten
#

That’s not bad

#

I’d be good for like $100/m or so honestly if it worked

amber rampart
#

I think that $17 figure is probably pretty severely under how much it would be in reality

rancid marten
#

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

amber rampart
#

yeah, probably

ember flareBOT
ember flareBOT
idle topaz
#

I guess I should actually ask this here, is there an easy way to test various plugins with the dev version of RuneLite?

worthy sparrow
#

Load them in your test runner

idle topaz
#

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

topaz pierBOT
#

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.

idle topaz
#

that's good info too, ty

ember flareBOT
toxic wigeon
stuck shale
#

It’s probably more hub candidate

#

And not with that name lol

worthy sparrow
#

Looks more rejected than hub

stuck shale
#

Oic

#

Color bot candidate

#

lol

toxic wigeon
#

Is it allowed?

stuck shale
#

no

toxic wigeon
stuck shale
#

i think its because your plugin would be used by color bots not by players

#

¯_(ツ)_/¯

toxic wigeon
#

if people wanna bot i think theres better ways than use a color bot >.<

#

the plugin probs isn't gonna change that

stuck shale
#

there was a plugin that highlighted closed doors that was rejected

#

or something like that

toxic wigeon
#

ahh okay, so conditional highlighting overall is not allowed?

stuck shale
#

not necessarily no

#

because radius markers does

toxic wigeon
#

okey, so a bit of a gray area

worthy sparrow
ember flareBOT
toxic wigeon
worthy sparrow
#

why do you keep posting it

ember flareBOT
#

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 replaceFavoriteCodesWithDestinationNames config option (default: true)
  • Implemented menu rewriting logic in onMenuOpened event
  • Detects favorite fairy ring submenu entries and replaces codes with destination names
  • Uses existing FairyRing enum for name lookup
stuck shale
#

The easy teleports from Llemon/dapper does that already

#

Just need it pred to hub

toxic wigeon
glass sandal
#

This doesn't read grey area to me

toxic wigeon
reef badger
#

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

toxic wigeon
#

it helps to takes away the need for brain activity >.<

#

but understandable

#

wont post again

low hatch
low hatch
chrome crest
# ember flare

@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

mossy mountain
#

show all completed

#

theres def some things wrong with it though, but 10x better than release day

dawn cedar
#

👋 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?

  1. 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...)
  2. 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)
chrome crest
#

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

mossy mountain
#

ill look later today when im off work

ember flareBOT
#

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...

ember flareBOT
deft hatch
deft hatch
# toxic wigeon

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

latent shoal
#

Is there no way to generate a drop-down without using enumerations for the PluginConfig class?

native notch
#

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

low hatch
latent shoal
#

java.awt.Chooser is not doing it for me..

native notch
#

Cool it works, I think this is a nice addition and I personally want to bind shift to opening my inventory

reef badger
#

it seems you have made a mistake

native notch
#

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

worthy sparrow
#

copy your changes out and just force reset to master and add your changes and force push your branch

finite egret
#

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!

oak rock
#

loot tracker and xp tracker

finite egret
# oak rock 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?

oak rock
#

look at its code

#

onStatChanged

finite egret
#

I appreciate the help!