Giter Club home page Giter Club logo

plugin-presets's Introduction

RuneLite Plugin Presets plugin total installs

This plugin adds the ability to create presets from your RuneLite plugin configurations.

See General Features on the Plugin Presets wiki for usage help.

Plugin demo

Issues

If you've experienced an issue with Plugin Presets, or have a recommendation on how to improve it, please create an issue with relevant details.

Development

See Plugin Development on the wiki.

License

See LICENSE.

Changelog

See CHANGELOG.

plugin-presets's People

Contributors

antero111 avatar equirs avatar jademalo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

plugin-presets's Issues

Unintended behaviour with custom settings

  • Custom settings don't work as reliably than other settings.
  • Plugin with custom settings turns off when preset is loaded.
  • Custom settings in other presets reset when creating new ones.

See #29 and #28.

Not selected filter also show partial configs

When plugins are updated with configs added to them, these configs don't automatically get added to a preset, and usually we don't even know that they have been added/are new configs.

It would be really nice to have a filter for unselected configs within a preset, in the same place where the "All a to z", "modified", "configs match" etc filter is, which would show any full plugin that has not been added to the selected preset, or if some configs within a plugin have been added, it would show the configs which have not been added yet.

Small issues with Custom Keys

Absolutely love this feature, but I've come across a few little bugs.
I was wanting to add the ability to have two separate sets of notes for my different characters, so wanted to add notes.notesData as a custom key.

First of all, custom keys cannot be added if a profile is set to "Cloud" rather than "Local".
Once the key has been added it's fine to set back to Cloud, but for whatever reason you can't add a custom key if you're on a cloud profile's settings page.
In addition, custom keys cannot be added if the plugin is set to "Not Included".
You need to have something in that specific plugin set to Included before it will let a custom key be added.

Secondly, if I just have the custom key selected for Notes and not Plugin on/off, when I load the preset it disables the notes plugin. I've checked the json for the preset, and I don't understand why the plugin is being disabled when the preset is loaded.

{"id":1661947430400,"name":"Notes","local":true,"pluginConfigs":[{"name":"Notes","configName":"notes","settings":[{"name":"Notes Data","key":"notesData","value":"Test Notes for Issue","customConfigName":"notes","configName":"notes"}]}]}

This one isn't too hard to work around since I can just save the plugin on/off state, but it definitely seems like unintended behaviour.

Finally, If a custom key is deleted, it's associated data will only be deleted from the profile you're on when you delete it. Other profiles will have the option of the key deleted in the list, but the associated data will still be there and loading those profiles will still load the data associated with the key.
For example, if I have two profiles with custom notes data and go into the first profile and delete the custom key, when I load the second profile it will load the notes data even though the key isn't visible in the list.

Presets being deleted randomly

So this is the 3rd time this has occured. A handful of presets randomly gets deleted while a few others stay and im unsure why this occurs or how to get them back

Multiple clients causing preset collapsing

I ran into an issue while playing on multiple clients using a preset I set up for my main and ironman account. It appears that the plugin currently saves a new copy of each config's .json each time a client is closed regardless of there being changes made to any of the presets or not. This of course creates an issue in a scenario like this:

  • Make changes to plugin config A on client A
  • Close client A, which causes all config files to save (Config A and B)
  • Continue playing on client B
  • Make changes to plugin config B on client B
  • Close client B, which causes all config files to save overwriting any changes that were made to the plugin config A on client A since they weren't updated in client B

As for a potential solution, the first thing that immediately comes to mind is only saving the plugins when changes are made (i.e. the "update all" button is used) rather than the when the client closes. Secondly, you could maybe check if multiple clients are running and only allow changes to save from the first client opened or something along the lines of that. Granted, the first solution seems to be the most manageable in my opinion. I wish I could say that I had a proper suggestion on how this could be handled, but unfortunately I do not. This issue wasn't too big of a deal once I got the plugins to a state that there weren't many changes needed to be made. However, at some point all of my presets were deleted after closing my clients. I'm not too sure what would've caused this, so I can't point you in a particular direction on how to solve that. I would assume that it had something to do with having multiple clients open at one time.

Multilogging/Multi-activity QoL (Hotkeys/RSN-bound presets)

It would cut down a lot of time if we could use hotkeys to select certain presets, especially with multiple clients. As of right now, it takes me approximately twenty seconds to select a preset across 4 clients including opening the panel, selecting the preset, and closing the panel.

Having simple hotkeys such as "Alt+1" for the first preset and "Alt+2" for the second would suffice and I imagine would be easier to implement than custom hotkeys.

