#development

1 messages · Page 16 of 1

fading iris
#

If I were to try to contribute to a core Runelite plugin (e.g. Item Identification), is that a process that requires building the client first?

reef badger
#

it's preferred you test anything you're submitting so yes kinda

tight loom
#

would a attack cooldown indicator be allowed?

glass sandal
#

Like this one?

tight loom
#

oh sweet

ember flareBOT
#

Type

Crash or hang

Operating System

Windows

OS Version

Windows 11

Bug description

Runelite randomly freezes with no clear reason and very rarely crashes. Client log always says "java.lang.OutOfMemoryError: java heap space" despite having plenty of memory available on my system. Tend to get hitching in Civitas specifically but have frozen at Demonic Gorillas, Zulrah, and in Civitas multiple times near the beginning of leagues.

Task manager also does not say that Runeli...

#

Client log always says "java.lang.OutOfMemoryError: java heap space" despite having plenty of memory available on my system.

We don't allow the client to use all the memory it wants, this error means your plugins are using more memory than the default limit. As you have a large amount of plugin-hub plugins, your options are to clean up the ones you have, and/or increase the heap limit https://github.com/runelite/runelite/wiki/RuneLite-Launcher-Configuration

ember flareBOT
#

Client log always says "java.lang.OutOfMemoryError: java heap space" despite having plenty of memory available on my system.

We don't allow the client to use all the memory it wants, this error means your plugins are using more memory than the default limit. As you have a large amount of plugin-hub plugins, your options are to clean up the ones you have, and/or increase the heap limit https://github.com/runelite/runelite/wiki/RuneLite-Launcher-Configuration

That would make a lot of ...

solid shadow
#

I can in fact confirm this

rancid marten
#

Oh really that is interesting

solid shadow
#

oh it happens on every bone

rancid marten
#

does it happen on mobile?

solid shadow
#

lemme check

#

yep

#

happens on mobile as well

rancid marten
#

are we sure this is new?

solid shadow
#

the arches are just solid objects this is the only path

rancid marten
#

maybe this is not new

#

people keep saying pathing is messed up and ive been trying to find evidence of it

solid shadow
#

im not familiar enough with this content to know if its new or not

amber rampart
#

I'm pretty sure that is not new

grave siren
#

How is that open PRs chart looking now

#

Nvm I suppose it's about the same

hollow lintel
#

Those tiles around the hunter guild are not new at all no, been there since release

hollow sonnet
#

Is there any way to get varbit values without running the client through the IntelliJ?

glass sandal
#

Action Logger will log varbit changes (among other things) to a json file

hollow sonnet
#

I'm trying to figure out region ids for LEAGUE_AREA_SELECTION_* varbits, but sadly I only have one account to check

#

Don't think Action Logger would output those unless I unlock a new region, yes?

glass sandal
#

Well they're sent on login

hollow sonnet
#

Hmmm I'll give that a try

glass sandal
#

misthalin = 1
karamja = 2
asgarnia = 3
kandarin = 4
morytania = 5
desert = 6
tirannwn = 7
fremennik = 8
wilderness = 11
kebos_kourend = 20
varlamore = 21

hollow sonnet
#

ok that's easier

#

Thanks

ember flareBOT
autumn star
#

guessing the bot doesnt care about audio file licenses? in that yama-shoebops case the clip is probably not a problem but theres no mention of the source in the plugin repo

ember flareBOT
ember flareBOT
frosty veldt
#

Hey guys! I finally linked my git and wanted to come say whats up and have a presence after last week's launch of Kill Clog. If there's anything I can do to help, I'm around and willing, give me a shout

serene wharf
ember flareBOT
primal pawn
#

hey, is there any guides for learning how to make a runelite plugin?

topaz pierBOT
primal pawn
#

ooo, very nice

#

thanks cooper

ember flareBOT
low hatch
upper valve
#

are you on a local build and you haven't pulled recently?

#

or stale build cache or smth

low hatch
#

Nah I just launched RuneLite on stable (AFAIK) via the exe.

RL v1.12.26.3

#

FWIW my height seems fine everywhere else after all the recent fixes. I've only noticed these issues happening by Yama's lair since the floor their is bump asf

pseudo rapids
#

Am I fine to rename a repository, or will I have to open a PR with the new repo name?
Should still track from the commit hash I guess, and maybe github+RL even supports tracking namechanges, but wanna doublecheck.

reef badger
#

github handles it afaik

#

u wont need to update the plugin file until u actaully need to change something, unless they only cache the name changes for x amount of time, not sure about that

#

i think it's fine tho

pseudo rapids
#

Okok, will just rename repo then, and then update to new name when I make new changes, ty
And if someone complains it is broken I guess i'll know why 😛

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
ruby widget
#

Hey crew, I just submitted a PR for a new plugin! An AI chatbot that is trained on RuneWiki with a Bring Your Own Key model so folks can connect their own accounts, ask questions etc. There is also the option to right click on items in game and "Ask AI"

Would appreciate a review here when someone gets the chance. Thanks! https://github.com/flowercodes/osrs-wiki-chat-plugin

GitHub

OSRS Wiki chatbot side panel for RuneLite. Contribute to flowercodes/osrs-wiki-chat-plugin development by creating an account on GitHub.

ember flareBOT
heavy bobcat
glass sandal
ruby widget
#

Fair points from both of you, and thanks for sending those materials. I believe my plugin does fall under the RS Wiki AI Policy because it is not commercial and it provides sources for every output. Definitely worth checking though.

API keys to servers is a big no-no, you are right there. I will refactor that portion. ton conduct the api calls through the plugin rather than the server I am running

glass sandal
#

Your output cites the wiki editors who added that content to the page? That would be attributing credit to the copyright holders

ruby widget
#

it cites a link to the wiki page itself, but not the individuals who contributed to the page

#

Example output when Asking AI about a banker. I now include the direct article source and history of contributors

#

Also including this statement

worthy sparrow
#

Forwarding API keys to your server should be no bueno

ruby widget
#

yup I updated that, not happening anymore

#

The key only lives in plugin memory on the local machine now and the HTTPS body to the LLM provider

worthy sparrow
#

That also doesn't give attribution to the authors

ruby widget
#

how so? It has a link to the contributors of the specific article referenced?

glass sandal
worthy sparrow
ruby widget
#

@worthy sparrow Yes I read it, the link of history shows the history of specific contributors? What am I missing there

#

@glass sandal you are right that is incorrect. I will look at refining sourcing

#

Thanks for your feedback all - genuinely I appreciate it! First time doing this so just learning the ropes. I am a dev in my full time role, but this is a whole other beast.

I am primarily a Salesforce Developer 🙂

#

Much better and more accurate sourcing now

stuck shale
#

I think linking to the hist of a page is not enough attribution from last time some one tried to create this

ruby widget
#

I posted in RuneWiki, we will see what they say. It may be possible to add more granular attribution to individually cited and specific lines

ember flareBOT
ember flareBOT
restive garnet
#

If the thing can only show one page as its' source material, then it's not going to meet the licensing requirement

sinful lava
#

They moved their discussion to the osrs wiki discord instead and had a constructive conversation there

restive garnet
#

I don't plan on joining it to find out 😄

thorn grotto
#

hmmm is github on fire again

glass sandal
thorn grotto
#

i forgot to push xd

ember flareBOT
thorn grotto
#

cool it worked

ember flareBOT
ember flareBOT
ember flareBOT
bleak mica
#

I have a small question about the client.getLocalPlayer() function. When does this one actually get set? I want to get the current player's info on login, but the value is still null after GameState.LOGGED_IN is received.

stuck shale
#

wait a tick

glass sandal
#

It changed a lot with 237 engine. But I would put it in an invokeLater and return false if localPlayer is null. Then it'll run again until it isnt

bleak mica
#

Alright, thanks!

ember flareBOT
topaz pierBOT
ember flareBOT
bleak mica
#

I have another question about the events. I'm trying to figure out when the local player has respawned. I have found that the PlayerSpawned event does not fire for the local player, and after respawn, the client.getLocalPlayer().isDead() flag does not get reset. I can't find another event in the docs that relates to respawning. I also checked if the object reference changes for client.getLocalPlayer() after respawn, but it keeps tracking the same object. Is there something I'm missing?

amber rampart
#

spawning refers to if the client knows about the player/npc/object/etc

