cosmicquahog / XpGrapher

Real Time XP Graphing for Runelite
BSD 2-Clause "Simplified" License
3 stars 2 forks source link

XP Graph Not Appearing #11

Closed Raymoz101 closed 10 months ago

Raymoz101 commented 10 months ago

Hi,

Love the idea behind this plugin, really trying to get it working. Runelite: 1.10.9.4 Oldschool Rev: 215 Launcher: 2.6.7

At first I couldn't locate "XP Grapher" in my list of plugins once installed, until I restarted the Runelite client. Then I could locate it. Now, with it enabled and default settings, I catch some fish and no graph appears, unable to locate it on my screen at all. Any known conflicting plugins?

Would love some assistance to get this one working :)

XP Grapher settings: image

Raymoz101 commented 10 months ago

Found this in the client logs:

2023-08-16 13:50:14 AEST [AWT-EventQueue-0] WARN  n.r.c.plugins.config.PluginListPanel - Error when starting plugin XpGrapherPlugin
net.runelite.client.plugins.PluginInstantiationException: java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 23
    at net.runelite.client.plugins.PluginManager.startPlugin(PluginManager.java:460)
    at net.runelite.client.plugins.config.PluginListPanel.startPlugin(PluginListPanel.java:304)
    at net.runelite.client.plugins.config.PluginListItem.lambda$new$4(PluginListItem.java:177)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:126)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
    at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.Component.processEvent(Unknown Source)
    at java.desktop/java.awt.Container.processEvent(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 23
    at com.xpgrapher.XpGraphColorManager.<init>(XpGraphColorManager.java:68)
    at com.xpgrapher.XpGrapherPlugin.startUp(XpGrapherPlugin.java:79)
    at net.runelite.client.plugins.PluginManager.startPlugin(PluginManager.java:438)
    ... 39 common frames omitted
Raymoz101 commented 10 months ago
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 23
    at com.xpgrapher.XpGraphColorManager.<init>(XpGraphColorManager.java:68)
    at com.xpgrapher.XpGrapherPlugin.startUp(XpGrapherPlugin.java:79)

(XpGrapherPlugin.java:79) Line 79 = xpGraphColorManager = new XpGraphColorManager(this); Which is declared in Line 42 public XpGraphColorManager xpGraphColorManager;

As seen in the logs also: (XpGraphColorManager.java:68) Line 68 = skillColorMap.put(grapherPlugin.skillList[i], skillColorData[i]);

Full array code is:

for (int i = 0; i < skillColorData.length; i++) {
            skillColorMap.put(grapherPlugin.skillList[i], skillColorData[i]);
        }

https://github.com/cosmicquahog/XpGrapher/blob/master/src/main/java/com/xpgrapher/XpGraphColorManager.java

skillColorData.length is 24 in total, with an added Overall, starting from 0 would get to 23. https://github.com/cosmicquahog/XpGrapher/blob/master/src/main/java/com/xpgrapher/XpGraphColorManager.java#L13

While the skillList which is defined and imported from Runescape API here, would only be 23, from 0, 22. https://github.com/cosmicquahog/XpGrapher/blob/master/src/main/java/com/xpgrapher/XpGrapherPlugin.java#L9 Then used here: https://github.com/cosmicquahog/XpGrapher/blob/master/src/main/java/com/xpgrapher/XpGrapherPlugin.java#L76

Assume something in this array is causing the error when starting/initializing. It can't be a coincidence that there is 23 skills and the index error number is 23...

Raymoz101 commented 10 months ago

Confirmed to be linked to this commit in the RuneLite client. Removing the Overall skill. PR required on this repo to fix this imbalance of skill count.

https://github.com/runelite/runelite/commit/d9c5fe55f2fcfe8875235606caed96c26e468ec3

Raymoz101 commented 10 months ago

Resolved with this commit https://github.com/cosmicquahog/XpGrapher/commit/128f740ec19ef0ec4aa0e7847e69b13a1533cd90