I'd like to be able to very quickly focus each client and press a key and get all my presets selected across four clients done in under four seconds ideally, and I think this is the solution.

...

Another proposed idea is to allow the user to configure a list of RSNs to each preset, such as listing all alts to an alting preset, and a main to a main preset.

Preset disable feedback and improvements

a0bd64a added way for disabling presets. When presets contain some configurations to plugin enabled values e.g. skybox = true, that preset can be disabled with turning the toggle switch off. Disabling will turn every plugin off that has the enabled = true in the preset.

With this you can make easy toggles for plugins by simply creating a preset and then adding some configurations to it. Turning the preset off will turn the plugins off and turning on will enable them back. It does not edit plugin settings so if you wan't to edit e.g. skybox colour, it has to be made as before.

I'd like to hear your toughts and some feedback about this feature

Importing configuration

I find manually configuring all of the different presets to be somewhat tedious. It would be nice to be able to import the general configuration as a preset so that I can use that as a base.

Cant change presets after update

Not sure what the problem is, but after the update I cant select any preset, the buttons to swap dont do anything/change color

Plugin config sometimes entirely resets

This was previously a ticket under #55, but I wanted to reopen the issue as it doesn't seem to be fixed.

I had the following error when all of the plugin data was deleted;
2023-11-11 02:00:24 GMT [OkHttp https://api.runelite.net/...] WARN n.r.client.config.ConfigClient - failed to synchronize some of 5/0 configuration values: {"rev":65,"failures":["pluginpresets.presets"]}

After asking on discord, the consensus seemed to be that the key was too long. The single key was ~280kb, all on a single line.

I wonder if the solution is to change how the plugin stores data when the profile is set to cloud mode, and instead use separate keys for each preset? That would prevent any one key from being obscenely long, especially if you have a couple of presets with a lot of options.

Preset activation based on window focus

An amazing feature would be the option to trigger a plugin preset on window activation or deactivation (basically if the client is focused or not), or both.
Useful thing about this is that if you are playing other games while playing osrs, or playing multiple accounts you are able to for example limit your rendering distance when unfocused.
This will help with preserving computing power (combined with the already existing unfocused FPS limiting option in the FPS plugin).

You can also make RL send you extra notifications when unfocused for example (by tweaking idle notifier when unfocused).

text box configurations

Hello, I was using plugin pre-set plugin to change between different custom menu swap configurations , and it worked great but now after plugin pre-sets has been updated it doesn't work the way it did before. Now the way I understand it, when you pre-set configuration only allows for you to toggle the checkboxes on a preset on/off, but not edit the text in a box - ie: which menu swaps you want. I hope this makes sense? Does anyone know a fix? Manually editing the text in the custom swaps box as i need is a drag.

Thanks!

Disable hotkeys when a chatbox is open

Currently hotkeys still work when using a chatbox, including bank search.

It's pretty annoying having plugin configuration change when trying to search or chat.

Screenmarkers

Hi, I'm trying to make screenmarkers work, however your explanation is too technical and vague. Could you explain it more clear? Like, how I read it now I don't know where to put what and when..
I've somehow managed to add a preset that will show up one of my markers, but im trying to see how I can toggle it off aswell as have multiple like in your gif.. I don't know how to do that even with your explanation.

Thank you in advance

Refresh presets

Hello!

Big fan of this plugin :)

Right now when I am playing multiple accounts I use the presets plugin to set various settings per account. Whenever I make a tweak I need to manuall reset the settings, would it be possible to add an option to the config where I can automatically let the settings refresh on an interval.

Or the ability set up an hotkey with which you can refresh the plugin presets settings.

Partial config indicator

Code_KaBRH75CHz

Add indicator similar to the hub plugin indicator that indicates whether certain config has some settings on and some off.

kuva

"Modified" doesn't appear when creating a new profile

If I make a new profile and select a key in the config, then click the settings tab and modify that key, when I go back to the plugin presets tab "Modified" doesn't appear next to that key.
I have to exit out of the preset to the top menu, then go back in to the presets config in order for "Modified" to be there.

This only happens when creating a new preset. If you have an existing preset, go into the config, then click the settings tab to modify the key, when you go back to the preset tab "Modified" will be there.

QoL Improvements to managing presets

First of all I just wanted to say that your implementation of #4 is excellent. I absolutely love that you can not only enable/disable plugins individually, but also drill down into each individual setting key. This is extremely nice for things like the ground items plugin, where you might want different settings in different profiles but have a primary highlight list shared across all presets. Awesome work!

