#development

1 messages · Page 8 of 1

brisk sedge
#

@misty meteor i've created a pull request that fixes the build error for the Cox External Scouter. I can see that you've approved quite a few the past year for other fixes but never pull requested these onto plugin hub itself, so if you do merge it please remember to create a plugin hub PR

misty meteor
#

I have not yet tested the changes and am not comfortable making a PR without testing

brisk sedge
#

i did a test run with the latest changes in the repo and can confirm that the olm overlay fix does work atleast

misty meteor
#

so I'll try to make time today to do so

ember flareBOT
ember flareBOT
sand wing
#

Will resolve later today for hunter rumours, thanks

ember flareBOT
timber cairn
#

Was this ever answered or figured out? An additional odd behavior is if you manually send a message with an effect, using setOverheadText will then keep using that effect.

dry oriole
#

you could try this i guess, though personally I don't really know what it'd entail

#

glgl

worthy sparrow
#

I'm guessing scale isn't just (percentage, min, max) ?

if ($int0 < 60) {
    cc_settrans(scale($int0, 60, 200));
} else {
    cc_settrans(scale(calc(120 - $int0), 60, 200));
}```
rancid marten
#
               long var14 = (long)class48.intStack[ItemContainer.intStackSize];
               long var10 = (long)class48.intStack[ItemContainer.intStackSize + 1];
               long var12 = (long)class48.intStack[ItemContainer.intStackSize + 2];
               class48.intStack[++ItemContainer.intStackSize - 1] = (int)(var12 * var14 / var10);
#

so $int0 * 200 / 60

worthy sparrow
#

o, ty

prime bane
rancid marten
#

if someone wants to maintain it they can step up and fix it

reef badger
#

riktenx has collab

rancid marten
#

it looks like ritken has writen access though

reef badger
#

ye

rancid marten
#

so.. its fine

clever basin
#

fixed and sent pr for unmutedjingles nullstare

ember flareBOT
hollow sonnet
rancid marten
#

I think ritken maintains the other one, its not really unmaintained

ember flareBOT
#

I did it last week with Quest Helper and saw crashing with GPU or 117HD enabled, but not with both disabled. Though increasing the client's maximum heap size from 768mb to 1536mb resolved it for me with GPU plugins enabled, which suggested an issue with object geometry in the area, instead of CPU issues.

I was running a dev build of 117HD so that could be related to why I wasn't crashing 👀

upper valve
#

sorry works been busy? what's broken?

#

the fixed chat thing?

rancid marten
#

yes, but there isnt a pr I think

#

sort of a bunch of stuff is brokenish atm

upper valve
#

ok i may have time to check towards the end of work, but if not then later tonight

ember flareBOT
sonic quest
#

Quick question.... am i allowed to drop an F bom in here?

oak rock
#

Never know till you try

sonic quest
#

Cause holy .... I got the jagex account working with the whole flatpack/snap situation...

sonic quest
#

Thanks everyone who helped this morning! Had to traverse my entire pc to find the files that were playing a part in this all

#

Long story short;
I magically found the RuneLite.jar in ~/.local/share/flatpak/runtime/com.jagex.Launcher.ThirdParty.RuneLite/x86_64/stable/<some-hash>/files
Then i ran said jar using java -jar RuneLite.jar --configure and set the required flag as described on the wiki.
This gave me a settings.json in the exact folder (deep in .local) which i had to move to ~/.var/app/com.jagex.Launcher/.runelite
Now running the flatpacked Launcher with flatpak run --verbose com.jagex.Launcher showed the flag being passed when starting RuneLite. The credentials when then written inside said .var folder.
Finally moving the credentials to my ~/.runelite folder fixed it and allowed me to use my JagexAccount for plugin development

#

Im not even running Arch nullstare

worthy sparrow
#

there's like a 20% chance if I hot reload now my client just dies

ember flareBOT
#

Game update added a glowing effect to skills on levelup. Since the 2010 theme modifies the skill icon shapes, we need to override the sprites for the glow too.

From what I could tell, there isn't an exact science to the chosen colors for the base glow image. So these were roughly generated with a targeted color and shifting hue colors to be close for all images to look decent on the glow effect. The pulsing effect obviously looks different due to the different shading on the 2010 icons.

...

rancid marten
#

Do we need to do anything for the 2006 style?

worthy sparrow
#

no

ember flareBOT
ember flareBOT
ember flareBOT
topaz pierBOT
#

Search for raiynl returned no results.

glass sandal
#

That’s @worthy sparrow

fluid stump
#

fail

#

ty

#

😄

ember flareBOT
ember flareBOT
#

Type

Incorrect behavior

Operating System

Linux

OS Version

Artix Linux

Bug description

Seems to be a regression with the most recent update. Scrolling with the mousewheel while hovering over the chatbox does nothing. Chat can only be scrolled using the mousewheel while hovering over the chatbox scrollbar. I can reproduce this on a fresh RuneLite profile.

Screenshots or videos

https://github.com/user-attachments/assets/1f74b4e9-2683-45f5-b99d-ec0e519fc604

RuneL...

ember flareBOT
rancid marten
#

at some point one of these many github outages is going to align with a game update

upper valve
#

ok yeah i was gonna say

#

checks seem to not be running

ember flareBOT
rancid marten
#

im not sure i would try and merge stuff while it is still red

upper valve
#

i guess yeah

twin rover
#

hey guys quick question, since i have a newish github acc, i was told thats why my plugin doesnt run the workflow unless manually, do you guys know how long github takes to let me test workflows or is it just after i (hopefully) get my plugin added it works?

worthy sparrow
#

which one

twin rover
#

mazchna skip

worthy sparrow
#

i need a link or pr number

twin rover
upper valve
#

i think after you merge one pr it doesn't require manual approval anymore. i don't ever recall having to press the button for an update plugin

twin rover
#

that will be nice and save a little time for reviewers once i do it auto, thanks rikten

upper valve
#

keyword i think

twin rover
#

we will see in a few weeks :p

rancid marten
#

has anyone tried this ij local llm thing? (not the paid one)

sonic quest
#

I believe I had full line code completion enabled for some time...

rugged pivot
#

if its anything like the local one pycharm had during my free trial it will make my fans go brrr

#

still sounds like its paid though?

#

(it was competent for python at least)

rancid marten
#

yeah its part of ultimate, there is a separate junie thing that you pay for tokens I think separate

rugged pivot
#

ah I see

sonic quest
#

Mine gave some very weird responses sometimes... Even switches to French strings from time to time. Had to disable it since going with standard completion was faster for me

rancid marten
#

lol

rugged pivot
#

weird

neon haven
#

I'd say at least half the time it suggests exactly what I was about to type anyway

rose void
#

I haven't tried plugin development with a paid model like sonnet or opus (they are good for my day job at least)

But any free tier subscription has been absolutely horrible at runelite plugin development

rugged pivot
#

there's a difference between free tier of a cloud AI and a local model for line completion

rose void
#

I have done both

rancid marten
#

I dont want it to write an entire plugin, just for completing a few lines

rose void
#

Well not a simple line completion

#

Probably a lot easier to predict 1 to 10 lines

lavish ice
ember flareBOT
#

Just was about to open a bug for this, but facing the same exact issue, with the same RL & LAUNCHER versions. On 26.3 as well, and using a Macbook Pro M1 14" if that helps as well. Sometimes restarting Runelite fixes it, other times just sitting idle for awhile will have it be resolved until it randomly occurs again even when actively playing or in-game.

ember flareBOT
ember flareBOT
#

Summary

Adds a sidebar panel to Entity Hider that lets players toggle visibility of individual NPCs by clicking them in a list. Hidden NPC selections persist across sessions via config.

Changes

  • EntityHiderPanel (new) — sidebar panel showing nearby NPCs with click-to-hide, bulk controls (Hide/Unhide Vicinity, Unhide All), and skip-rebuild optimization
  • EntityHiderPlugin — added ConcurrentHashMap-backed manual NPC ID set, ClientThread-wrapped vicinity operations, pet fil...
#

Type

Incorrect behavior

Operating System

Windows

OS Version

Windows 11 Home

Bug description

My herb patches changed their time to mature to the next state from every 10, 30, and 50 minutes on the hour to every 00, 20, and 40 minutes on the hour, but my time tracking timers on Runelite did not so the timers are 10 minutes out of sync. I am not sure what caused this in my game, it just happened one day.

Now every herb patch timer on Runelite displays that it will mature ...

ember flareBOT
#

Type

Crash or hang

Operating System

Windows

OS Version

No response

Bug description

For the second time now, as soon as I finish the first phase of the Royal Titan's fight, my client crashes due to the GPU Plugin. It doesn't happen consistently other than the facts it happened twice in one hour and both times occurred at the same moment of the fight.

Screenshots or videos

RuneLite version

RuneLite version: 1.12.19
Oldschool revision: Rev 236

Logs

[Cl...

ember flareBOT
#

Off a guess only knowing Mac lightly.

First suspect would be apple.awt.fullWindowContent / transparentTitleBar with custom chrome.

Testing would be; turn off custom chrome, restart, and see if the issue stops occurring. If it does, then the interaction between fullWindowContent and Tahoe's window management is an issue.

Second suspect would be an OpenJDK/macOS Tahoe AWT bug but that would be under OpenJDK to assist.

#

Type

Incorrect behavior

Operating System

Windows

OS Version

Windows 11

Bug description

The Ground Items plugin has a Hidden Items feature that is populated by a default set of items (coins, vials, etc.). If you try to delete these default items so that there are no items listed in this hidden items list, the list of hidden items will reset back to the defaults when you restart the client.

Screenshots or videos

No response

RuneLite version

Runelite: 1.12.19...

ember flareBOT
quick path
#

augh, my least favorite bug about config

reef badger
#

i hate bugs where the workaround is objectively simple

worthy sparrow
#

Right click set to empty and it fills it with "empty"

native harbor
#

What would be the best appropriate way to attribute on the LICENSE file?

reef badger
#

what does the license say to do

ember flareBOT
native harbor
#

I guess a condescending helper was a brilliant idea.

sinful lava
#

what is it you're trying to do? it's hard to tell what type of attribution would be useful

native harbor
#

I apologize if I was too vague. The license layout - Do I add attributions to the bottom of the specific license layout, or add the copyright with name (link) at the very top?

sinful lava
#

I don't know what you mean with "the license layout"

native harbor
#

So, if I made a plugin, but used source code from another plugin that I modified would it be:

BSD 2-Clause License

Copyright (c) 2026, Kalsupes
All rights reserved

Copyright (c) 2023, User1 (Profile/Plugin)
Copyright (c) 2021, User2 (Profile/Plugin)

Redistri.......etc..

sinful lava
#

that seems reasonable if you're copying major parts of a plugin yeah, similar to the example i linked here #development message

native harbor
#

Or do I add their license agreement in it completely (multiple licensing agreement) with their copyright at the top?

sinful lava
#

I think both options are fine

#

make sure to keep their copyright notices at the top of source files

native harbor
#

Okay - I made it the second way, but wanted to simplify it, but wanted to ensure it was acceptable to do so.

thorn grotto
#

no, you cant remove the license from top of the file if it's there originally

native harbor
#

Thank you @sinful lava

fluid stump
ember flareBOT
ember flareBOT
rotund pier
#

A small question about bronzeman unleashed, it was mentioned during the PR that ideally we should be replacing another plugin with the idea of having BU exist temporarily alongside another one of these plugins,. Where we would be deprecating one of them and having their users migrate over, as well as providing an easy way to do so.

Is this still something you would want us to do?

We are planning of at least already providing some migration tools for players that want to do so themselves already.

Could for example fork one of the existing bronzeman plugins, only adding a small but clear message during login that states that the plugin is deprecated in favor of, and suggesting them to migrate over.
My suggestion would be then to take the place of dekvall's bronzeman plugin since it is abandoned, and it should be relatively easy to do a migration for (all data also lives locally for it).

sinful lava
# rotund pier A small question about bronzeman unleashed, it was mentioned during the PR that ...

I don't think you don't have to do anything more with other bronzeman plugins. it was more in the scenario where you would be able to let current bronzeman players just keep playing but with a better experience (so improving an old plugin instead of making your own plugin).

If the current maintainer of an old bronzeman plugin allows you to place the deprecation notice with migration hints in their plugin, that's perfectly fine. it would go through the normal plugin hub update process.

I don't like the idea of doing a takeover of an unmaintained plugin only to put a deprecation notice in it personally.

rotund pier
ember flareBOT
ember flareBOT
languid iron
#

^^

rose void
#

for anyone in the future dealing with vscode on windows saying your repo is not a java project, I finally managed to fix mine doing this:

  • nuked C:\Users\{user}\.gradle (dont know if this actually helped)
  • nuked C:\Users\{user}\AppData\Roaming\Code\User\workspaceStorage (also unsure if this helped)
  • ensured $env:JAVA_HOME returned a value in powershell and if not set it in the windows env vars
  • downloaded/installed the latest jdk 11 and added these lines to the vscode user settings.json
    "java.jdt.ls.java.home": "C:\\Program Files\\Eclipse Adoptium\\jdk-11.0.30.7-hotspot",
    "java.configuration.runtimes": [
        {
            "name": "JavaSE-11",
            "path": "C:\\Program Files\\Eclipse Adoptium\\jdk-11.0.30.7-hotspot",
            "default": true
        }
    ],
    "java.import.gradle.java.home": "C:\\Program Files\\Eclipse Adoptium\\jdk-11.0.30.7-hotspot"
#

the vscode plugin seems incapable of making smart decisions and you must force it to your will

random kraken
bitter chasm
#

What's the proper way of checking whether a player bought something from X store? Is there a specific event for something like this? Including reward shops like Mixology Rewards, Mage Training Arena shop, etc

stuck shale
#

they'd trigger a collection log screenshot/ their collection log would show they've gotten it

bitter chasm
#

What if it's a regular shop for example? Or a second purchase of an item that wouldn't trigger a collection anymore?

glad ermine
#

Is runeprofile hosted by a volunteer out of pocket?

sharp knot
heavy bobcat
bitter chasm
ember flareBOT
ember flareBOT
#

Been keeping an eye on this. Any update on the fix proposed? Wondering if that is going to pulled in

Waiting for Adam to be able to test it - if you want to try it for yourself you can build RLAWT with that PR and then run Runelite with something like -Drunelite.rlawtpath=/Users/user/repos/rlawt/build/librlawt.dylib (replacing the path to the built dylib).

If that's too much then then you could meme by enabling a bunch of graphical settings/zoom out to keep your FPS below 120 which woul...

ember flareBOT
ember flareBOT
native harbor
#

I am new to GitHub - I am submitting my Plugin to Runelite following the direction. After comitting the changes:

"Sorry, we had to truncate this directory to 1,000 files. 582 entries were omitted from the list. Latest commit info may be omitted."

#

I misread - It's rferring to the plugins directly, not my actual files. - Ignore me.

split lava
#

Sorry if this message belongs in #support , but I think its more developer based. I want to find and download the sprites for these sorts of images that show up in the hiscores plugin sidepanel, for a separate OSRS project (not a runelite plugin). How would I go about finding and downloading those images?

reef badger
#

look at what numbers the hiscore plugin is pulling to match the sprite there

amber rampart
reef badger
#

o ya that's true

split lava
#

I had that link saved in my projects README (but i failed to describe what to actually do with it when I added it in there previously lol) so I forgot how to actually extract the stuff from there

#

I downloaded the .tar.gz file but looking inside I just see a bunch of .flatcache files that I am not sure what to do with

amber rampart
#

download the dump not the source code

split lava
#

ahh thank you! thats what I was missing 🤦‍♂️

#

appreciate your work on that repo it is a godsend

#

So I looked at the hiscores plugin and it seems to be referring to this https://github.com/runelite/runelite/blob/master/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java

Is my understanding correct that - for example, to get the new cow boss Brutus image - I search in that SpriteID.java file for "brutus", I see that within the IconBoss25x25 class, Brutus is mapped to _69, which _69 is mapped to 6352. So in this cache viewer here https://abextm.github.io/cache2/#/viewer/sprite I just search for 6352 and then boom I find the picture and I can do whatever I want with it

GitHub

Open source Old School RuneScape client. Contribute to runelite/runelite development by creating an account on GitHub.

#

Is that all correct?

#

(I could also download the cache and go to dump/sprites/6352.png as well, yea?)

amber rampart
#

yup

split lava
late hare
#

gameval one is generated from the names jagex supplies + some manually done

amber rampart
#

the non gameval one is old and just there for phub api compat

split lava
#

gotcha. thanks!

pastel tree
#

Hi. I noticed runelite cpu-usage can get pretty high on initial startup these days. Can anyone explain why?

#

Like upon logging in, cpu usage spikes for a bit, before coming down.

low hatch
#

Shot at the dark here, perhaps it's all the plugins registering to the event bus?

#

Or plugins writing to disk, lately I've learned io options are not fun when it comes to performance 😬 (looking at you bank tracking plugins)

ember flareBOT
ember flareBOT
upper valve
#

@shy pine i think we might have to amend the hub bingo to replace bingo plugins with flipping

ember flareBOT
rancid marten
#

Did something happen to cause the influx of flipping plugins lately?

#

also if a few people could try out the new gpue plugin on the pluginhub that would be helpful

ember flareBOT
quick path
restive garnet
#

And given the prevalence of 'premium' versions, probably a bit of a cash grab too

stuck shale
ember flareBOT
ember flareBOT
shy pine
rugged pivot
#

my white whale is dev-ing a plugin that ticks off "should just be core" and "actually just breaks TOS"

shy pine
low hatch
ember flareBOT
kindred rampart
#

Uhhh it's been like many months since I made this PR #19249. Is there any chance it can get reviewed? I'd imagine it'll have to be updated a bit but the work was already done and I know some people appreciated the addition.

topaz pierBOT
#
lolson3

Added support for remapping keys to mouse buttons, built in to separate Unifiedbind and ModiferlessUnifiedbind classes to avoid breaking plugins reliant on the Keybind and ModiferlessKeybind API. The config menu will now listen for mouse input, with the exclusion of left click and right click, as they are responsible for primary game controls. This means that with a single config item, either input will be accepted (key events or mouse events).

The key remapping plugin will now also listen f...

neat wyvern
chrome grove
#

what size icon for side bar is good?

reef badger
#

check the size of a default plugin, with an icon would be the easiest, i dont remember off hand

#

if nobody answers before u do that

chrome grove
#

alright

low hatch
#

Should be fine anywhere between 16x16 to 32x32? Just make sure it's 1:1 I reckon.

ember flareBOT
tulip wagon
#

very likely!

grizzled aspen
#

I’m on kalshi betting on custom anchors vs reorderable sidebar merging first

misty hornet
#

send action

#

I want in

ember flareBOT
low hatch
#

Thanks

knotty lintel
reef badger
#

i believe usually when it comes to GPU plugins he just wants you to play the game with it

#

to see if u run into issues (assuming you didnt already do that)*

kindred rampart
#

Me when ignored completely 😮

reef badger
#

that wont be looked at by anyone other than Adam and he's always got a billion things to do

#

so idk

#

maybe abex but probably not

kindred rampart
#

Rip

amber rampart
#

I was thinking about that the other day, maybe we could synthesize mouse >3 as special key events

#

if we could synthesize them globally we wouldn't have to worry about compat issues from plugins not using mouse listeners, and we wouldn't need 2 new keybind classes

#

I'm not sure we could remap middle click like that, idk if anyone cares about that

knotty lintel
knotty lintel
low hatch
#

I want to go test the new GPU changes at Royal Titans cause that's the only place I had a crash at, but I don't want to pay 500K to find out 😂 my broke ass

kindred rampart
desert fulcrum
#

if it means i can remap m4 to m3 in runelite its a lgtm

amber rampart
#

neither thing would allow that

#

and why would you want that?

tardy pecan
#

tip for anyone who runs into this: often when working with scripts, you'll see e.g. an 8 digit integer as an argument to the script, and searching runelite source code will not yield this integer, so you just hardcode it into your plugin.

some IDs, e.g. InterfaceIDs, are expressed in hex in runelite source code 🤷‍♂️ https://github.com/runelite/runelite/blob/f63280e34fdbcbbc9b9af6ec07511b250aa25455/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java#L3409

if you convert those mysterious large integer script arguments to hex, you will likely find them as an ID somewhere in the runelite source code, and be able to use that ID directly to avoid having to hardcode it and fix it whenever the ID changes. e.g. https://github.com/96jonesa/chatbox-scroll-to-zoom/commit/7b9d43deb279ff3ef783e61c0a25d6d9b5c57e98#diff-d790c316436cdda585cdfe4aff2c9b40940111c35d42186aa011f7b0e1a05074L88-R87

#

^ for discoverability it could be nice to have comments next to these hex values showing their decimal values. (it seems the value of expressing them as hex is that the upper 16 bits specify the group, and the lower 16 bits specify the child index, so it conveys some hierarchical information as-is)

thorn grotto
#

but i compromised on my mouse choice because of that

amber rampart
#

maybe middle click yeah

#

he asked for m4 to right click tho

#

and seems like something you would want to do os-wide

ember flareBOT
#

Type

Incorrect behavior

Operating System

MacOS

OS Version

No response

Bug description

When using runelite quest helper, the helper regularly de-syncs between each part of the quest.

This has been a recurring thing and is impacting game play as it may happen over a dozen times for longer quests.

Please see brawny-flea's playthrough of Tears of Guthix if you have the ability to see gameplay/extension usage.

Screenshots or videos

No response

RuneLite ve...

desert fulcrum
#

remapping off m3 makes a mouse last longer

stuck shale
#

umer do you know the region id for hmt sote so i can fix ground object hider for you

#

i know the varbit for the raid but i imagine people wouldn't like if their "i dont want to see the art" plugin not work in the place where they want it to lol

desert fulcrum
#

hmm im surprised it doesn't work, if you check plugin & callback class, they should both be checking

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
#

Thank you for the help @NoHandlebars87

Sadly, from my Runelite client on default options, the "Enable custom window chrome" is disabled by default. I also tried to uncheck the "Block extra mouse buttons", but the issues occurred later on after this option was unchecked Runelite was restarted.

What is odd, is that for me, this issue does not occur on the non-Runelite OSRS game client, and this only started to occur once the update to the latest version of 26.3 happened (before it was runni...

ember flareBOT
ember flareBOT
ember flareBOT
low hatch
rancid marten
oak ermine
#

Is there a guide for getting a plugin off the plugin hub to run in a developer environment?

rancid marten
#

what are you trying to do?

oak ermine
#

the poison plugin does not register max hits

#

This one

#

Trynna see if I can add it myself

rancid marten
#

you should just run the test provided in the repo

oak ermine
#

That's what I was looking for haha tyty

ember flareBOT
#

I'm experiencing the same issue at Royal Titans with the exact same error log.

Did you also crash at the exact moment of the second phase of the fight, when the two titans go to their respective sides? My client crashed right when they moved.

I can't reproduce this, but it probably depends on your gear and what anims you are doing

I don't remember the first time, but from the screenshot when my client crashed the second time, we were both wearing bloodmoon gear. As for animations, I w...

spiral badge
#

Anyone happen to know how you can check what darts are within a blowpipe?

quick path
#

programmatically? you can't

#

best you can do is read chat messages and hope your user isn't trying to trick you with multiple bps loaded with different darts in the inventory at once

spiral badge
#

Well shit.

ember flareBOT
ember flareBOT
ember flareBOT
#

To help troubleshoot even more, I think I found the resolution for now.

@jj24556 can you help me confirm if this happens only on non-fullscreen mode (windowed mode) or both?

Whenever I play with the game client in windowed mode I get this bug. But in fullscreen, I have yet to get it. When I take a video with my phone and go very slowly frame by frame, you can see the game client shifting from the right to left rapidly, but very hard to see playing as it's only a few frames right/left. From ...

ember flareBOT
rose void
# quick path programmatically? you can't

I wonder if you could at least tell if it's using ddarts since the projectile for those are different. First idea that comes to mind as a work around @spiral badge

spiral badge
#

sadly doesn't apply to my use case, I may just not worry about blowpipe condition for now.

#

I assume that would work though, I don't see why not. Just that in the plugin I am working on its trying to validate certain items etc before entering a pvm encounter, in this case it was inferno.

#

Forever haunted by the time I went in there with blowpipe iron darts

autumn star
#

could add a manual "check your blowpipe" req and let them go in when a matching game message has been found near the entrance 🤷‍♂️

ember flareBOT
#

I'm experiencing the same issue at Royal Titans with the exact same error log.

Did you also crash at the exact moment of the second phase of the fight, when the two titans go to their respective sides? My client crashed right when they moved.

I can't reproduce this, but it probably depends on your gear and what anims you are doing

I don't remember the first time, but from the screenshot when my client crashed the second time, we were both wearing bloodmoon gear. As for an...

topaz pierBOT
rare crescent
#

hihi, is there a way to debug on live-time changes while i run runelite? Let's say I add/change on someone's plugin to add an info or icon, etc. Like besides the --debug, is there something I should look into?

(Just started recently to kinda get my toes wet and finally give a try in contributing lol)

worthy sparrow
#

what

rare crescent
#

so like you want to see the changes you do live

rare crescent
#

ohh this is what it was

#

let me take a look then 👌

rare crescent
#

So I tried the HotSwap and it works in-game changes! However, it doesn't change anything in the RuneLite plugin sidebar info. I wanted to do like a small change like a text and it doesn't update it instantly. I guess it has to do with recompiling the whole class with the client first?

e.g from the action-progress-bar plugin, I was changing the "Cooking actions" text purely for example purposes. I tried to add "(this is just a test of hot reload)". Is there something I'm missing out?

(I had to rerun the program)

glass sandal
#

Not everything can be hotreloaded, intellij should tell you if it can't

rare crescent
#

What are things that can be hotreloaded then besides the in-game changes?

glass sandal
#

Changing the logic in a function can. But adding new globals or new functions can't. Its just a java thing, not runelite specific. So intellij probably has an article about it

rare crescent
#

this will be a journey of questions for me using Java hahaha. Thanks again!

rare crescent
#

Is this normal when changing a bit of logic?

#

Just added new items to the action-progress plugin

sharp knot
#

That would be something you can't hot reload

#

There's probably something you can do with bucket but that's something you should really ask about in the api-discussion channel in the wiki's server

#

But it also sounds from that question like you're trying to do something that a dozen other people have done fwiw

edgy spade
hollow stratus
ember flareBOT
#

Updated behavior per conversations in discord with Adam and others.

  • The feature has been moved into the core runelite code, no longer a 1st party plugin.
  • Custom ordering is always enabled.
  • Drag uses the Runelite-wide UI drag key (Alt/Option by default).
  • Right click "Reset" popup menu to allow resetting back to the default order, while still respecting any plugins that may have set their plugin icon to have their own popup menu.
  • Presents confirmation dialog window to confirm r...
ember flareBOT
ember flareBOT
low hatch
chrome crest
#

That is sick! really looking forward to it as my sidebar is very cluttered 😂

worthy sparrow
#

What's up with the comment changes

ember flareBOT
ember flareBOT
#

Type

Incorrect behavior

Operating System

Windows

OS Version

No response

Bug description

The !lvl command to display rank still does not work with the Royal Titans despite functioning properly for newer bosses such as Brutus.

It has never worked correctly, as far as I am aware.

Screenshots or videos

RuneLite version

RuneLite: 1.12.19
OldSchool: Rev 236
Launcher: 2.7.1

Logs

No response

ember flareBOT
hollow parrot
#

@heady pond thanks

heady pond
#

np fam

ember flareBOT
ember flareBOT
#

Type

Incorrect behavior

Operating System

Windows

OS Version

No response

Bug description

When on a kraken task it will highlight the krakens from Sailing, but they do not count for the slayer task and should not be highlighted. Not sure if this happens with any other similarly named creatures.

Screenshots or videos

RuneLite version

Runelite version: 1.12.19
Launcher version: 2.6.4

Logs

No response

quick path
#

hmm

reef badger
#

should just be able to region check them right

#

cuz inside is probably millions of miles away

#

oh wait im thinking of clues having existing region checking not slayer

quick path
#

we could, we just haven't had to region check any other npc thus far

reef badger
#

ye

quick path
#

yeah, clues have that baked in

#

but not slayer creatures yet

topaz pierBOT
#
jeremybahadirli

Closes #19740

Currently, the Slayer plugin determines slayer task targets using an array of target names, and testing whether one of the target names exists within the NPC name as a whole word. A more robust system is needed to match NPCs such as Prifddinas "Guard" on the Elves task, because there are other non-task NPCs in-game which share the same name.

This PR refactors the Slayer plugin to match NPCs using a Predicate<NPC>, rather than String[] targetNames. NPC predicates can be de...

glass sandal
#

Somewhat related but maybe too complex

quick path
#

hm, I forgot that PR was open. I remember the discussion we had on the issue it's addressing

#

I'll take a look at that later today

rugged pivot
#

while you're looking at slayer PRs 👉 👈

topaz pierBOT
#
Hannah-GBS

Respawn timer code is copied from NPC Indicators. I've done a few slayer tasks worth of testing but there may be some edge case NPCs that need specific testing (someone with spare slayer points on DMM could buy specific tasks I think).

I'm not very familiar with the test logic so let me know if my fix (for onGameTick now having a getWorldLocation call) is correct.

Resolves #3730

twin rover
#

just wondering, is it possible my submitted plugin was overlooked? or did it submit wrong? doubled checked avg time and seems im above it lost on pg3 with some failed ones around it dash

grizzled aspen
#

no nothing is overlooked

twin rover
#

good good, just wanted to make sure i didnt fk up lol

grizzled aspen
#

its just like waiting in a regular line. there's still others that were opened first

upper valve
#

you pushed it to the back of the queue when you updated it

twin rover
#

ahh thats why, makes more sense, thanks guys for letting me know ❤️

upper valve
#

best bet for getting something reviewed is always to not touch it until changes are requested

twin rover
#

is that for all future plugins added or just for the first one?

upper valve
#

any pr whatsoever

twin rover
#

okay ill remember that, had no choice for the update, my ocd was bugging me if i pushed an imcomplete project haha

reef badger
#

also while what rikten is saying is true, ignoring last updated there's still a few new plugins older than yours

grizzled aspen
#

idk if everyone else uses last updated since i use open time instead, but i don't regularly review new ones

upper valve
#

i use last updated for new plugins

#

for everything really

oak rock
#

Mines on last updated too

twin rover
#

didnt even notice i could order by updates, i was scrolling through the pages like a noob lol

upper valve
#

diff: is:pr is:open label:"plugin change" sort:updated-asc -label:"waiting for author" -label:"build failed" -label:"size-xl" -label:"hold for release"
new: is:pr is:open label:"plugin added" sort:updated-asc -label:"waiting for author" -label:"build failed"

rugged pivot
#

so we should rename size-xl to too-big-pls-split

upper valve
#

i would like to work on tooling that helps accelerate my review process so PR size is not an issue anymore

#

but IRL time is scarce

snow needle
#

I feel like I'm missing something crucial with how RuneLite renders Jagex HSL.
In this example I chose a red hue, max saturation, max lightness, and hslToRgb outputs pure white.
ObjExporter uses a brightness adjustment of 0.9 which, if I apply, only makes the colors even brighter, so I don't think that's it related to this.
I've read through the GPU plugin frag & vert shaders but I can't find anything obvious about brightness adjustments.
Is this caused purely by in-game lighting lowering the brightness of stuff? How can I make my color picker's hslToRgb more accurately reflect the color seen in-game?

rancid marten
snow needle
#

I converted that to Java and it looks the same as net.runelite.cache.models.JagexColor.HSLtoRGB. That's what I'm confused about; there appears to be something lowering the brightness during the rendering process that makes the in-game appearance so different from a pure HSL to RGB conversion, but I'm not sure what it is.

rancid marten
#

oh yeah

#

are you seeing the shading maybe?

#

like how it goes from darker red -> lighter red

snow needle
#

Sort of, like the brightest part of the shield is almost white, but most of it is darker red.

rancid marten
#

that just looks like one of your face colors is white and the other is red

#

do you want the entire shield white?

snow needle
#

No, I want my color picker to show a color that more accurately represents what's on the shield.

rancid marten
#

when you replace the colors for the shield, what code are you using for that?

#

its the ColorTextureOverride stuff right?

snow needle
#

For the player yes, also I'm doing item color replacement too.

#

and it's setting the replace value to 1023

rancid marten
#

ether way the colors you are messing with is the pre-shaded colors

snow needle
#

I guess so? What is shading?

rancid marten
#

this effect where it goes from darker to lighter

#

the shield face is actually just 1 color red

#

the shading makes it not

snow needle
#

Yes exactly

#

Where can I learn about shading?

rancid marten
#

its something the client does, i dont think you can disable it for items like that

snow needle
#

I don't want to disable it, I want to replicate it

rancid marten
#

tbh idk how it works really, there is code in the cache module for it I think

snow needle
#

I think my color picker should show a shaded value instead of pre-shaded.

#

Ok thanks hopefully I can figure it out

ember flareBOT
ember flareBOT
turbid turtle
#

Hey folks!
I have a question on varbits and interfaces events, as well as to ensure it's game compliant.
I want to display a chart on the GE interface and have the user be able to update the new offer price by clicking on the chart, updating the price to the currently selected Y axis position.
I've identified the varbits and code to update the interface, but this is client-side only.
While I'm not too familiar with writing data to the client, I'm wondering if it's possible for a plugin to update the price this way.
I think it might be impossible as varbits are stored server-side, and submitting the offer uses the server variable instead.
Any insights?
Thanks!

rare crescent
#

How did you enable these little features?

rare crescent
#

let me double check everything then

stable mural
#

#github message i allow this pr. Mobile app keeps crashing when i try to comment under the pr

reef badger
#

sounds about right

ember flareBOT
rare crescent
#

Holy flashbang

torpid dagger
rare crescent
#

I'm trying to add some of the new potion to the action-progress-bar plugin, but I don't seem to get it working. For now, I'm doing the extended stamina potions variants. I have added new recipe requirements, but it doesn't show the progress bar. Is it maybe because it uses stamina potion AND marlin scales as an ingredient?

#

Maybe not the best screenshots, but I'm happy to share anything needed

sinful lava
rare crescent
#

ty

ember flareBOT
rare crescent
#

Are there formats according to Runelite like opening an issue to follow/best practice?

sinful lava
rare crescent
#

probably because i chose blank template lol

pastel tree
#

Is the a plugin that can export the scene as a model. I thought there would be but suprisingly I cant find one.

ember flareBOT
glass sandal
#

There's an external program to export a region's terrain as a 3d model

pastel tree
pastel tree
#

since it can export any region rather than just the ones you visit in game

rare crescent
#

like the osrsmap 3d site? let me find the link

restive garnet
rare crescent
#

yee that one

rare crescent
#

when you are choosing a module, is there a big difference between choosing *.test and *.main?

pastel tree
#

does anyone know how the model.getUnlitFaceColors() works? Will it always work for any model, or are there certain restrictions I should know about?

worthy sparrow
rare crescent
#

so when it comes to new plugins, you always want to run the test one? idk if that makes sense

glass sandal
#

If you use the plugin template or auto-generator it should generate the test for you automatically

ember flareBOT
ember flareBOT
reef badger
#

Cool cool

stuck shale
#

Say the line

oak rock
#

Wtf is that even supposed to mean

ember flareBOT
#

Type

Incorrect behavior

Operating System

Windows

OS Version

11

Bug description

it started a few weeks ago randomly. i could see as i moved the camera the objects in the world with black edges were flickering.

as you can see in the video. as i pan the camera there is flickering in the allotment patch around the border of the allotment.

Screenshots or videos

https://github.com/user-attachments/assets/cd232adb-d4e5-4821-9389-021fc7d00179

RuneLite version

...

reef badger
#

Yippee

ember flareBOT
oak rock
#

Type crash or hang

ember flareBOT
heady pond
ember flareBOT
red rapids
#

Shoutout to the Creator Kit dev. I've learned a ton on how to do stuff in Swing by referencing that plugin

reef badger
#

ya that guy is wildin

#

but in a good way

worthy sparrow
#

Anyone want to train an llm on it

rare crescent
#

i saw it today on the dev tool, but i have no idea what it is

reef badger
#

if you dont already know forget you heard it

#

or ull regret it

red rapids
# rare crescent whats swing?

its the lib used for UI of a plugin. For any plugin wanting more advanced UI, you're going to get neck deep in Swing

rare crescent
reef badger
#

no you dont

rare crescent
#

ok maybe not... yet

sharp knot
#

Not later either

rare crescent
#

give me documentation of Swing

reef badger
#

the what

reef badger
red rapids
#

I love the oracle docs I love the oracle docs I love the oracle docs I love the oracle docs I love the oracle docs 🙃

rare crescent
#

speaking of documentation, as a learner and want to make a plugin (not another flipping utility), would you suggest going through the runelite api documentation? nothing in particular yet

quick path
rare crescent
#

i lowkey prefer to read the man man or any UNIX man or c++ or something that is not Java

quick path
#

our API docs range from good, to ok, to nonexistent for some methods, so usage isn't always clear just from the docs

red rapids
# rare crescent speaking of documentation, as a learner and want to make a plugin (not another f...

A few useful things to get you started that I've learned along the way:
Logging - Use @Slf4j, you dont need to roll your own logger class

Sending a notification chat message in game: Reference the Examine plugin https://github.com/runelite/runelite/blob/master/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java

As I referenced above, https://github.com/ScreteMonge/creators-kit is an incredible reference option for more complicated UI.

rare crescent
quick path
#

if you're using something which isn't well-documented, yes

#

a majority of the API is either documented, or has core usage which shows how to use it

rare crescent
#

my error i did when i was learning programming, is that i would read a lot, but not writing a lot. So trying to avoid it when im writing code

Right now I'm chill so i just wanna read

hollow stratus
#

quick question, when I'm loading in plugins in a dev build of runelite and I switch profiles, sometimes it loads my other profile's plugins and other times it doesn't. Is this usual behavior?

#

I'm trying to test changing profiles properly loads the saved custom plugin order but I'm running into this issue, which makes it hard to test since new plugins from profile 2 don't load in

rare crescent
#

probably because you didnt link it with the acc profile

#

i definitely had that issue earlier today where i load some plugins, but it wouldn't link right away

hollow stratus
#

I've done that, I believe. I'm double checking runelite docs to confirm, but here's my project settings with vm flags

rare crescent
#

where it says cp runelite.client.main, do you have one that says test instead of main ?

heavy bobcat
#

For core you want main

#

Only for hub plugins you want that test

rare crescent
#

oh always?

#

ahh

#

ok ignore what i said then

hollow stratus
#

I'm doing core work, not plugin work, sorry should've specified!

heavy bobcat
rare crescent
hollow stratus
rare crescent
#

L

#

my lack of frontal lobe is unimaginable in this 😂

hollow stratus
#

oh weird, when I uninstall a plugin on profile B, it then suddenly loads all of the extra plugins. Hmm... gonna test dev build of main runelite and see if this behaves the same

worthy sparrow
#

use --profile=name

hollow stratus
worthy sparrow
#

i think so

hollow stratus
#

that worked, thanks Ron

rare crescent
#

maybe this would help you? @hollow stratus

#

pog

snow needle
#

In what cases does Client.createItemSprite return null? Is it always retriable?

hollow stratus
#

still trying to figure out why switching profiles in debug mode seems to lazy load plugins upon a new plugin change event. It seems onProfileChanged() isn't getting triggered when switching profiles. Is that still the right subscriber to use?

#

okay, the behavior is the same even with the newest upstream runelite, none of my work in there

rare crescent
#

correct me if im in the wrong though

snow needle
#

What do you mean "from the document itself"? It is annotated @Nullable. Why?

rare crescent
#

oh i see, im not sure exactly the @Nullable portion. I was looking more on the return value

hollow stratus
snow needle
rare crescent
#

not looking at decomp

snow needle
#

Oh you mean you were looking at the javadoc?

#

Yeah javadoc doesn't mention it, but the @Nullable annotation and I think I just saw it happen. Unfortunately I didn't have logging in place for it so I am not sure if it returned null or something else failed.

rare crescent
#

i see in other methods having the @Nullable too, but it is weird for me how to tell what exactly does without testing

rare crescent
#

what's this Huze @MagicConstant(valuesFromClass = ItemQuantityMode.class) int stackable

how the fuck you read this lmao

rancid marten
#

hmm?

snow needle
#

it's just saying the values should come from ItemQuantityMode instead of using magic numbers

rancid marten
#

did you figure out that shading thing btw?

snow needle
#

Yes I did, thank you! It looks a lot better after my changes.

#

I'll tweak it some more, but now I can actually show what the color will look like on the model after shading in the picker.

#

(left is before, other two are new)

rancid marten
#

@Nullable just means it can return null

rare crescent
#

so like a void function kinda?

snow needle
#

Yeah I know that, but I want to figure out why it returns null because I don't know if I should always retry when it's null.

rancid marten
#

except for giving it bad item ids it only returns null if the model cant be loaded

#

just retry it later then

rare crescent
#

i noticed today when messing with dev tool, you can see like an id of the inv sprite being nothing. dunno if related

snow needle
#

Any particular timeframe I should retry after, or should I reset the cache or anything?

rancid marten
#

ItemManager returns an AsyncBufferedImage for this reason, you can use that

fading iris
#

@noble hearth Are you the owner of the Deep Sea Trawling plugin? I'm working on a new feature for a trip summary with infoboxes showing the totals of each fish caught before disembarking. This would be controlled by a new config option, disabled by default.

The use case is for boats with multiple crew members doing trawling. Being able to see your contributions makes splits much more straightforward. The captain can still benefit from having crew and other players can expect to get the fish they caught.

I'll spin up a pull request if you're open to this.

reef hound
#

Updating a plugin's readme and nothing else still follows the standard review process, right?

upper valve
#

yes

covert marlin
#

Is there any available api's to view level requirements to make an item? Such as 53 fletching to make a blowpipe, 86 crafting to combine a rancour, etc. Thanks 🙂

reef badger
#

the client script for each* skill menu exists, but it's also just wrong sometimes so maybe that's not consistent

amber rampart
#

they are dbtables now, so you can probably use that

reef badger
#

😮

#

dats cool

glass sandal
#

(It also has issues like saying runite requires 92 mining)

reef badger
#

that makes more sense why they randomly changed one to be wrong

#

yeah

ember flareBOT
hollow stratus
#

when trying to store config values per RuneLite profile, it seems configmanager.setRSProfileConfiguration() isn't the right method to use, as it uses the current player name, not the runelite profile, which is a bit confusing.

I'm trying to store the custom sidebar order per runelite profile as I'm testing loading between two profiles with different plugins installed (same runescape profile) and I'm not sure the right path to take for this. I'm currently combing through plugins to see how they handle this

any advice?

rancid marten
#

just use setConfiguration()

rancid marten
#

i dont see it

hollow lintel
#

It's a very common thing to do in minecraft and gives a reasonable performance boost for say speedrunning. I do not see it mattering much for runelite though

rancid marten
#

I mean like I can run RL with 21 and I dont see a difference

#

or 17 even

#

do you know what jdk changes were made in 21 to make it faster?

#

maybe he upgraded to 21 and then also switched gcs or something?

#

maybe hes lying?

#

idk

hollow lintel
#

I do not, sorry. Just thinking globally, where might one pick up this piece of advice from. I've never seen it before for RL but often for mc

rancid marten
#

yeah idk

#

we will upgrade at some point I think

frosty canopy
#

If I recall, those 13th and 14th gen intels had notable instability yeah?

upper valve
# rancid marten maybe hes lying?

i don't think this person actually has any idea what they are doing and the claim that java 21 is a performance boost is just a placebo effect thing

rancid marten
#

maybe

rancid marten
#

like they are unstable on 11

heady pond
rancid marten
#

they typically backport those kind of things dont they? I think

#

like almost all of each 11 release is just backports

heady pond
rancid marten
#

this is backported

heady pond
#

yup

heady pond
rancid marten
#

we should do the 21 update at some point

#

we sort of botched the 8->11 migration so bad in like several different ways when we did it I dont want to try it again really lmao

#

but now we know i guess

#

like we were still fixing bugs related to the 11 migration years later

heady pond
#

fwiw i exclusively play on jdk 21 & haven't had issues on either windows or linux

but had swing issues on 22/23

ember flareBOT
#

Type

Other

Operating System

None

OS Version

No response

Bug description

RuneLite currently collects and transmits personal data to remote servers through multiple default plugins and client telemetry. This processing occurs with no privacy policy, no transparency notice, no consent mechanism, and no opt-in step of any kind. This raises serious concerns under the EU General Data Protection Regulation (GDPR), which applies to data subjects located in the EU/EEA regardle...

upper valve
#

aside from that being obvious AI, does GDPR even apply to runelite at all

#

it's not a commercial project

stuck shale
#

they made their github account for that post

#

¯_(ツ)_/¯

amber rampart
#

afaik gdpr applies to everything

late hare
#

yeah, pretty sure if you allow people in the EU to use your site or w/e it might be you are meant to follow GDPR

misty hornet
#

No more European runelite users

upper valve
#

i get that if you're a US-based business operating in the EU** you have to follow it but like

late hare
#

it's not UK, it's EU

upper valve
#

how could you enforce gdpr on runelite, you can't, can you? there's nobody to fine

reef badger
#

i wish ai was any good at scraping

#

if it was it would know about the --disable-telemetry param

late hare
#

in theory you'd just have the EU people coming after you, but im not sure they really do that for things like this lol

worthy sparrow
#

slayer task info is pii btw

#

i'm just quoting the man

misty hornet
#

Quoting the man quoting the AI

upper valve
#

tonight at 10: john runelite named in GDPR lawsuit

misty hornet
#

Pretty sure there’s been cases of the data processors for open source projects being sued for GDPR related “issues” but no idea how they actually turned out

#

It’s probably a nonissue but there is precedent

hollow stratus
ember flareBOT
#

Added proper RuneLite profile loading, allowing loading of different custom orders for different profiles. Also removed AI slop unit tests for smaller PR. Recording of profile switching behavior attached:

https://github.com/user-attachments/assets/9af7983b-b722-4f8e-9e28-cd813dbee0fe

Actions performed:

  • reset order for profile Desktop
  • dragged Gauntlet Map plugin to index 1
  • switched to profile Macbook (has default order except Bot Detector at index 1)
  • Compared against screensh...
hollow stratus
#

I think this PR is finally ready for a proper review 😮‍💨

rare crescent
rare crescent
rare crescent
low hatch
ember flareBOT
#
[runelite/runelite] New tag created: runelite-parent-1.12.20
#
[runelite/static.runelite.net] New branch created: 1.12.20-22949345526
#
[runelite/static.runelite.net] New branch created: cache-code-2026-03-11-rev236
ember flareBOT
#

I have provided technical investigation services to the Privacy Team at a previous company I worked for so I have hands-on experience in this area (although not professional on the legal side.) This topic is not entirely unfounded, but it is written more dramatically which in turn is largely due to AI. I have also gone through these technical considerations with AI in my previous work and noticed that AI overdramatizes these issues, because a too simple prompt causes the AI ​​to need to force...

#

Type

Other

Operating System

Windows

OS Version

25H2 (OS Build 26200.7840)

Bug description

In advance of today's Old School RuneScape client update, I closed my running Runelite. After the OSRS client update, I opened a new instance of Runelite. Upon loading in, my Player Owned House Object Markers data appears to have been wiped for every profile.

Steps taken to troubleshoot:
restarting computer
reloading Runelite client
changing profiles

Screenshots or videos

_...

quiet kettle
#

It seems like the location of POH rooms on the map may have changed with this update 🤔

restive garnet
#

I wonder what they need that space for... 😄

ember flareBOT
rocky imp
dusk ridge
rocky imp
#

Sure I'm happy to help out with it

dusk ridge
#

sent the inv :)

rocky imp
#

Thanks!

rare crescent
#

Any way to find tabs such as "Combat Options", "Skills", "Inventory", etc?

stuck shale
#

What do you mean find

rare crescent
#

like search up whenever you are in the skilltab section (or whatever tab)

restive garnet
#

think there's an event you can subscribe to when a user opens a specific UI

#

I forget the name

rare crescent
#

like the information the client has at the moment (e.g. I want to know what is my current skill total level through the skill tab)

rare crescent
stuck shale
#

a human has to open it to see it, the client knows it

rare crescent
#

but lets say I want to hide the xp remaining when i hover the mouse on a particular skill. I don't want to see how much xp is left for next level

#

so i want to know like what is the behavior called and tinker a bit from there

stuck shale
#

its some script that executes to prop that information up i imagine

rare crescent
#

what is a good way to like dig and see where it gets triggered after changing tabs? Varbits w/ dev mode?

ember flareBOT
#

Bump. Can this be added as an option. Or at least some way to address the underlying issue which still exists to my knowledge. Ideally there is some degree of granularity, I.E. each information set (GE Info, consumable stats, equipment stats etc.) can be toggled (always show or alt only) separately. That way we can see food/pots stats during combat without alt if, but hovering over a gear switch won't cover my entire inventory.

dusk ridge
#

sometimes you gotta let the PR marinate 🤤

rancid marten
#

pretty sure github is on fire but their status page says ok so idk

quick path
#

because their status page is always honest and up-to-date

simple cipher
#

I need to find a way to find & change text in all widgets, how exactly do the child Ids work? Is there any other way of traversing all widgets loaded (obviously some filtering mechanisms), without brute forcing the child Ids?

worthy sparrow
#

is it a translation plugin

simple cipher
#

No

#

It's a plugin to replace text in game, so for example any mention of "karamja" can become "shitty ass island"

sharp knot
#

I think you can just use meepspeak to do that already

worthy sparrow
#

or reword manager maybe

simple cipher
sharp knot
#

Oh reword manager was maybe the one I was thinking of

worthy sparrow
#

otherwise you are iterating the widget tree

simple cipher
simple cipher
quick path
#

you can consider working with them to have it affect specific interfaces as well (to avoid iterating every widget), if that'd suit your needs

simple cipher
quick path
#

ideally they'd either be children of the widget (in which case you could recurse through them) or they'd have some know group id, where you'd do the same for their parent widget

simple cipher
#

Okay, I think I can work further from that

#

Thanks

ember flareBOT
reef badger
#

cool cool

simple cipher
quick path
#

check the widget and its children, then check those children for further children

rare crescent
#

is there a way to stop the script inspector firing nonstop messages? it is constantly filling the screen

quick path
#

add the noisy script IDs to the blacklist

ember flareBOT
#

I have a couple concerns with this approach, namely:

  1. Code duplication: there's no reason this code should be duplicate for two plugins besides that we have not generalized it. Going ahead with this approach would mean repeated work to bring improvements to NPC spawn highlighting to multiple sources. (I can think of a couple ways in which it could be improved--namely, not presenting respawn indicators for dynamic NPCs, ensuring respawn timers don't get overwritten/removed in unexpected s...
ember flareBOT
ember flareBOT
sharp knot
#

Woah I forgot about that one

quick path
#

I haven't

#

(it is one of many tabs I've had open for over a year in firefox now lmao)

sharp knot
#

Oh this means I get to go to "organize the regions file without actually adding anything" jail next

quick path
#

lmao

sharp knot
#

(I think you said you'd be ok with that sort of PR right?)

quick path
#

I've been trying very hard to get back to unchecking the "Open previous windows and tabs" setting

#

idk if I'd said that

#

organizing it would be fine I guess? I'm not that worried about it either way

sharp knot
#

I mostly wanted to do it for my own benefit since I was the one messing with it the most really

#

Make it a bit easier to keep track of what was already in there

quick path
#

If we've got any other open PRs against that file I can look over those first, otherwise go for it ig

sharp knot
#

I think I was just trying to keep it to the one at a time but I'll double check before I start doing anything

quick path
#

appreciate it!

rugged pivot
# ember flare

this is all extremely reasonable but have you considered that its cool and I want it now 😂

quick path
#

you're always free to play a dev build (that's what I do)

#

encouraged, even!

rugged pivot
#

Its actually painful for me to do that as I can not get razer's shitty software to recognise the dev build as a process to switch my mouse bindings to my OSRS profile

#

but yes

quick path
#

hmm

#

clearly ought to cut a bug ticket to razer /s

rugged pivot
#

that is extremely a me problem

sharp knot
#

I think razer is your problem

reef badger
#

osrs-but-its-under-javaexe-i-just-wont-play-minecraft

rugged pivot
#

it only likes distinct exes so I'll have to fork and build my own launcher of course

quick path
#

of course

rugged pivot
#

pointing it at the jre exe may work but I remember having issues with that years back

sharp knot
#

But can I somehow get force feedback on my sim wheel for sailing?

rugged pivot
rose void
#

anyone making a plugin to make the arceuus spellbook have 5 spells per row again if you hide the minigame tele its fine

ember flareBOT
ember flareBOT
rugged pivot
#

Damn why doesn’t runelite run on my kindle? It’s the latest generation!

reef badger
#

this is so sad

rugged pivot
#

wait hold on, switched java version

#

I guess this is technically running

reef badger
#

so many people play muted anyway audio is irrelevant

rugged pivot
#

gpu failed to start, crazy

amber rampart
#

is it even arm64?

rugged pivot
#

it most certainly is not

#

surprised its running at all

#

obviously its because i switched to java 21, which we all know is superior

reef badger
#

that's what i heard

hollow stratus
#

while I wait patiently for my turn for my PR to be reviewed, I wanted to start on a plugin that I don't believe exists. Is anyone aware of a plugin that tracks the most recent time an item in your bank was interacted with?

I'm trying to do a heatmap of sorts to identify what items are never accessed in my bank and get rid of them. I liked Wasted Bank Space plugin for identifying items taht can be stored somewhere (so much so, I contributed some performance improvements to it), but I'm looking to take the bank space saving further and practice more java dev with this idea. Just don't want to spend the time if the plugin already exists

rugged pivot
#

I don’t think it exists, and I’ve thought about that idea in the past

#

I vaguely remember thinking “ugh I’m gonna have to wait 6 months after developing it to see all the stuff I haven’t used in 6 months” and then just not doing it
And here we are, way more than 6 months later, with no plugin and no data 😂

#

So i say go for it, I’d use it

hollow stratus
#

sweet, thanks for the encouragement Hannah

flat furnace
reef badger
#

i turned it off and on again and it didn't fix it, i'm out of ideas

flat furnace
#

Was the pipeline changed recently? (Last few weeks)

grizzled aspen
#

nothing's changed, but github has been having a lot of outages recently

reef badger
#

i dont think so

flat furnace
#

Hopefully it's a one off then

#

Do you guys have access to check what happened in the pipeline? I don't

reef badger
#

abex might but thats about it for awake people

flat furnace
#

No rush, was just gonna help troubleshoot

reef badger
#

idk i'm sure someone will open an AI pr in the next hour

#

and we'll know if it was a 1off

grizzled aspen
reef badger
#

yippee

grizzled aspen
#

github team is vibing too hard

flat furnace
#

ty for the fix @tulip wagon

tardy pecan
#

shot in the dark but does anyone know the pathing algorithm used when a player is using an item on a (moving) NPC?

quick path
#

I'd guess it is similar to attacking an NPC while wielding a melee weapon, which is that you path to its location at the time of clicking, then path to its position anew once you reach that location, and repeat until you reach it

rare crescent
ember flareBOT
#

Type

Performance

Operating System

Windows

OS Version

Windows 11

Bug description

I get random sudden FPS drops to around around 12 FPS and it doesnt recover anymore. Making the game unplayable from that point. Sometimes it happens multiple times a day and sometimes it doesn't happen for a couple of days.

Turning off and on the GPU plugin seems to fix the issue in most cases.

Screenshots or videos

These are the GPU settings I have

RuneLite version

RuneLite...

rare crescent
#

remind me again what is the document to make changes on a plugin from plugin-hub?

oak rock
#

The manifest?

rare crescent
#

umm like the git commit etc to the branch of the plugin for action-bar-progress

#

so like updating the plugin, and having the maintainer to review it and make a PR review

heavy bobcat
#

The file is just the name of the plugin so probably action-bar-progress

rare crescent
#

right but im trying to do my git push and im getting this (im typing my password correctly)

restive garnet
#

Did ya read it?

rugged pivot
#

if thats not your repo you can't just push to it. You have to fork it, commit to your fork, then PR to them on github

rare crescent
#

ngl, i forgot about the fork too lol

rugged pivot
#

we don't have documentation for how github works

restive garnet
#

You push changes to your fork, then do a pull request to the original author's repository

#

and it's then their responsibility to do the PR to the hub

#

Can you imagine the carnage if just anyone could do changes to hub plugins without going through the original authors first? 😄

rare crescent
#

lol yeah i can imagine

#

but i swear i saw a document that explains how to contribute on someone's plugin from plugin hub

#

thats why i was feeling a bit lost lol

restive garnet
#

Yea you can't just directly write to someone else's repo

#

The usual way is fork it, change on your fork, PR it back to the original repo

rugged pivot
#

its possible some hub plugin has contribution instructions in its readme, but as far as I know we only have guides for contributing to core, and making your own plugin

restive garnet
#

Other way is to get the original author to allow you to commit directly

#

and they have every right to tell you to piss off 😄

rare crescent
#

oops then lol, let me do these changes on my fork then

rare crescent
#

i did the fork, commit, and push on the fork, but aint letting me 😢 . I will try again later and see what I'm doing wrong. As for now, I will just make the commit directly to my forked repo site, and submit a PR

rare crescent
sharp knot
#

Committing to your fork and then opening a PR on the upstream is what you want to be doing

rare crescent
#

I’m away from my pc, but basically i have to upstream first from the main runelite repo, then fork and do changes i want?

ember flareBOT
topaz pierBOT
#

Run gradle shadowJar to generate a runnable jar in build/libs/*-all.jar. You can run the jar with java -jar -ea jarName.jar. If you run into problems, update build.gradle to the latest plugin template version.

ember flareBOT
rare crescent
rare crescent
sharp knot
#

That wasn't for you

ember flareBOT
twin rover
#

hey guys got two questions for ya guy,- is there an src for the dev mode plugin? think it would help a bit picking a few things up with it.
also side question, anyone know if theres a way to download a copy of the entire runelite api on static.runelite? last pre osrs project was some llm stuff, debating if training a coding llm to fine tune for runelite api might be interesting

fluid stump
#

api docs

twin rover
#

thanks mark ❤️

ember flareBOT
#

Fix broad Slayer name-matching false positives for a few newer NPCs.

This excludes:

  • Armoured/Pygmy/Spined/Vampyre krakens from Cave kraken and Kraken boss tasks
  • Vampyre kraken from Vampyre tasks
  • Hermit crab from Crab tasks
  • Demonic Brutus from Cow tasks

These cases still need the broader positive matchers (Kraken, Brutus, and the singular task-name fallback), so removing aliases alone would break valid task targets. This patch keeps the current matching approach and adds task-spe...

ember flareBOT
upper valve
ember flareBOT
#

This issue is urgent!

Same exact thing has been happening to me on both of my computers, probably for over a week now. I've been digging through the RuneLite logs and can't find anything that lines up, or at least very little. Happens with 117 as well.

The lagging/freeze affects your entire operating system, not just RuneLite.

Temp fix: You can recover from it using Win + Ctrl + Shift + B. This refreshes your GPU driver. I've found that the issue could come back any time withi...

#

I just linked #19967. Looks to be along the same lines.

I've seen this issue happen on both of my computers:

Lenovo Legion laptop:
14900HX
4060
32GB RAM
Win 11

Custom PC:
12700K
3080 10GB
32GB RAM
Win 11


See that other issue for some troubleshooting I tried. I noted the issue resolves if you refresh the GPU driver using Win + Ctrl + Shift + B. Certainly feels like a memory leak issue.

Happens using both GPU and 117.

I'm running the latest BIOS version on my Lenovo rig s...

pastel tree
#

Hey, is there a chance any of you runelite devs could expose the "pitch" field on projectiles? Also known as the Z rotation, the thing that dictates how slanted the projectile is.

#

Im asking because I need it for my graphics plugin.

upper valve
#

@chrome crest i'll merge your thing later just keep em size-l or under. i filter out xl i didnt even know your pr existed

chrome crest
ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
native harbor
#

So, I have submitted my PR #11015 - If I just make little updates, such as to the README this shouldn't be an issue, yes? It's official, just didn't want to change it to a draft. I made a couple changes and updates the hash and checked successfully. I assume only major updates during the process should be drafted otherwise it's okay?

sinful lava
native harbor
#

Thank you!

ember flareBOT
ember flareBOT
ember flareBOT
quick path
#

go to random github repo, click on issues, try to read some issue, octoburn

#

gh has really been going through it lately

upper valve
#

grok fix my prod deployment

hollow stratus
#

thats exactly what I thought was happening 😂 like the aws outages being due to AI

quick path
#

would make sense considering the pushes at both companies to go all-in on AI

amber rampart
#

The constant for the top level world view is changing in an upcoming game update, scheduled for Monday the 23rd of this month. If you have it hardcoded as -1 your plugin will break, please change your code to explicitly reference WorldView.TOPLEVEL.

friend-live-locations
region-locker
tob-utilities
osrs-wiki-crowdsourcing
gemstone-crab-timer
port-tasks
cg-recolor
vitality
companion-pet
old-school-snitch
shortest-path
ha-exporter
group-ironmen-tracker
bearycuda-trials
gim-hub
loot-filters
deepseatrawling
deep-delve-pacer
cox-additions

@velvet haven @lone crow @unique tusk @misty belfry @kindred token @sinful crest @tiny cloak @valid wave @long vessel @dusty anvil @deft hatch @empty nexus @remote ice @latent snow @inner ledge @upper valve @signal cave @misty belfry

upper valve
#

is that scan from presence of -1 constant?

amber rampart
#

I searched for (wv|we\.|worldView|worldEntity).*-1

misty belfry
amber rampart
#

I think I just added you manually to the wiki one then forgot and manually added you a second time

misty belfry
#

Sg, i can take care of the osw one. Thanks for the heads up 🫡

hollow stratus
ember flareBOT
empty nexus
ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
#

Core Changes

I enhanced the ChatBoxTextInput to make it feel more like an input element you might find
on a native desktop app or on the web. Added these features:

  • Undo/Redo with Ctrl + z and Ctrl + y
  • Move to start/end of line with up and down
  • Shift key selection
    • Select consecutive characters with Shift + left and Shift + right
    • Select to start/end of line with Shift + up and Shift + down
  • Ctrl key navigation, selection, and deletion
    • Move words with Ctr...
quick path
ember flareBOT
ember flareBOT
#
[runelite/static.runelite.net] branch deleted: 1.12.18-22393973430
#
[runelite/static.runelite.net] branch deleted: cache-code-2026-02-25-rev236
#
[runelite/static.runelite.net] branch deleted: wiki-data-2026-02-20
#
[runelite/static.runelite.net] branch deleted: wiki-data-2026-02-27
#
[runelite/static.runelite.net] branch deleted: cache-code-2026-03-04-rev236
#
[runelite/static.runelite.net] branch deleted: cache-code-2026-03-11-rev236
lunar yarrow
#

Is it common for plugin panel UI to break when merged?
I'm struggling to replicate it in my dev build, I've tried removing --debug program flag, is there something else I can do to bring the behavior inline with the live client?

rancid marten
#

the most common mistake i see is people load resources, like images, off of their local filesystem or something

lunar yarrow
#

Nothing from local, but should the first argument be my plugin class instead? I can't remember why I used PluginPanel here.
ImageUtil.loadImageResource(PluginPanel.class, "/delete_icon.png")

heavy bobcat
#

So using PluginPanel which is presumably from the RuneLite package probably won't load your resources, although I'd think it wouldn't work locally either...

lunar yarrow
#

That's what I thought, but it does work locally for some reason.

upper valve
#

link your code probably

lunar yarrow
#

Should I just drop the github project, or do you want snippets?

upper valve
#

github link is fine

lunar yarrow
heavy bobcat
#

I think you need to use your plugin class + put your image under resources/com/groupitemtracker

upper valve
#

yeah the resource path is incorrect

lunar yarrow
#

Okay, thanks! What a silly mistake.

upper valve
#

mainly the issue is that it's not under resources/com/groupitemtracker like shaggy said

glass sandal
#

I'm not at a PC to check but I think if you use IntelliJ to add the resource it puts it in the correct path

upper valve
#

I think that if they're in the same package path you don't have to give the full path?

#

but giving the full one works

lunar yarrow
#

I think I'll just be explicit like the example here. Just to be safe.

trail marten
#

Is there any way to have right-click options without it showing up as "x more options" in the top left text, and with having the menu entries there the entire time so they can be swapped with a menu swapper (i.e. not added only in onmenuopened)?

#

I want to have right-click options in empty spaces, without it feeling like there's something there due to the mouseover text changing.

lunar yarrow
upper valve
#

it is sort of weird that your thing worked locally at all

#

i remember it being null until i got the paths right

lunar yarrow
#

Agreed, thanks for helping me diagnose that quickly. I'll make a pull request shortly.

brisk plover
#

Getting the deprecated warning about

'net.runelite.api.InventoryID' is deprecated

Searching through this discord, I saw that people said to use import net.runelite.api.InventoryID;
, but where did you learn that? Are docs somewhere?

glass sandal
#

It’s still fine to use. But gamevals are preferred to use

brisk plover
#

Ah, but like where can I see what the prefered method is. Usually when something is deprecated, the comment docs mention what to use instead, but I don't think I see that?

glass sandal
#

The gamevals had to be excluded from API docs because it made the files too large for github. So that might be the reason there's no link

brisk plover
#

Ah makes sense! Thank you!

ember flareBOT
rustic canyon
#

Got a question.

I’m trying to make a plugin which hides the 0 damage hitsplats. But I'm not sure where to start.

I tried looking at the "Entity Hider" code, which is able to hide all local 2D elements, but I don't fully understand how the plugin is actually hiding these Elements.

Only reference (outside of config updates) I found of hideLocalPlayer2D within EntityHiderPlugin.java is:

 @VisibleForTesting
 boolean shouldDraw(Renderable renderable, boolean drawingUI)
 {
     if (renderable instanceof Player)
     {
         Player player = (Player) renderable;
         Player local = client.getLocalPlayer();
...
...
...
      // Allow hiding local self in pvp, which is an established meta.
      // It is more advantageous than renderself due to being able to still render local player 2d
         if (player == local)
         {
             return !(drawingUI ? hideLocalPlayer2D : hideLocalPlayer);
         }```