thorn grotto
#

probably you can check hp level or something on tick

#

actually probably wont work either cuz it can be not-0 and you are still dead hmm

bleak mica
bleak mica
amber rampart
#

isn't there a chat message?

thorn grotto
#

well, you do get the chat message n stuff when you die at least

bleak mica
#

Oh good point

amber rampart
#

screenshot plugin uses ActorDeath, so probably use that

bleak mica
#

Yeah I use that for death tracking

#

That was the easy part

#

But I want specifcially the respawn timing due to needing the respawn location

#

The message is just for death as well

#

I'm writing a shortest path integration that plans a route from the respawn point back to the gravestone. So I need the start of the route to be the location after respawn.

#

Maybe I'll just end up timing it. The death animation is pretty consistent.

glass sandal
#

VarbitID.EDGEVILLE_SPAWN, I assume there's other's as well

bleak mica
#

Oh yeah! That could work too. I was so stuck on figuring out the respawn, but I can just take the varbit data as well

#

Thanks again!

ember flareBOT
ember flareBOT
#

As a follow-up to a comment I made on this issue prior, here: https://github.com/runelite/runelite/issues/19967#issuecomment-4149140296

I have since obtained newer hardware, and I continue to experience this issue. Current updated information:

  • OS: Windows 10 Pro 64-Bit Version 22H2 OS Build 19045.6282 (Intentionally on the same build as before.)
  • RuneLite version: 1.12.26.3
  • Launcher version: 2.7.7
  • CPU: AMD Ryzen 9 3900X
  • GPU: Nvidia RTX 2080 Ti
  • **Dr...
ember flareBOT
ember flareBOT
hoary spindle
#

Recently i changed my github name and with that the repo link also changed. Should i send a pr just to update that or should i delay it till i actually need to update the plugin?

rugged pivot
#

the latter, github should handle the redirect for a good while

ember flareBOT
ember flareBOT
ember flareBOT
stuck shale
#

@tulip wagon for the same reason i did my new pr on afk gotr for version, you may want to do for toa

#

unless you want people to refer to the commit hash for versions 😄

ember flareBOT
tulip wagon
stuck shale
#

oic

ember flareBOT
ember flareBOT
ember flareBOT
hollow sonnet
#

For Gson, can we use the static net.runelite.http.api.RuneLiteAPI.GSON instead of @Injecting?

rancid marten
#

no

ember flareBOT
viral jasper
#

I've made the hot/cold helper and I've been receiving requests to have an option to suppress the default hot/cold overlay, I assumed this wasn't allowed since it would be interfering with another plugins config/rendering, but just wanted to confirm if this was the case?

ember flareBOT
#
[runelite/static.runelite.net] New branch created: cache-code-2026-05-13-rev238
glass sandal
#

No gameval update today? They removed a column from dbtable 197 which is breaking the port task plugin

pseudo rapids
#

Some changes last week as well, and that one also had no gameval update
Maybe something in the cache reader broke

ember flareBOT
onyx patio
#

with the login title update, runelite now has a higher quality title than official client, because lol

rancid marten
#

hmm whys that? does it use a different logo?

sturdy patio
#