After using the new version a little bit, I've got some small quality of life suggestions to make managing things a little easier and clearer;

  • When editing a preset configuration, it's not clear that clicking on the plugin name will bring up a sub menu showing each available plugin key. I would recommend moving the arrow that appears when you click on it to the left hand side of the plugin name, as well as adding a > arrow in front of all plugins to show they can be expanded, similar to this;
    image

  • It would be useful if "Enable all configurations" and "Disable all configurations" only affect the currently visible plugins as per your filter, rather than every setting. This would give a lot more flexibility in batch editing, and would be useful for setting up pairs of profiles that change the same keys.

  • It would be useful to have a filter for "Only enabled" and "Only disabled" to see what a preset modifies at a glance.

  • It might be worth having all keys in a new profile default to Enabled, since as it is now you have to find what you want to be saved and manually enable it. Having it default to enabled would allow you to create a profile, modify the settings you want modified, and then at a glance see what has been modified. You could then use the "Configs match" filter to show all unmodified plugins and easily disable them all, giving you a profile with just the modifications you made.
    A better approach would be to make it so that when you first create a new profile, it enters a "record" mode. You then go and make the changes you want to make to your plugins, and once you're done you hit confirm. This would result in the new profile automatically saving the changes you'd just made, without you having to go and enable the plugins manually. I appreciate this might be substantially more work than the above suggestion, however.

Hopefully these suggestions aren't too difficult to implement, this plugin really is absolutely incredible!

Store screen markers, inventory and minimap position etc. to presets

This is exactly the plugin I was looking for to help manage skilling plugins, thanks its really helpful! But now that I have this I need more!

Technically speaking, is it possible to add in game configuration to the presets?
Specifically the client layout and where the inventory is on the screen.

When I'm hunting, my screen looks a specific way every time, i go from classic to resizable and my inventory is near the center of my screen. When i do mining i do something similar with the inventory in a different place, same for other skills. Is there any way to manage that aspect with this plugin or is that even possible/ of interest?

Unable to disable/enable presets

I'm able to create a new preset template and adjust everything, but the slider/hotkey refuse to actually enable/disable plugins. I've tried using it with plugins that are shown to work in the general features examples, using only the slider without a hotkey yet assigned, storing them via cloud rather than local, and focus/unfocused. I am able to see the preset stored locally and the settings within the json. None have had any effect. When the preset is added and set at the default on position, it also does not change the state of a plugin that was already set to as off.

Persistent Presets

I'm not sure how feasible this would be, but I've got a suggestion for a "persistent" preset option. This is similar to the idea for preset recording, but has a slightly different use.

When a preset matches and the toggle switch is active, add something like a small lock icon next to the preset;
image
When the lock is clicked, set the preset into a "Persistent" state;
image
When a preset is in a persistent state, make it so that any settings changes made to an included plugin will automatically be updated in the preset. Essentially as if you were always clicking "Modified" to constantly update the preset.

If another preset is loaded, the lock is automatically disabled and that preset goes back to functioning like normal.

There are a few situations where this could be really useful. One example is if you have character specific presets, and want to save a different set of highlighted and ignored items per character. Enabling the lock while you're playing means that items you highlight will automatically be saved to that preset without needing to remember to go in and update modified keys manually. Another example could be if Notes data was added as a custom key, so whenever you modify your notes it will automatically update the preset.

Hopefully this is clear enough!

Feature Request: Move preset data into the runelite profiles/account

Currently the presets are saved in the presets folder in the runelite user directory.
This is not the same place as other plugins usually store their data.

The current implementation means any runelite client, with any runelite email login, or character login, all share the same presets. The presets also don't sync where you can use them on other devices.

For me, I play two characters with separate runelite sessions, where each one is logged into a separate runelite email. This allows me to have separate bank tags and plugin settings per character. When I use the preset plugin, presets are shared between clients. So if one client has its own plugin settings, and uses a preset, the next client that opens up even with a different profile will apply the plugin settings from the previously active preset from the other client, which doesn't want those settings.

The primary issue is presets are not bound to your runelite account, but are locally stored and apply to all runelite sessions.
Thanks!

Presets not saving on runelite close

I am trying to make multiple presets. I made one as a base preset with all of my plugins unchanged and that preset saves and works fine. Every preset I have made after the first does not save when runelite is closed.

I am trying to save them all to config because I play on multiple computers.

Clear hotkey button

Hello!

Big fan of this plugin!

To clear any hotkey set to profiles I now have to go to the presets folder and manually edit the .json file.
I would really love a button that clears the set hot key for a plugin preset. (Or a way to right click reset hotkey).

Switching to presets that contain custom keys occasionally causes performance issues