Which I don't exactly follow. 

I would really appreciate if someone could point me in the right direction.  🙂
tulip wagon
#

This wouldn't be possible without exposing new API methods

rustic canyon
#

Ah so its all or nothing?

tulip wagon
#

correct

rustic canyon
#

ight happy I asked before I spent more time on it

tulip wagon
#

we don't expose the hitsplats that are currently on an entity, nor a control to render/not render hitsplats individually from other 2d elements

rustic canyon
#

thats fair, just wanted to see if I could remove them as a accessibility feature, since a ton of 0s hides everything under your character.

rustic canyon
#

Question regarding Resource Packs.

Went digging into the code in hope of adding the ability to recolor hitsplats, and noticed the code already exists, just commented out.

Is the recoloring of hitsplats something that is rejected/unallowed to be implemented in runelite?

#

I checked the following page, but didn't see anything speaking against the implementation of such a feature.

reef badger
#

did you look at the diff to see if the reason was in the commit

rustic canyon
rugged pivot
#

they were commented out in the commit that added them 2 years ago :L

reef badger
#

amazin

rustic canyon
#

So they were just implemented commented out. Interesting. Wonder if I could just complete the implementation by getting the sprites and doing a PR.

Since the logic is already there, just need to populate the folder.

tulip wagon
#

