-
Notifications
You must be signed in to change notification settings - Fork 1.5k
GIM Tracker Sync #8886
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
GIM Tracker Sync #8886
Conversation
New plugin |
This plugin requires a review from a Plugin Hub maintainer. The reviewer will request any additional changes if needed. Internal use only: Reviewer details Maintainer details |
You can public class GimTrackerApiClient {
private final OkHttpClient httpClient;
private final Gson gson;
...
@Inject
public GimTrackerApiClient(OkHttpClient httpClient, Gson gson) {
this.httpClient = httpClient;
this.gson = gson;
}
...
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should use the build.gradle
found in the example repo with minimal modification to make review easier. E.g. remove this and this. It's easiest if it's nearly identical.
You should delete this file, just in case it can interfere with RuneLite's build process. Additionally, your gradle
folder doesn't actually contain a wrapper jar (not that it needs to), and the wrapper
folder in your project root is non-standard as well (should be deleted).
You should be injecting OkHttpClient
and using that instead of creating a HttpClient
here.
You should change your code to make it as easy as possible to keep track of which URL your plugin is making HTTP calls to at all times. Currently it's a little bit harder to follow than it has to be, since your hostUrl
is updated via this public updateConfig
method here, which could be called from anywhere with any input. This isn't that hard to track, but anything to ease review is a plus. Perhaps you could move the updateApiClientConfig
function to the GimTrackerApiClient
class, and inject the config there and access it directly?
If this list of template items is large, it might not be a good idea to store this in a config here.
Regarding your comment here, you're free to use Gson
by injecting an instance of it. If you need to alter the options, use gson.newBuilder()
. This is already part of RuneLite's dependencies, and would clean up your serialization & deserialization code a bit.
After resolving these issues, you'll have to wait for a maintainer to review the plugin.
Hello, this plugin checks your items in your inventory/bank/collection logs/drops and will add/remove that item from your party on my self-hosted (self-made) 'Group Ironman Tracker'. This helps my team keep track of who already owns which items. I've attached images of the website.
The settings require the user to add the host, api key and check which boxes they want to sync; nothing goes to a server unless they directly add the location.