I've been finding that this doesn't happen reliably so it may be some kind of race condition that triggers it. But I have reproduced it a few times now, and have debugged a little when it happens. What seems to be happening is that the custom key's parent plugin will restart itself (seems to be intentional, otherwise custom configs may not be updated upon switching), but some other callback is invoked somewhere that also triggers the plugin to turn on or off, so the plugin will continue to turn itself on and off every frame, which slows the client down significantly, often to the point of becoming unresponsive. The only fix seems to be restarting RuneLite.

Custom keys enhancements

I've been working on some presets intended for sharing and have been using custom settings keys for ground markers in certain regions so that they can be added / removed depending on the preset. I know custom keys are a bit more experimental, but I have been having difficulty setting this up. Had a few ideas that would make this easier for me and others who want to edit these presets:

  • This one is more of a question, but why would anyone need to enter the configName when inputting the custom key? Couldn't you use the config name for the plugin you've chosen to add a custom key to? Or at least use it as the default whenever there's no . in the input.
  • Entering a custom key requires right clicking the plugin in the preset list twice, since the right click is what adds the JPopupMenu. This menu should be added immediately onto the JLabel so that the first right click opens the menu.
  • I'd like to see the custom settings key that I just added in the dropdown for the plugin of the preset I'm editing, maybe with an "x" button instead of a checkbox to remove that custom key from the preset (moved to #42). Looking at the code, I'm not sure why these aren't displayed in the dropdown already... it's present in the preset when copied to the clipboard, but it's not there when running plugin.getCurrentConfigurations() when opening the edit panel. There's something going on here that I don't understand.
  • This might be difficult, but similar to how changes in non-custom config values prompt for updating the preset, I'd love to see that happen when a custom key changes its value.

I'm willing to help contribute here and can get a PR up when I get the chance, if that's alright with you.

Plugin auto-update getting stuck in incorrect state, overwriting presets

This is a bit of a weird one, especially since I didn't encounter it at all during testing of the feature. Essentially, when loading an auto-updating preset when there are two with auto-updating set, the profile won't load correctly and will end up in some sort of strange limbo state.

It's hard to describe, so here's a video - https://youtu.be/J6eWeLRCimU
Hopefully it's easy to follow, all that matters here is Main has the Prif login screen, and Ironman has the Kebos login screen. At the end, they have somehow switched round entirely.

Since this wasn't present when I was testing the in dev version, I can only assume this was issue was added with 8d9eca0, but I'm not sure of any specific cause.

Toggle shows incorrectly for GPU plugin presets if GPU (Experimental) is installed

This is a bit of a weird one.

If I have the "Plugin on/off" key selected for GPU and the plugin enabled, the toggle switch on the menu for that preset will break and always show as disabled.
This seems to be some weird conflict with the GPU (Experimental) plugin, but I've no idea why. If that is installed, that key is saved in the plugin preset, and GPU is enabled, the toggle will show incorrectly.

Allow applying changes to all presets

Right now, if I change something that I want to be reflected in all of my presets, I have to select the preset, make the change, save, and repeat.

Would be nice to apply changes to all.

Is there a way to import the configuration you already have?

I have so many plugins I have trouble keeping track of what they do. I am beginning to use the plugin, and for my 'default' setup I would like to just import everything I already have active (ideally with their configurations too...?). The alternative, is clicking individual boxes to reach my default setup.

Very cool plugin! Thanks.

Opening new client affect other clients presets

Hi, been using the plugin presets for a year, sometimes on startup due to multiple clients starting, some to all presets dissapear, i have to start a new client, not interact till its loaded, and they reappear on the older client.
However somehow after yesterday, whatever i do im missing like 5 presets, cant get them to show up.
Any idea what happened?
Mainly used presets to swap to screenmarkers, hide minimap, toggle client size, change to blindfold.
None of those plugins have any issues, just the presets i used to swap between their settings are vanished, idk if still in a folder and i just cant get them to load.. like i said, previously if some or all were missing, i start a new client and they show up, but don't now.

Help pls thank you:)

Region ID trigger for Plugin Presets

Hi, do you think it would be possible to make presets trigger by Region IDs instead of a hotkey? I think it would be awesome if some presets could trigger automatically based on where you are. The way I see it, you could have a "base" preset which would be always on in every region unless overridden by another preset when entering their specific region(s).
The only issue I see with this is that you can't really find Region IDs using RuneLite unless you are using developer tools. So you would probably have to add an option to show Region IDs. There are some 3rd party websites like ... where you could find them but it's not ideal.

Opening a second client makes presets dissapear

Dunno if this is easily fixable, but the main reason i like your plugin is for mulitlogging and quickly getting settings how i like them

is it possible to fix this behavior? I would really like to be able to change presets even after opening a second client window. ๐Ÿ™