i can't think of a reason why it would violate a rejected feature / rule

#

try uncommenting i guess

rustic canyon
#

yeah thats what im doing 🙂

tulip wagon
#

it might be because the hitsplat icons are not handled through sprite manager

#

idr their internal implementation, but it might be one of the sprites that's loaded once on startup and not refreshed

rustic canyon
#

I'll start by uncommenting then go from there

late hare
#

not on startup, but they have a cache that probably isn't exposed in the public api

rustic canyon
#

Not sure why almost every plugin I fork doesnt seem build which leads me to editing build.gradle and the "test" script heavily

ember flareBOT
rustic canyon
#

Added -DspriteFolder="C:/path/to/sprites" -DpackFolder="C:/path/to/output" to VM Options, which did fill in the folders it required, but there were further errors.

#

(I did populate the paths with correct folders)

#

Going to take a break for now, see what tomorrow brings.

rare crescent
#

Is there any particular schedule whenever runelite gets updated? (e.g. every 2 weeks, 10 times a quarter, etc)

amber rampart
#

no, its mostly just when we need to

rare crescent
#

ty

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
#

Lowering draw distance to e.g. 50 and extended map loading to 3 is worth giving a shot.
My friend had this and after extensive debugging(Everything short of Windows reinstall, including DDU etc.) it seemed like that was what helped, few days now since last hang. He had the issue on both 591 and 595 drivers.

Increasing Tdrdelay might help with the GPU timeout events. If it is some edge case with high draw distance and zone load happening etc. On 117hd the experimental zone streaming smooths o...

rare crescent
#

is Mavin build like an old thing these days and replaced with Gradle?

heavy bobcat
#

Yes

rare crescent
#

o cool then, also: when making a new plugin or using example-plugin, do you include all branches?

amber rampart
#

it doesn't matter, there is only one branch

rare crescent
#

kk

ember flareBOT
ember flareBOT
ember flareBOT