Thank you once again for the awesome bot release
Here are the results of some testing, all done OSRS/edgeville/with goldsmith gauntlets/with all needed items in same bank tab
Bug 1:
Settings: Method - Jewellery
Quality - Ruby
Type - Bracelet
Description of bug: After withdrawing materials, it will hover over gold bars while still in the bank interface indefinitely.
It is trying to use gold bars on the furance, but this can't be done until the bank is closed. It is looking for a "use" option on the bar, which is not present when bank.isOpen(). In the logs below, I manually closed the bank to allow it to continue, and it worked great.
Ease of replication: It happens every time.
Code:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at bot.Bot$81.initialize(h:223)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$32.initialize(ia:2)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$20.botInterfaceProperty(p:51)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at bot.Bot$81.false(h:152)
... 4 more
00:00:00 - Reading data from shared storage
Took 45ms to load UI.
00:00:09 - Withdrew: Ruby x13
00:00:11 - Withdrew: Gold bar x13
00:00:32 - Selected Ruby bracelet
00:00:34 - Making Ruby bracelet
00:00:35 - Stored crafting.png in local storage directory
Exception caught: java.lang.NullPointerException
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:00:58 - Walking to furnace
00:01:05 - Opened bank
00:01:07 - Deposited: Ruby bracelet
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:01:10 - Withdrew: Gold bar x13
00:01:14 - Withdrew: Ruby x13
00:01:24 - Selected Ruby bracelet
00:01:25 - Making Ruby bracelet
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:01:34 - Thanks for using Prime Smelting!
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at bot.Bot$23.initialize(t:170)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$81.false(h:216)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at bot.Bot$23.false(t:51)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
... 1 more
Finished with 1 exceptions.
Bug 2:
This also occurred during steel bars, but was first noticed during gold bars.
Settings: Method - Smelt bars
Bar type - Gold
Description of bug: When smelting gold it will (seemingly randomly) click on the furance and start re-smelting in the middle of an inventory. Sometimes it doesn't happen for 4 invs, sometimes it happens 3x in one inv.
The bot does function successfully despite this bug
Ease of replication: It has occurred multiple times over multiple instances.
I started this bot in the middle of smelting an inventory, the inv finished at 56sec and the bot took over.
Logs:
Code:
[Debug] RuneMate Version: 2.4.2
[Debug] Java Version: 8u92 x86 (Oracle Corporation)
[Debug] Operating System: Windows 10 x64
Dec 01, 2016 12:43:24 AM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at bot.Bot$81.initialize(h:223)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$32.initialize(ia:2)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$20.botInterfaceProperty(p:51)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at bot.Bot$81.false(h:152)
... 4 more
00:00:00 - Reading data from shared storage
Took 79ms to load UI.
-1
00:00:01 - Retrieving image from local storage directory
Exception caught: java.lang.NullPointerException
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:00:56 - Walking to furnace
00:01:02 - Opened bank
00:01:11 - Deposited: Gold bar
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:01:15 - Withdrew: Gold ore x28
00:01:23 - Opening furnace options
00:01:26 - Selecting Gold
00:01:27 - Smelting Gold
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:02:14 - Opening furnace options
00:02:18 - Selecting Gold
00:02:19 - Smelting Gold
-1
-1
-1
-1
-1
-1
00:02:39 - Opening furnace options
00:02:42 - Selecting Gold
00:02:43 - Smelting Gold
-1
-1
-1
-1
00:02:55 - Thanks for using Prime Smelting!
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at bot.Bot$23.initialize(t:170)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$81.false(h:216)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at bot.Bot$23.false(t:51)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
... 1 more
Finished with 1 exceptions.
Code:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at bot.Bot$81.initialize(h:223)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$32.initialize(ia:2)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$20.botInterfaceProperty(p:51)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at bot.Bot$81.false(h:152)
... 4 more
00:00:00 - Reading data from shared storage
Took 56ms to load UI.
00:00:06 - Withdrew: Iron ore x9
00:00:08 - Withdrew: Coal x18
00:00:19 - Selecting Steel
00:00:20 - Smelting Steel
-1
-1
-1
00:00:23 - Retrieving image from local storage directory
Exception caught: java.lang.NullPointerException
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:00:35 - Opening furnace options
00:00:37 - Selecting Steel
00:00:39 - Smelting Steel
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:00:54 - Walking to furnace
00:01:00 - Opened bank
00:01:05 - Deposited: Steel bar
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:01:08 - Withdrew: Iron ore x9
00:01:12 - Withdrew: Coal x18
00:01:19 - Opening furnace options
00:01:22 - Selecting Steel
00:01:24 - Smelting Steel
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:01:50 - Opening furnace options
00:01:51 - Selecting Steel
00:01:53 - Smelting Steel
-1
-1
-1
00:01:56 - Walking to furnace
00:02:02 - Opened bank
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:02:06 - Deposited: Steel bar
00:02:10 - Withdrew: Coal x18
00:02:13 - Withdrew: Iron ore x9
00:02:22 - Opening furnace options
00:02:24 - Selecting Steel
00:02:25 - Smelting Steel
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
00:02:52 - Thanks for using Prime Smelting!
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at bot.Bot$23.initialize(t:170)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
at bot.Bot$81.false(h:216)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at bot.Bot$23.false(t:51)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
... 1 more
Finished with 1 exceptions.
Small improvement #1: When smelting bars it will withdraw a precise number for each ingredient, such as withdraw-x -> 9 "Iron ore" and then withdraw-x -> 18 "Coal". It could do withdraw all on the second ingredient. This would save a significant amount of time over longer periods, since the one make-x option you need would stay as part of the withdraw menu, and you wouldn't have to type in two values each time you bank.
Small improvement #2: When smelting < 10 bars, it still selects Smelt-x and enters a value. Smelt-10 could be selected instead to save time.