Options to ignore certain plugins?

Would it be possible to add options to ignore the settings from certain plugins when updating a preset? Also on top of this could you add an option to ignore the voulme sliders when updating a plugin preset?

Plugin panel usage guide

Required steps

  • Small plugin description
  • Explain difference to profiles
  • Explain preset creation workflow
    • Create and name preset
    • Save state 1 configurations in edit mode
    • Duplicate preset 1
    • Change to preset 2 configurations in settings tab
    • Update preset 2
    • Switch between presets!
  • Finally a link to wiki as "More information in plugins wiki"

Add images to steps with explaining descriptions.

Plugin Presets Via Toggle

image

I have two presets (4t and 7t) that I want to easily toggle back and forth. I could set one hotkey to b and the other to n, but it would be nice to develop the muscle memory to having it be the same hotkey. Have the plugin check for multiple hotkeys being the same. And have them cycle through the list of those presets when pressed. So I have 4t on. I press 'B', and 7t enables. I press 'B' again, and 4t comes back on. Etc. Thanks!

"current configuration is same as preset setup"

I can't get this to work at all. I am playing without the HD plugin turned on. I create a preset that is only containing the HD plugin. I try to toggle it on/off and it gives that message. In fact it says it is already toggled on (the bar shows orange) but my HD plugin is not turned on.

Is this a known issue?

Way to include only enabled plugins

Am not sure where you would like me to post the Suggestion, so here it goes

I think it would be a good thing with a way to Export, Current Plugin List
So when you trying to make your first Setup it wont take that long. because you can then just copy to clipboard After that

A couple bugs / requests

Hi thanks for creating this plug-in it's very useful. I wanted to share certain things I've noticed with the new version.

  1. The latest UI change is confusing to navigate. The previous simple UI was a lot better to use, mostly because we could "update this preset" with an icon on the panel when we make changes to our settings + creating a new preset saved active settings upon creation.

  2. It's difficult to edit the name of a preset configuration as the save/cancel buttons only flash for a second and it's too fast for me to enter text.

3(?). If I go to 'edit a preset' and leave the panel open, within a few minutes the game begins to lag a lot. I'm not 100% sure if it's because of this plug-in, maybe there is a memory leak somewhere.

Thanks!

Turning off an active preset turns off all current plugins and can clear important data from other plugins

This may be a grey area, but in my opinion, was definitely not expected behavior. Recently I was in the wildy where I like to turn on player indicators and upon turning them on I realized I should make a preset, so I did. Upon leaving the wilderness I turned off the player indicators plugin but then realized my wilderness preset was still see to on. Naturally, I thought it would have turned off since the wildy preset was no longer fulfilled and would turn on again if I were to update the preset. However, it was still on, so in order to re-turn it on when again entering the wilderness I turned it off, and BAM right then and there my whole runelite froze for a good moment, and all of the sudden my whole runelite sidebar icons were gone except for the notes tab and I realized all of my plugins were turned off. So I immediately turned the preset back on to get my plugins back to and to my realization there were still plugins missing from the sidebar so I went back into my plugins and turned them back on. Everything was fine in the end except my supplies tracker was all cleared which is unfortunate.

Again I am not sure this should be completely classified as a bug, but I feel it was certainly not intended behavior, and should possibly come with a warning that all of your plugins will get turned off.

There are obviously more, but possible solutions to this are:

  • to just leave all current plugins turned on in the event that the current plugins turned off (meaning all created presets are now set to off)

  • upon creation of the first preset create an invisible "default" preset that the plugins can fall back on in the event that all presets are turned off

  • along with these possibly automatically turn off a preset if the user changes the settings since the current settings now no longer match a preset to be turned back in of the user updates the preset to the current settings akin to creating a preset in the first place. This may not be possible in the first place, but if so this could even be extended to turning off and on certain presets in the event that the user manually toggles their plugins to match a presets

Thanks for the read and thanks for this great plugin. This is also definitely the greatest solution to runelite's lack of support for multiple accounts. This is definitely addressing something that has much been needed in runelite for a long time.

Trigger on notification

Hey, back again.
A cool feature to the already very cool plugin could be a preset trigger based on the notification system in RuneLite.

Example usecase:
image
In this screenshot I am mining in f2p on a few accounts, when an account is afk the screen turns blue (this is the notification setting > solid until cancelled in RL).

If I was able to trigger preset settings based on notifications, I could for example make player indicators under my character red when afk (to reduce eye strain).
Like in this picture:
image

I think it should be a button/icon (maybe an exclamation mark?) Or the icon windows uses for notifications:
image

Wonder what you think. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.