Hello, any way to see the queue for PR reviews or if there's anything preventing your PR from being reviewed? It's a bit confusing to see more recent PRs get reviews without getting a reason for why mine (#11158) isn't 😅. Happy to address any issues but would love to know what they are.

rancid marten
#

the bot reviews the most recent prs first, where as most humans will do oldest first

#

the bot won't look at this though because it's doing network io and because you are submitting a plugin not owned by you but instead by an org

sturdy patio
#

That's fair and I do expect it to take time given how swamped you guys must be. It's just not having any ETA or signal for "don't worry it's not lost we're just slowly working towards it" is a bit frustrating when the timeline is in the months range.

#

Resubmitting from a fork in the org won't do anything here to speed things up or make it easier for you all as this involves network io, right?

rancid marten
#

change the warning to This plugin submits your display name, GE trade data, and IP address to a server not controlled or verified by the RuneLite developers. and add authors=matjuu and ill see if i can get the bot to take it

glass sandal
#

build=standard as well, right?

rancid marten
#

yeah but it wont even pass the first checks without that

sturdy patio
#

@rancid marten done

rancid marten
#

also add authors=

sturdy patio
#

Ah thought you meant changing it in the properties of the plugin itself. Added to the plugin file too.

rancid marten
#

okay, have to wait a bit for the bot to pick it up

sturdy patio
#

Yeah bot picked it up now, still needs a maintainer review though 😅

upper valve
#

or er did that change

#

just noticed another pr is doing it too

ember flareBOT
rugged pivot
upper valve
#

ah got it

ember flareBOT
rancid marten
#

success

ember flareBOT
upper valve
#

cool

fading iris
#

I think I've seen some plugins send a one-time chat message to players after a plugin update. Is that something that can be done by plugin hub plugins?

pseudo rapids
#

Probably done through hidden config-options that are set to true when the chatmessage is sent

rugged pivot
#

you'd want to store the current version in config and check if the stored version differs from current on startup

pseudo rapids
#

Oh ye that's better

fading iris
#

Got it! That's neat, thank you both.

rugged pivot
#

which does mean it can only start working for the update after the update that adds that tracking

#

though I guess the first time the config would be null so you could do something with that

ember flareBOT
#

Mostly adding this for Grotesque Guardians - currently a 5 min respawn infobox is permanently on your screen after Dusk dies - it just gets reset to 5 mins after he dies again.
This is due to GGs being summoned by Bell instead of respawning naturally.

Simply removing the appropriate respawn infobox on boss respawn fixes this problem for GGs as well as any other future bosses that might function similarly.

grizzled aspen
ember flareBOT
pseudo rapids
#

seems like RuneLite Cache-Code Autoupdater has been broken for about a month? none of the updates to VarbitID, NpcID, etc. have been going through since april 15th

late hare
#

pretty sure you're referring to the deprecated classes, use the ones in the gameval package

pseudo rapids
#

Nah this is for gameval

ember flareBOT
pseudo rapids
late hare
#

ah, think they just haven't ran it recently in general (or merged)

rancid marten
#

it runs it just wasnt merged

ember flareBOT
#

be5232d Update Item variations to 2026-05-13-rev238 - RuneLite Cache-Code Autoupdater
046520a Update Legacy ID classes to 2026-05-13-rev238 - RuneLite Cache-Code Autoupdater
686a9cd Update GameVals to 2026-05-13-rev238 - RuneLite Cache-Code Autoupdater

pseudo rapids
#

Oh ok

#

thanks!

ember flareBOT
glacial umbra
#

Hi, I have a question about the migration from the deprecated client.getPlayers() to WorldView.players().
My understanding is that WorldView.players() only returns players within your current render distance, while the old client.getPlayers() may have been backed by a broader player array. Is there any way to access the full server-side player array (all 2048 slots) through the current API, or is the data intentionally limited to render distance only?

oak rock
#

its never had all players in it

glacial umbra
late hare
#

nope, client doesn't have any info about players outside of the normal like 15x15 around you

glacial umbra
restive garnet
#

And that radius can be further reduced in busy areas, too

ember flareBOT
#

Type

Incorrect behavior

Operating System

None

OS Version

No response

Bug description

Even though I have the "idle animation notifications" and "idle interaction notifications" checkmarked on the Idle Notifier plugin, when my character finishes adding the last log on my inventory to a Forester's Campfire (that firemaking training method where your character automatically adds logs to a campfire), the character still keeps "warming his hands" on the fire for a long time...

ember flareBOT
low jacinth
#

just wondering, did my pr get pushed back in que because of the "build=standard" commit I added here?

upper valve
#

what pr

low jacinth
#

xray

upper valve
#

i think the ai reviewer didnt like it

low jacinth
#

i recall that, it needed manual review; but i was wondering if adding said commit changed its position in the que

#

no big deal was just curious

upper valve
#

well it would have updated it yeah, it goes by least recent update

#

i can merge it tonight, not at my machine atm

low jacinth
#

sure, appreciate your time thanks

scenic cedar
#

Is it safe to be afking / playing the game (salvaging for example) while actively developing, aka not running on the normal client, but dev client

upper valve
#

yes as long as you aren't cheating

#

we all develop on our mains basically

serene wharf
#

were there any changes to actordeath/npc(de)spawned recently? I'm seeing multiple plugins getting confused. ToB QoL for example not receiving npcdespawned for some nylos.

rancid marten
#

not intentionally but there was a engine update last week

#

so anything can happen really

serene wharf
#

oh great

#

yeah this is quite awkward, same issue happens to bloat sometimes

rancid marten
#

if you can figure out a consistent way to reproduce it, maybe outside of tob, i could look at it

serene wharf
#

i'll think about an alternative

ember flareBOT
scenic cedar
#

is there a way i can 'hot reload' plugin changes without restarting client?

ember flareBOT
onyx patio
#

java is like near 500 somewhere and official is like 2000 or something

ember flareBOT
latent snow
rancid marten
#

it doesnt look like it was removed

latent snow
#

Is there a reason I cannot see it in the client anymore?

rancid marten
#

mm we didnt remove it, but it does appear missing, ill see

#

a bad pr was merged earlier with the same name group-ironman-tracker which broke it it seems

#

i manually rebuilt your plugin

reef badger
#

(bad as in improperly formatted, not malicious)

latent snow
#

Nice, I see it there now. Thanks

ember flareBOT
twilit sand
#

Hey I hope this is the right spot. If this should be in #support, just let me know.

I'm trying to make the opposite of Pharros's Food Coloring plugin(no hate, I just prefer the old sprites). I'm not a developer; I just know syntax from many years ago and can read my way around Java. After reading the copyright notice and confirming my intentions should be covered, I forked the plugin, commented some sections I don't want, un-commented existing code, and replaced the resources with the old default ones. I think that should do it, ready to test. Are there any resources I can be pointed to on how to test plugins and submit to the plugin hub if it's all good?

topaz pierBOT
glass sandal
#

You can also probably do what you want with Galmourer without developing a plugin

twilit sand
#

That's probably more efficient one one hand, but on the other I've put in what I'm hoping is most of the work already and its a lot easier for others who don't prefer the new sprites to just search it on the hub

#

I appreciate the suggestion in case I can't get it to work 🫡

low hatch
#

pajaDank is that really the best way to do it? Oh well

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
topaz pierBOT
rancid marten
#

@chrome crest can you set build=standard on flipsmart and I can see if I can get the ai to approve it?

ember flareBOT
chrome crest
rancid marten
#

i see you added build=gradle but i dont see a reason why you might need that

#

since it looks like you have nothing nonstandard?

chrome crest
#

I think on my last PR or two the pipeline was complaining about that line

#

Swapping to build=gradle ended up resolving that

rancid marten
#

yeah you should use build=standard

#

not gradle

chrome crest
#

Sounds good, I will get that pushed up and see if the pipeline passes

#

Should that just go in runelite-plugin.properties or also the plugins/flip-smart entry?

rancid marten
#

change this to standard

ember flareBOT
chrome crest
#

@rancid marten commit hash updated with the build change

tight loom
#

why is true tile allowed? It straight up predicts player positions. There is a rule which says you cannot predict projectile hit locations, why is player position different?

rancid marten
#

i think its predates the rules

#

and i guess as a player its not very hard to know where you are walking to

tight loom
#

the issue I have with it is that its showing where you actually are

#

afaik the tile highlighted is almost exactly where your character is according to the server by predicting

#

so you can imagine how advantages that can be in pvm

rancid marten
#

jagex are ok with true tile and so we aren't going to remove it, even if you have a problem with it

reef badger
#

we dont have to imagine it we are very aware it exists

#

the most popular true tile usage is woox walking

#

or well known maybe not popular

solid shadow
#

fwiw jagex added true tile to their own client as well

tight loom
#

they did?

heavy bobcat
#

Yes

tight loom
#

oh you mean like runescape buddy or whatever?

heavy bobcat
#

The official client

tight loom
#

weird that it isnt on the pc client

heavy bobcat
#

Pretty sure it is

solid shadow
#

its there as well yeah

glass sandal
#

It is on PC

heavy bobcat
#

I think desktop and mobile official clients have parity

tight loom
#

you sure about that? some qol are mobile only

solid shadow
#

I think desktop had it before mobile but this was the first blogpost I found

#

but dont remember fully, its 4 years ago

tight loom
#

oh yeah it looks like they do. cool so its official. Thought it would be odd if it was plugin only lol

solid shadow
#

ah yeah thats the one

#

so its even older NODDERS

#

august 2021 Oldge

tight loom
#

im trying to detect when a player is animation locked or not and finding it tricky to narrow down by animations alone. anyone have any tips on how to detect that?

stuck shale
#

are you looking for an animation stall?

tight loom
#

yeah, if thats the term

stuck shale
#

i dont know if theres a way to see if they're a stall or not without expirementing

tight loom
#

like when you open a door or a chest you are momentarily locked and actions do not work if you click

rancid marten
karmic linden
scenic cedar
#

As recommended in the developer guide, starting a discussion here first before making changes for the core client infoboxes. Not a major change. Infoboxes currently only overflow / wrap in two directions. To the 'right' if they are 'vertical', and 'downwards' if they are 'horizontal'. Aka, if I have lets say 5 infoboxes stacked vertically, and the 6th one wont fit, the infobox overlay will automatically widen to fit the 6th one, and will place it in a new column to the right. I want to be able to specify so that it can start growing to the left (or upwards if in the horizontal orientation). Is there any reason I should not do this, or is this existing functionality that I do not know about?

oak rock
#

i dont think there is a strict reason not to

#

its been asked for on and off

rugged pivot
#

i'd love upwards but have been too lazy to look into it for 5 years

oak rock
#

the ux for determining expand behavior would be interesting

worthy sparrow
#

it's always the ux

scenic cedar
#

i can do just config options for now until someone has a better idea for it

worthy sparrow
#

but how would you do that per group

oak rock
#

flipping orientation used to be a config, then it was put in the context menu

scenic cedar
#

good point

oak rock
#

i think it would have to be in the context menu along side flip

scenic cedar
#

Shift right click similar to how current orientation is flipped?

oak rock
#

yea

scenic cedar
#

Is there any reason it couldnt just be 2 more flip orientations?

rugged pivot
#

i've always felt Flip made more sense as the action for changing this behaviour instead of what it already does :L

oak rock
#

it would really be one more flip

rugged pivot
#

click Flip 4 times to cycle all the way around?

oak rock
#

thats one way to do it too

scenic cedar
# oak rock it would really be one more flip

It would be the same context option, but instead of alternating between horizontal or vertical, it would swap between 4 options, horizontal up, horizonal down, vertical left, etc

scenic cedar
rugged pivot
#

i'd say try it, play around with it, see how it feels

tight loom
#

are preset camera angles changed by keys allowed?

oak rock
#

isnt that already a plugin

rugged pivot
#

Camera Points

tight loom
#

lowk wouldnt that be effectively moving your mouse?

oak rock
#

if you want to debate the rules can you do it in #runelite and not dev

tight loom
#

sorry not trying to debate, just trying to understand

rugged pivot
#

I guess Camera Points still only does NSEW

#

only the zoom level can be manually set

#

Presets for Camera yaw/pitch/position
is on the rejected feature list
Only NSEW are allowed as the compass orb does those

tight loom
#

okay cool, glad they rejected that

stuck hearth
#

If anyones looking for potential plugin idea, figure out a way for a guest member in a clan to see clan notifications. (unless one already exists? 🤔)
Would likely require an external backend to handle the communication but would be very cool for people who like to hang out in other clans.
Clan member who also has the plugin installed would send the events to the backend which then directs them to the guest members in that clan.. or something like that 😄 Any reasons why this wouldn't work?

rancid marten
#

stuff like that doesnt really scale well since once its well known enough people will send it fake messages just to make everyone elses gameplay experience worse

rugged pivot
#

or just abuse your backend

#

that sounded better in my head

#

also its funny to lie to guests about what we're gz'ing

stuck hearth
#

but I am the guest :(

late hare
#

im kind of surprised that those only go to members tbh, would've assumed they would get sent to everyone in the clan channel

stuck hearth
#

or atleast have an option for officers to decide if guests are humans too

rugged pivot
#

idk what the config for it is but in my clan even members with the lowest rank don't see wilderness death/kill messages, which I find weird

ember flareBOT
pastel tree
#

Hey guys, since map-reading no longer requires xteas, we could tecnically load any region, right?

#

Region loading could be a nice addition to the debug tools. I cant implement it myself as I dont have access to the runelite source, but I was wondering if any of you who do have access would be interested in such a thing.

dense furnace
#

Is there a way to distribute plugins currently in active development to a select group of people, I am manually testing with build scripts for specific systems but I'd like to ask my friends to test before submitting. Do I just provide them with build scripts and accept that non-standard plugins don't work that way?

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.

remote snow
tight loom
#

only the server can know where you truely are no?

#

client has interpolation right?

remote snow
#

no

#

to both

tulip wagon
#

the server transmits where you are per-tick, and the client animation lags behind it

glass sandal
#
/**
 * Gets the server-side location of the actor.
 * <p>
 * This value is typically ahead of where the client renders and is not
 * affected by things such as animations.
 *
 * @return the server location
 */
WorldPoint getWorldLocation();

Its known to the client it just isn't delayed by animations

tulip wagon
#

the client knows your destination as soon as the server sends it

quiet raven
#

true tile is where you actually are its not a prediction

tight loom
#

its rare for a server to tell you the exact location all the time in perfect tick sync with the server

#

thats neat tho

late hare
#

you're forgetting OSRS runs on 0.6s cycles 🙂

ember flareBOT
late hare
#

it's quite diff from most modern games

tight loom
#

didnt consider that

tulip wagon
#

yeah i mean also it's not in perfect sync; it's lagged behind by your ping, as any game server would be

tight loom
#

right, but the location tick is where it is on the server at the time you get the packet without extrapolation which is nice

tulip wagon
#

broadly speaking, the osrs client is super thin and the server controls almost everything. there's very little predictive stuff in there (like when you click a prayer and it changes the icon immediately). most things require the server to enact (like how opening the in-game settings panel is delayed until the server accepts it and sends back an "ok open this widget" packet)

#

funnily enough with the prayer thing, only the icon is changed and the sound effect still plays tick-aligned

#

it's also why if you're at 0 prayer and then drink a ppot and try to turn on prayer in the same tick, it gives you the "you're out of prayer points" message but also still turns on the prayer. that message is client sided and hasn't seen your prayer get restored yet, which is server sided

tight loom
#

makes sense why you cant move at all if you are lagging

late hare
#

yeah the only prediction client really does is just UI stuff, and that has to be scripted manually

tight loom
#

idk what the harm is with some prediction to help people with poor internet tho

#

would just feel smoother

tulip wagon
#

reconciliation if it's wrong is the harm

#

the player sees that they moved, the server doesn't, now the player feels worse for getting hit by a vorkath bomb because on their screen they were nowhere near it

late hare
#

rs3 was experimenting with movement prediction but there's so many variables the client cant account for probably, so it never came out

tulip wagon
#

and then if some instruction just never gets accepted, let alone late, you have to rubber band the player back to an old spot after some acceptable prediction window

remote snow
#

why does runelite not simply predict the future? are they stupid?

tight loom
#

just rubberband them if too much of a mismatch like most games do

#

with how simple runescape is I doubt its really an issue tho

#

prediction isnt really needed and its ideal you dont need it

tulip wagon
#

predictive networking is kinda necessary in stuff like shooters because otherwise you'd add a rtt worth of input lag to the player movements. in osrs that's just not an issue.

quiet raven
#

if they changed how the movement felt now, no one would like it

tight loom
#

for sure

#

but you def do feel the rtt of clicking at times

quiet raven
#

its been this way for way too long people have gotten used to it, and in some cases (pvp) its a feature

tulip wagon
#

predictive stuff is a compromise over input latency, not a "feature", and if you don't need it at all you just shouldn't do it

#

playing minecraft with 100ms input latency would be nauseating

glass sandal
#

How did we go from true tile should be removed to add more prediction?

tight loom
#

im not really advocating for either, just trying to understand both and how they work in runescape

#

i had a misunderstanding of how both worked which is helpful to know

glass sandal
#

Kinda seems like you were

tight loom
#

why is the key question here

#

im trying to understand what im missing

#

now I do :D

pseudo rapids
#

If I made changes to a plugin that would require the gameval vals only available in current snapshot (not latest release), should I wait for next release before I open a PR for it?

glass sandal
#

You can open the PR and have the hold for release tag added

valid wave
#

Rollback networking: am is joke to you?

ember flareBOT
ember flareBOT
ember flareBOT
#
[runelite/static.runelite.net] New branch created: wiki-data-2026-05-15
tardy blade
#

If I take a existing plugin and add additional functionality to it. Can I post it to the plugin hub with another name, author, and url? Is that allowed?

glass sandal
#

Yes, ideally you would contribute those features to the existing plugin and users. Just don't call it Better Plugin, Plugin Plus, Plugin Improved

grizzled aspen
#

have you considered just contributing to the existing plugin

buoyant pendant
#

@tulip wagon I have submitted a PR to one of your plugins "combo-runes-only" if you would like to take a look at it? It simply adds the removal option for the cosmic altar since it's used for Aether runecrafting. I also updated the build.gradle file. It's a very small change so I hope you can accept whenever you have time. Thanks!

#

If you don't like that I updated the build.gradle I can remove it but it now is up-to-date with the template that is given

native notch
#

I would love an option to move the side bar to the left side of runelite, don't think that's currently possible?

thorn grotto
#

no

ember flareBOT
#

I am also experiencing this a lot, as well as the camera 'sticking' and continuing to rotate even after I've lifted the key.
This is especially prevalent during combat with lots of effects happening (For example, perilous moons or amoxliatl).

This is true for two macbooks I've used, a Macbook Air m1 and a Macbook pro m2, and has only started occurring in the past few months. I have attempted disabling most plugins and reducing the gpu setting a lot lower than it used to be fine with. It almo...

glad ermine
#

this might be a dumb question but can I set runelite logging level to be warning and error only?

ember flareBOT
topaz pierBOT
heavy bobcat
#

not sure if that also does the sailing icon

rancid marten
#

this looks wrong

#

@worthy sparrow can you figure this out^? at the very least it should be removing 168 right

worthy sparrow
#

Yes

heavy bobcat
#

I think I also got it working I can raise a PR unless ron you're gonna take it

#

It's literally just as simple as doing what ron said in the comments

#

hmm although looks like the sailing and combat icons might need different offsets 😬

ember flareBOT
heavy bobcat
#

I wasn't sure which way to go so I haven't tried it yet but I think we'd either need to add some override images for the combat icons that just make the size match the sailing icon, or we would have to add handling to WidgetOffset to change offsets based on the icon, not just the interface ID

#

I would assume the 2nd option would be preferred

heavy bobcat
ember flareBOT
heavy bobcat
#

oh that does not seem to be working actually

#

ok now it is working

ember flareBOT
worthy sparrow
#

running master is crashing my graphics drivers so idk if running this works, but would it make more sense to just match a ctor sprite?

rancid marten
#

its crashing your graphics drivers?

worthy sparrow
#

yes

worthy sparrow
#

Sprite id in the constructor

heavy bobcat
#

ah, yeah instead of adding a whole new function just add a sprite id field?

ember flareBOT
heavy bobcat
#

like this? ^

upper valve
#

the unholy quadrinity

ember flareBOT
upper valve
# ember flare

(the plugin has an actual display name that is not this)

ember flareBOT
ember flareBOT
ember flareBOT
scenic cedar
#

@rugged pivot @oak rock nit question, do u think the full 'Flip orientation' is too long, do i just keep 'Flip' and 'Flip Wrap', or is the clarity higher priority

#

After some testing, the one 'flip' button to cycle 4 times was just not it

ember flareBOT
heavy bobcat
#

Clicking the main flip option without going into the sub menu would rotate to the next orientation

ember flareBOT
scenic cedar
polar crypt
#

Question (this might be based on me misunderstanding how it works): Would it be bad practice for me to piggy back of ChatCommandsPlugin boss KC tracking updates to ConfigManager to detect boss kills within my own plugin?

glass sandal
#

Inventory Tags Pick Color

ember flareBOT
polar crypt
low hatch
ember flareBOT
#

Funny I ran into this exact issue, and while I'd of course like this to be solved natively in the plugin, I have a workaround that should work for you until that's fixed. If you use the Watchdog plugin, you can customize an action around the final log being added to the fire as you always get the chat message "You finish adding the X logs to the fire". I just have my client get force focused so I can add my next set of logs immediately, but you could also trigger a flash/sound effect if desir...

hoary spindle
#

Is opening ui panels(inventory, prayerbook, etc) handled server side? No, right?

quick path
#

no

hoary spindle
#

So if i understood the third party terms correctly, a plugin that sets a key to cycle between those would be fine?

rugged pivot
glass sandal
#

No self promo

reef badger
#

yes

#

🐙

hoary spindle
#

Interesting.

rugged pivot
#

i really need to change how the config works, its mad unintuitive

ember flareBOT
#

Duuuude that's super awesome! It worked! Thank you! (for anyone else
reading this, you configure the Watchdog plugin via its icon on the
sidebar
, not through how you configure most plugins.)

Em sex., 15 de mai. de 2026 às 15:59, UncleMumble @.***>
escreveu:

UncleMumble left a comment (runelite/runelite#20134)
https://github.com/runelite/runelite/issues/20134#issuecomment-4462521842

Funny I ran into this exact issue, and while I'd of course like this to be
so...

reef badger
#

sex

scenic cedar
#

Am i meant to tag or let anyone know when I have a PR finalized, or do i just kinda wait

glass sandal
#

Just wait

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
#

Before:

After:

Flatlaf by default applies spin(saturate(shade(@selectionBackground,70%),20%),-15) to the @selectionInactiveBackground colour which turns MEDIUM_GRAY (77, 77, 77) to a very dark (28, 18, 21) colour.

This PR makes the inactive selected cells the same colour as when selecting them, but it might still want to be a different colour, just not as dark as on release.

I've only applied it to List elements instead of the global @selectionInactiveBackground as I...

rugged pivot
#

discord embed really doing the Before and After pictures justice

reef badger
#

i approved that pr because i hated the flatlaf version when i played the game

rancid marten
#

tbh I like the before

rugged pivot
#

if it was the Quest Speedrunning cell that was selected I would literally be unable to tell it was selected. Idk if its a combination of bad monitor and astigmatism but it is a thing

oak rock
#

ive found it a little difficult to know whats selected/deselected

hoary spindle
#

yeah, same

ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
ember flareBOT
upper valve
#

live footage of llms deciding how to write plugins

worthy sparrow
#

Cinema

night escarp
low hatch
shy laurel
#

can i ask for help with a plugin hub plugin in this channel or

sinful lava
#

if it's about the development of one

shy laurel
#

i'm trying to catch whether or not messages sent to onChatMessage have been filtered out by the Chat Filter plugin. i tried doing this
@Subscribe(priority = -3) // (priority 3 so its ran after Chat Filter plugin has done its work) public void onScriptCallbackEvent(ScriptCallbackEvent event) { if (!"chatFilterCheck".equals(event.getEventName())) { return; }
but its not firing when the chatbox is minimized

#

i'm wondering if anyone has any kind of other ideas

oak rock
#

thats a different event

ember flareBOT
ember flareBOT
worthy sparrow
#

... you can't search by key modifiers in the new intellij ui keymap???

#

I guess you can but it's not registering ctrl+d for me

#

oic, something is eating--wild ride

rancid marten
#

are you looking at this interface styles thing still?

worthy sparrow
#

yeah

ember flareBOT
ember flareBOT
ember flareBOT
serene wharf
ember flareBOT
serene wharf
#

ty @rancid marten 💐

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

The UI is uploaded every frame through GL_PIXEL_UNPACK_BUFFER. The PBO storage is currently only reallocated when the canvas size changes, so mapping it can block if the previous frame's texture upload is still using the buffer.

Re-specifying the buffer before mapping lets the driver provide fresh storage for the next upload instead of waiting on the previous one.

In local testing this improved FPS by roughly 20% FPS while standing in the middle of Priff.

Tested on an AMD Radeon RX...

rancid marten
#

so we tried a different version of this previously in #19705 which basically just introduced a bunch of vm crashes for a reason i dont know

#

also there is 19715 which is a laugh

echo rampart
#

Yeah I was looking at 19705, I think this implementation might be a little safer since we aren't swapping out to glMapBufferRange, and using glBufferData to explicitly re-specify/orphan the PBO and keeps the existing glMapBuffer. I've been trying to stress test it to see if I can get any of the AMD related crashes on my setup.

rancid marten
#

i think 19705 might have been just hitting driver bugs idk

#

20140 looks probably safer

#

the thing with gl is you can write 100% correct code and still hit bugs in drivers like super super easily

#

which is annoying

echo rampart
#

Yeah and it's not exactly easy to say for sure, other than all the crashes are coming from AMD gpus

rancid marten
#

i am really good at measuring crashes so i am generally comfortable trying stuff like this and seeing

ember flareBOT
shy laurel
oak rock
#

onChatMessage is not onScriptCallbackEvent

rugged pivot
#

I think they know that

#

you can check the intStack on scriptcallbackevent (after Chat Filter has modified it) to see if a message was filtered out by Chat Filter, which is what I assume they're doing

shy laurel
#

onChatMessage will run on messages that Chat Filter has removed; i am was attempting to use scriptcallbackevent to check if the message was removed and cross-reference, but the callback event isnt being ran unless the chatbox is open (which, for my purposes, doesn't work)

#

so i'm just trying to see if there's another way to do this, or if anyone has any ideas

ember flareBOT
#

This problem still persists for me, and while I've been hopeful for a plugin update to magically fix it I thought I'd see if AI could help me understand what's going on. Claude pointed me here, and also diagnosed the issue just as @Macweese did. I then asked Claude to propose a fix:

chat-notifications-fix.patch

Here's the patch — let me walk you through what it does and why.
The fix in one sentence: repla...

ember flareBOT
#

Type

Incorrect behavior

Operating System

Windows

OS Version

11

Bug description

When Brimstone chest is opened, two entries are added: one for chest and another for Konar quo Maten. When checking total loot history there's different amount of loot drops per each.

Screenshots or videos

Recent drop:

Summary drops:

RuneLite version

RuneLite version: 1.12.26.3
Launcher version: 2.7.1

Logs

[client.log](https://github.com/user-attachments/files/27902522/...

stuck shale
#

Since it already does a migrate (I think?) couldn’t it also hide the legacy one

stone cairn
sharp knot
#

You just need to wait for someone to verify they're correct basically

rancid marten
#

i cba verifying it really but i could merge it

stone cairn
#

Oh, okay, so it is a waiting game

#

I didn't know if it is on your radar, or if you are busy with other PRs

stone cairn
#

I am working on the True Clue Areas plugin, and the offset is quite visible

rancid marten
#

oh is that you, i saw that on reddit

stone cairn
#

this should fix it and center it xd

#

Yep, that's me
Oh, and thanks for the merge btw

rancid marten
#

should we just make this draw a 3x3 area then around the center?

stone cairn
rancid marten
#

yea

stone cairn
#

Well, sure, if you are talking about beginners. Other tiers might require centering

#

I mean it is up to you if you want to do that

#

If you do though, let me know, so I remove that from my plugin so it doesn't overlap with the base one

#

Or if it is too much of a hasle right now, you could wait until I get more data about other locations and do it then. I am stumbling my way through java and plugin development atm . I will get the hang of it eventually

upper valve
#

@snow needle set build=standard in runelite-plugin.properties

snow needle
#

oh ok

#

If you force push the bot doesn't refresh the diff?

#

oh I'm dumb I forgot to add

upper valve
#

lol

#

i think your plugin is probably too large for the autoreview but i will look at it later, about to leave the house

snow needle
#

No rush; TY for pointing out my mistake

#

I don't think I'm eligible for auto review because I do network stuff anyway

upper valve
#

it can do that now

upper valve
snow needle
#

Oh wow the bot can actually approve it?! It's gotten really good really fast

rugged pivot
#

Aw hub plugin merges got kicked to the other channel?

heavy bobcat
#

Indeed

low hatch
fading iris
low hatch
#

😆

rugged pivot
#

i like knowing what is being released/updated but hate reading PR/comment spam 😭

low hatch
glass sandal
#

runelite/runelite PRs and commits should still be in this channel I believe

rugged pivot
#

yeah I specifically mean hub

heavy bobcat
#

Time to make a RuneLite plugin that lists plugin updates

#

(low key sounds like not a terrible idea)

rugged pivot
#

i remember the news feed plugin

stuck shale
low hatch
upper valve
#

you're assuming most hub authors can plan for like 1 hour ahead

rugged pivot
#

big fan of this one automatically opening a weekly hub PR instead of reading the json file from github

#

I left them a reddit comment suggesting the latter but with the automated merges now it probably doesn't matter

upper valve
#

yeah

rugged pivot
#

other than contributing to the burning of the amazon or whatever

echo rampart
#

I think my favorite thing when I'm bored at work is reading plugin hub reviews. The best are when its clearly against the rules and the "creator" goes "but but but"

tulip wagon
ember flareBOT
upper valve
#

did we add bank value trackers to the bingo

autumn star
#

shouldve seen it coming since everyone is getting rich (or poor?) with flipping plugins

iron tiger
#

So I just got my first plugin merged, but I'm curious about the process for updating it. Do updates take just as long for approval as new plugins? Should I wait a bit to batch multiple changes before sending a PR to update my plugin?

I'm curious what the best approach is for reducing time to push updates while also not creating unnecessary extra load on the runelite approvers.

thorn grotto
#

if you already know you are doing multiple changes, might as well put them in same PR so it needs just one review
IF the changes are relatively small

rugged pivot
#

reasonably sized updates tend to be reviewed a lot faster than new plugins
(if it has to be reviewed by a human)

iron tiger
#

Ok, thanks for the info.

remote snow
#

Before I go making it, does anyone know of a plugin that would let me hide the menu entry for entering olm if I don't have a botd, similar to gauntlet plugin not letting you enter with uncooked fish?

tardy blade
#

if I uses html in my readme would the runelite pluginhub site actualy display the gifs?

sinful lava
restive garnet
#

the readme equivalent of that one gif with all the plugins

tardy blade
#

but it works on my computer? (jk)

sinful lava
#

<img src="C:/Documents and Settings/Bob/Desktop/image.png"> yep!

tardy blade
sinful lava
#

i think you need ?raw=true at the end

tardy blade
#

it have ?raw=true at the end now. The ge guys did not have it. But it still works for them? i guess

tardy blade
#

im blind

sinful lava
#

works as expected now BroBalt

tardy blade
#

tyty it works

rugged pivot
#

we're so back

restive garnet
#

fighting AI with AI 😄

worthy sparrow
#

don't show this to ai

echo rampart
ember flareBOT
bold pivot
upper valve
#

a lot of that was just us manually clearing out stuff too old for the bot

#

but it's not been very expensive afaik

thorn grotto
#

slop authors should at least sub to patreon

bold pivot
#

are you using a Chinese frontier model? that's awesome it's not expensive

upper valve
#

gpt something

bold pivot
#

if cost is ever an issue, deep seek and kimi k are great for very specific tasks and probably would cost less than a cent for the whole month

thorn grotto
#

clue less than a cent

bold pivot
#

yeah

rancid marten
#

07flip is like 102k tokens which is already like 1.4 cents using your numbers here lol for a single review

#

so no, it wont cost less than a cent for the whole month

echo rampart
#

It's very easy to rack up tokens, especially in a review where the agent decides to go back and forth. That same review ran at the same time could use 20k tokens, its just non deterministic.

bold pivot
#

102k tokens? how big is the commit lmao

upper valve
#

it reviews the entire plugin every time

bold pivot
#

my guess is you're using a high thinking model that spend a lot of thinking tokens

amber rampart
#

no, that is only input tokens

bold pivot
#

well when prompt caching can be reliably passed outside of KV into storage that will cut costs dramatically for this use case

amber rampart
#

that also doesn't include the prompt, that is just the plugin code in tokens

#

its just a big plugin

bold pivot
#

prompt caching would include that

rancid marten
#

(i think that actually might include the prompt?)

#

idr

amber rampart
#

prompt caching wouldn't change anything since it only gets the code once, so if you tried to cache it it would just cost more from the cache write

bold pivot
#

no, you're assuming it's a cache miss

amber rampart
#

it will always be a cache miss because it doesn't get the same code twice

bold pivot
#

what are changes

#

additions and subtractions

amber rampart
#

it doesn't look at the diff, it gets fed the whole plugin

bold pivot
#

cache plus or minus chanes equal current state

#

I know

amber rampart
#

and prompt caches don't last long enough to not be purged between scans

bold pivot
#

it would be a infrastructure change on how intake is handled

bold pivot
#

it only lasts an hour

#

rn

amber rampart
#

it wouldn't be worth it ~ever

#

even if storage was nearly free

bold pivot
#

why

amber rampart
#

because most plugins go years between updates

#

and you can't undo tokens in your cache, so unless they submitted the exact same code your cache would still be a miss

bold pivot
#

I think you're thinking too narrowly/uncreatively about it, that's definitely a constraint that could be engineered around

#

1hr limit is a hard block imo

#

so until that changes it's not worth getting into

#

but maybe just something to keep in the back of the head

#

I don't know every company's discount but for deepseek it's 50x cheaper to use prompt caching

granite quest
#

does deepseek still answer in mandarin 30% of the time? lol

ember flareBOT
flint tree
#

Hey people, I have a question regarding the plugin statements. Specifically the following:

In addition, the following menu changes are prohibited:

- Any addition of new menu entries which cause actions to be sent to the server
- Menu option changes for specifically Construction, Blackjacking and Attack (or similar) options in PvP.
Source: (June 01, 2022) https://secure.runescape.com/m=news/third-party-client-guidelines?oldschool=1

Now this statement is quite old, and I know they have adjusted their statement on the second topic.

My question regards the first section. For the Soulflame Horn, we can adjust the range and playercount of its effect, but through a textbox. I was wondering whether I could add a plugin to change this to a layered menu item Configure -> Max Players -> 1, 2, 3.

I assume that that probably is against the TOS, however, I feel that the exact allowed/unallowed boundary has always been a bit grey. So thought I'd ask for sure

heavy bobcat
#

That would definitely not be allowed

flint tree
#

Assumed as much, but I had some hope seeing how they've become more lenient recently in terms of allowing plugins!
Thanks for the response

ember flareBOT
#

Note: wanted to additionally add Revitalisation and Revitalisation (-), but information for their stat changes are not publicly available on the OSRS wiki. Would require someone to go in game, document the restore values, and then also update the code here. Just needs two lines:

` add(new SuperRestore(.XX, XX), ItemID.RAIDS_VIAL_REVITALISATION_1, ItemID.RAIDS_VIAL_REVITALISATION_2, ItemID.RAIDS_VIAL_REVITALISATION_3, ItemID.RAIDS_VIAL_REVITALISATION_4);

	add(new SuperRestore(.XX, XX),...
tranquil lodge
#

Would it be possible to reorder the bank deposit buttons with a plugin? I think that you can change the icons for the buttons since the resource pack plugin can do stuff like that. Can I then move the menu entries between the buttons? Would it be possible to just move the entire button instead of changing the icons and menu entries? I haven't made any plugins before so I am not really sure how much you can do with the menu entries and built in uis like the bank.

late hare
#

prob could with Widget#setPos

robust star
#

hey guys i broke my plugin with last update. It couldnt find the new images I included. I think the issue is I had lowercase image names but the image files are uppercase. but does anyone know if the leading slash here could also be breaking it? if i remove the slash it wont build locally.

heavy bobcat
#

Your images should be in the same package as whatever class you're passing into loadImageResource

#

main/resources/com/my/package/image.png

robust star
#

so i need to switch the StatCategoryIcon.Class to my plugin class?

glass sandal
#

You should move your files to the correct path

robust star
#

sorry im not the smartest, like this? edit: removed icons folder and now its building locally , thank you

tight loom
#

is it known that the xp globes xp/hr is pretty bad?

solid shadow
#

reset your session, its accurate

#

but if your xp tracker session has been going for 24h, you dont have it set up to auto pause after X minutes

#

then yeah the number will be very low

tight loom
#

even with fresh session the xp/hr is off

solid shadow
#

I dont think it is

tight loom
#

but how do you have it auto pause anyway?

solid shadow
#

its a setting in the xp tracker plugin

tight loom
#

I have run the numbers for xp/hr and I have a xp chart that I use at the same time. The chart is correct, but the globe is off

#

hmm turning off save between sessions and pause on logout with the auto pause maybe will help

#

I think you were right

#

thanks

tardy blade
#

Is it allowed to only show the outline of a boss, similar to how thralls can be hidden and only their outline is shown? It is useful in cases where the boss’s projectiles are blocked by the boss itself, so it essentially blocks your field of view and you cannot see which prayer to switch to (e.g. Doom Delve 4+) @rancid marten

glass sandal
tardy blade
#

Yes. I guess it is already there

flat furnace
#

If I have a matchmaking lobby on my sidepanel that shows players that actively went in and selected options in order to find pvp fights. Do I need the people that are listed on there to be forced to have private chat on in order to be able to be displayed in the lobby (having to respect showing online in any way if someone is set to friends/off) or is it ok to not check that and just have the side panel be a separate thing?

grave siren
#

Is it possible for one plugin to change the config of another? For example 3D Weather changing the skybox/brightness used by 117 HD

sharp knot
#

Yes but I think we would prefer that you not do that because it leads to a lot of support traffic usually

grave siren
#

Oui it does sound like a way to cause potentially hard to trace conflicts

#

Definitely some cool stuff that can be done doe

sharp knot
#

It ends up being a really annoying support issue though

grave siren
#

I will make a plugin that, in addition to temporary stat drains (e.g. from aberrent spectres), causes plugins to be disabled at random

grave siren
#

e.g. so that a tooltip for a plugin or one of its settings warns that it may be modified by some plugin X

restive garnet
#

I don't know how a plugin would be able to detect which other plugins could potentially reconfigure it

grave siren
#

I'm thinking it would be the responsibility of the other plugin to do the registering (via some kind of annotation/flag), and it could be a requirement for approval of plugins that interact with other plugins like so

rugged pivot
#

I propose a new config method that changes the config just for the current session without saving it so you don't permanently fuck with people

grave siren
#

Do you mean by that behaviour being required for approval, or by having that happen automatically somehow

rugged pivot
#

i mean someone add a method to core like setSessionConfiguration instead of using setConfiguration, and make people use that.
I don't actually think this would be worth any dev time though, just think it would be neat

grave siren
#

Hmmm pinteresting

#

Hypothetically if I did make that, do such PRs get approved or do they get added to the mass grave of PRs

rugged pivot
#

its definitely something you would make sure adam wants before putting any work into it lol

grave siren
#

nonsense

#

If you build it, they will approve it
(jk)

sharp knot
#

I think really we'd just prefer that plugins don't mess with other plugins' configs in the first place

grave siren
#

But think of the possibilities

upper valve
#

yes i am thinking of all the possible support messages we get of "hey why does my ground item list keep getting deleted"

heavy bobcat
#

That scenario already happens with that one BA plugin

rapid granite
#

If I wanted to add a custom annotation to our plugin's config properties, which would require getting the methods & annotations off the class via reflection.
Would that behaviour still fall under the reflection ban?

amber rampart
#

yes

pastel tree
#

Hey I have a question for you knowledgeable folks. Does anyone know what coordinate range instanced areas use?

serene wharf
#

far east

sharp knot
#

For whatever you're doing can you not just use WorldView.IsInstance()?

serene wharf
#

I used to have a map of all instance slots somewhere

ember flareBOT
#

Type

Crash or hang

Operating System

Windows

OS Version

Windows 11

Bug description

I found the bug while doing cox. While doing shamans and olm the screen freezes and after a while I get connection lost. Most of the times I would reconnect automatically, but sometimes I would get disconnected and sent to the login screen page. About the attached log, there are many " Error during overlay rendering java.lang.NullPointerException: null" for different plugins. I find it odd...

pastel tree
amber rampart
#

I think areas can be both instanced and non-instanced in some cases

pastel tree
#

oh wow ok, that sounds pretty interesting. and confusing too.

glass sandal
#

Like with god wars, you'd have to look at the door menu option that's clicked. Or just wait until they're in an instance

latent shoal
#

yo @oak rock and @upper valve thanks for the help doods

oak rock
#

You're welcome but I have no idea what I helped you with 🙂

latent shoal
#

Also I don't know how to read or follow directions lmao

oak rock
#

i see

ember flareBOT
#

Type

Incorrect behavior

Operating System

Linux

OS Version

Debian 6.12.88-1 (2026-05-15) x86_64 GNU/Linux

Bug description

With Resize type set to "Keep game size" in the runelite settings, opening the sidebar when the client is less than 1038 pixels wide will shrink the entire window to 1038 pixels, 765 (min client size) + 273 (sidebar). Any width above that will not have this issue.

The layout function gets called 3-5 times when opening the sidebar and somehow an incor...

low hatch
# ember flare

I hope this will help fix the problem with Plugin Presets hub plugin where unexpected shutdowns corrupts the file 🙏 and help prevent other plugins from behaving the same

||I'm assuming the issue for the plugin is with the way they are handing I/O like leaving the stream open or something||

grave siren
latent shoal
#

How to detect whether the public chat is set to "off" or "friends"?

late hare
#

dont think you can tbh

#

You could manually track it with the clicks probably, but that would potentially be wrong to start with, and could be desynced in other ways probably

thorn grotto
#

could you not read what the HUD says

late hare
#

o ye true

#

completely forgot you could just get the text lol

latent shoal
#

How

forest forge
#

Find the widget

latent shoal
#

uhh lemme research on how to get chat widget

#

yea

#

Ahh widget inspector

jolly hearth
#

where do we set gradle project.version for plugins? doesn't seem to be set anywhere in example-plugin but it's used in the shadowJar task

stuck shale
#

Are you talking about when you use standard build?

#

The same file where you defined build=standard has a version=

ember flareBOT
#
[runelite/static.runelite.net] New branch created: cache-code-2026-05-20-rev238
jolly hearth
#

I figured it out, I've set it under group = blah in my build.gradle

stuck shale
#

If you plan to use standard build (which you probably will?) you will have to define it in the other file too

#

The one in the gradle file is ignored

valid wave
#

how do I find the author of the trawling plugin? it seems that the update also reduced the time between shoals/net depth changes

stuck shale
#

Make an issue against their repo?

topaz pierBOT
#

Search for Maewi returned no results.

stuck shale
#

Someone already did

#

And they’re active, last update a week ago.

ember flareBOT
#
[runelite/static.runelite.net] branch deleted: cache-code-2026-05-20-rev238
fading iris
low hatch
#

IIRC the game cache doesn't have drop rates/sources of items, but does that apply to unique things such as pets rates?

glass sandal
#

It does not

low hatch
#

Thank you

glass sandal
#

The only rates I know of in cache is the drop rate of bounty task items

jolly hearth
#

why is there no MenuEntry.setActor()?

heavy bobcat
#

Would that not basically just be botting at that point? Changing what the player is interacting with?

jolly hearth
#

I guess that's a concern yeah

#

for my specific use case I'm trying to find out which condensed (submenu parent) player menu entry is being hovered, InterfaceStylesPlugin.java:172 sets the type to MenuAction.RUNELITE but then doesn't (can't) set the actor

#

I guess I'll have to find out by the menu entry text instead

#

actually this did work at some point, this code reuses the menu entry that already has the actor tied to it, I suspect at some point changing the menu entry type made it so that the actor was set to null?

ember flareBOT
jolly hearth
amber rampart
jolly hearth
#

although that was a long time ago and my plugin didn't check for either of those entry types anyway, so I must be tripping lol

#

either way, the PR I just opened keeps the player tied to the submenu

rancid marten
#

interesting, seems like a bug

dense furnace
#

I've made a vulkan port of the GPU plugin but I can't test beyond the MoltenVK or Fedora Mesa environment would it be appropriate to ask for testing here for windows systems because I don't own one.

ember flareBOT
#

eb2d268 Update Item variations to 2026-05-20-rev238 - RuneLite Cache-Code Autoupdater
694494d Update Legacy ID classes to 2026-05-20-rev238 - RuneLite Cache-Code Autoupdater
1fb0186 Update GameVals to 2026-05-20-rev238 - RuneLite Cache-Code Autoupdater
9da4a96 Merge remote-tracking branch 'rlccau/cache-code... - Adam-

stuck shale
#

Does anybody here have potion storage and can test 19838 or provide feedback

topaz pierBOT
latent shoal
#

@upper valve do you have apple pay im trying to tip you for your hard work

upper valve
#

not necessary but thank you. it is a team effort around here and you're doing the right thing already by supporting runelite through patreon

desert fulcrum
stuck shale
#

ty, basically the issue is sometimes people share banktag layouts where the placeholderid is used in some spots within the import they get causing potions to appear broken. #support message

When you dupe the placeholderid(bugged spot) it converts it to the non placeholderid so that it's useable by the user

desert fulcrum
stuck shale
#

you could do it without my fix and see how it behaves, you can maybe find other broken bank tags too

#

i can find 1 i think

#

i helped a person in my dms previously, their broken bank tag was this:

The anti venom should appear broken without my fix because the anti venom id used in their layout is the placeholderid

desert fulcrum
#

there may be a slight issue with testing that tab, i don't have half the pots on leagues

stuck shale
#

you can then instead simulate it with mine in the PR or create your own broken one

jolly hearth
worthy sparrow
#

that sounds like you would just get people joining that s houldn't be there

desert fulcrum
#

well that would be the same as typing party name in chat, but has quick access

#

just qol

jolly hearth
#

Yeah you’d use it in pm or a chat channel if you didn’t want random people to join lol

edgy gazelle
#

pretty useful

desert fulcrum
ember flareBOT
rugged pivot
#

om

ember flareBOT
rancid marten
sinful lava
#

@bleak mica has been making most of the recent updates

ember flareBOT
stone cairn
#

I forgot I had those

rancid marten
#

i already merged it on May 17

stone cairn
#

I know, I know, just saying that there is a "way" to see the changes, that I forgot about

amber rampart
#

its in the debug hub plugin

low hatch
#

I must be blind

#
[Client] ERROR injected-client - Client error
java.lang.OutOfMemoryError: Java heap space
    at java.base/java.util.stream.ReferencePipeline.filter(Unknown Source)
    at net.runelite.api.coords.WorldArea.getVisibleCandidates(WorldArea.java:666)
    at net.runelite.api.coords.WorldArea.hasLineOfSightTo(WorldArea.java:493)
    at net.runelite.api.coords.WorldArea.hasLineOfSightTo(WorldArea.java:648)
    at com.attackranges.AttackRangesUtils.getVisiblePoints(AttackRangesUtils.java:104)
    at com.attackranges.AttackRangesPlugin.onGameTick(AttackRangesPlugin.java:163)
    at com.attackranges.AttackRangesPlugin$$Lambda$2345/0x0000000101169040.accept(Unknown Source)
    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.tick(Hooks.java:235)
    at client.sh(client.java:59455)
    at client.il(client.java)
    at tf.qk(tf.java:442)
    at tf.yg(tf.java)
    at tf.run(tf.java:17638)
    at java.base/java.lang.Thread.run(Unknown Source)

After attempting to analyze the heap. Guess I got too many plugins lmfao 😅

glass sandal
#

You probably need to triple or quadruple your heap to use the feature

low hatch
#

Seems so 👍 Thanks

rancid marten
#

I want to make it run a 2nd jvm to run the analysis in I think

amber rampart
#

yeah

low hatch
#

Is it possible to do something like a task manager too? 👀

amber rampart
#

there is the profiler, also in the debug plugin

low hatch
#

I mean in the style of Window's/Chrome Task Manager and in realtime for those of us less knowledgeable with a profiler 😔

amber rampart
#

its hard to attribute where the cost comes from in a lot of places

#

and just a time % wouldn't really help in a lot of places

low hatch
#

Fair enough 👍

amber rampart
#

and gpu would almost always be the highest thing by a significant margin

low hatch
#

Yea lmao hated digging through that in IntelliJ's profiler 😂

deft hatch
#

sorry, not very helpful

#

but is that with an active path or not?

granite quest
# ember flare

I know this has been discussed at length before but is there interest in adding more resource tracking behaviors to the loottracker?

topaz pierBOT
jolly hearth
#

are client ticks and game cycles the same thing?

heavy bobcat
#

No

#

Client ticks are 20 ms per second iirc, game ticks/cycles are every 0.6 seconds

solid shadow
#

50 per second* 20ms

jolly hearth
#

game cycles are also 20 ms (see client.getGameCycle())

solid shadow
#

yeah thats the local client gamecycle

jolly hearth
#

effectively I'm wondering if onClientTick will be called before every onHitsplatApplied for the same game cycle

upper valve
#

onclienttick is at the end of everything for tick n, after the client has processed everything the server emitted that tick

jolly hearth
#

that sounds ideal, ty!

lyric wasp
#

There's also the matter of kills that don't drop any loot, where official client records those and RL does not

late hare
#

I would guess that they were asked for something specific and then that's all they enabled for Java

granite quest
lyric wasp
#

I reckon it'd be tough to draw a line that everyone agrees on. Like we'd probably all say picking a flax plant and getting a flax is kinda bs to be in loot tracker, but there's grey areas. But luckily jagex already made those decisions, so like logs from trees go into ehc loot tracker but flax plant doesn't.

#

I wouldn't be terribly interested in a regex implementation for everything bc I think the omg I got a bandos chestplate from an oak tree behavior is ugly. But using the same mechanism ehc uses, like for NPCs, I'd be into that

#

Fwiw I didn't add the rubium geode out of principle, mostly just wanted to crowdsource the shards per geode vs mining level for the wiki

#

But ig the principle is there too, I think it's useful for players, whereas flax would not be

granite quest
#

This discussion has already occurred on a lot of issues
https://github.com/runelite/runelite/issues/4126
https://github.com/runelite/runelite/pull/6585

im surprised this got merged tbh. I was working on an external plugin for this

GitHub

Description
This PR adds a farming profit plugin, this is used to track your harvests during your farm runs. After a harvest the corresponding seed is retrieved and the profit is calculated using t...

granite quest
lyric wasp
#

There also seems to be a gem bag issue

granite quest
#

By looting bag issue I mean any "extra" inventory

#

Coal bag, gem bag, log bag, fish barrel, etc

#

pretty much anything that auto-fills without appearing in your inventory first is impossible to track other than through the chat message

glass sandal
#

Jagex doesn't even send onServerNpcLoot correctly if you have a nearly full rune pouch

granite quest
#

Whats even happening here? Its sending the entire cosmic stack as loot?

glass sandal
#

This is from Coffin (Hallowed Sepulchre) where only 60-100 should be valid values. But if you have a nearly full rune pouch it sends either the amount the fills the rune pouch, or the amount that goes to your inventory, but not the sum

granite quest
#

interesting spaghetti

glass sandal
#

They made this change and didn't account for it

lyric wasp
#

Why do so many people have nearly 16k cosmic runes lol

granite quest
#

I think most people have > 16k

glass sandal
#

Bring a full rune pouch for the enchanting portal, use a few, then loot more than you're missing from a coffin

granite quest
#

and the rune pouch max fills to 16k from a higher stack value

orchid laurel
#

that's why all my loadouts are set to 10k of a rune so there's wiggle room to loot

ember flareBOT
#
[runelite/static.runelite.net] New branch created: wiki-data-2026-05-22
quick path
tight quarry
#

Hhhmm.. My client just froze. Last error I saw was an assertion error:

    at net.runelite.client.plugins.gpu.FacePrioritySorter.uploadSortedModel(FacePrioritySorter.java:185)
    at net.runelite.client.plugins.gpu.GpuPlugin.drawTemp(GpuPlugin.java:1251)
    at ev.ib(ev.java:40554)
    at ev.vu(ev.java:46980)
    at ev.jm(ev.java:14581)
    at gd.ce(gd.java:3435)
    at qv.cs(qv.java:3216)
    at cb.ak(cb.java:11)```
#

Anndddd I just got another crash, same error

noble tinsel
#

Everytime I make a change to my plugin, do I have to rerun everything or will my plugin just be updated?

desert fulcrum
dense furnace
#

Hi, is there currently a way to use Jagex accounts with a shadowJar build of my plugin?

glass sandal
#

The same way Jagex accounts use intellij

knotty lintel
upper valve
#

if you run runelite and credentials.properties is in .runelite it just uses it

#

shadowjar, compiled, release, whatever

dense furnace
#

Thank you, I never used a Jagex account but testers were running into this

hollow sonnet
#

If I understand it correctly, setting build=standard in my runelite-plugin.properties file would override my build.grade/settings.gradle files during plugin-hub's build pipeline, correct? Could I then modify the build.gradle file in my repository to include dev dependencies and tasks (such as for linting) without having issues during review?

upper valve
#

yes