Methods that return booleans and do nothing else follow is/has/can/should prefixes. Example ArrayList#isEmpty vs ArrayList#remove. isEmpty just returns if its empty or not, while remove does an action inside of the method.
https://wiki.eclipse.org/Recommenders/CodingConventions

Made the script for the luls. I average 1500/h under level 60 and reach around 1600/h above level 60.
NOTE: Make sure your your camera is fully zoomed out otherwise the script may not function.
- Supported Features -
Steel bars (More in the future)
Screen markers
Efficient camera placement
Blast Furnace Worlds
Under-60 support (Pay 2.5k/10 minutes for access)
Coffer refilling
Fairly efficient with LG (A few known slow parts that barely effect bars/h)
Ugly as fuck code structure
No ABCL because that shit useless af
- Future Features -
Coal Bag
Stamina potions
Ice Gloves
Bucket of water
Screen Marker information
RED Marker: Banks Deposit-All button
GREEN Marker: Iron Ore Location
BLUE Marker: Coal Location
YELLOW Marker: Bank hover location.
Screen markers are commonly used by legit players trying to maximize their exp gains. Screen markers locate common clicked spots on the users screen so they know where to click based on what they need to do. For example, the iron ore, coal, and deposit all button will never change. As such when the script starts, it will gather these locations to use during the script. This script is built to maximize the amount of bars per hour. It uses a range of camera angles and screen marker locations to use the blast furnace as fast as possible.
https://tribot.org/repository/script/id/2278
Source for this ugly shit: https://github.com/deluxes/DeluxeBlastFurnace
You can find the API for most of the shit on my github, anything that isn't in there you may need to replicate or replace for it to work.
If ur gonna post a bug report show me the issue with screenshots along with both Bot Debug and Client Debug information or ill tell u things that may get me warning points.

Not sure why your "aHelper" class is included if it's not used at all. Code is pretty low quality as well.
Just looking through aHelper, canAlch() will recursively call itself forever if you are able to alch so thats not even going to work. Shit like food should be put into an array or something so it doesn't take 500 lines just to determine what food to eat, let alone calling getDefinition() 500 times instead of caching the data into a variable.

This tutorial will teach you how to use an IDEs debugging to utilize break points to debug your TRiBot scripts. This tutorial will only show how to do it with Intellij, but that same thing should apply to other IDEs.
Setting up Intellij to run TRiBot
1. We must set up the project dependencies. You can get here by using Ctrl+Alt+Shift+S or going to File -> Project Structure
Once you are here, click on Modules and select the dependencies tab.
Debugging Tribot requires you add the following files to your dependencies.
To add a dependency, click on the green + next to Scope and click JARs or directories.
tools.jar You can find this in your jdk directory. Example: C:\Program Files (x86)\Java\jdk1.8.0_101\lib
substance.jar You can find this in your %AppData% Tribot location. Example: C:\Users\Your User\AppData\Romaing\.tribot\dependancies
trident.jar You can find this in your %AppData% Tribot location. Example: C:\Users\Your User\AppData\Romaing\.tribot\dependancies
bin You can find this in your %AppData% Tribot location. Example: C:\Users\Your User\AppData\Romaing\.tribot\bin
2. We must setup a new Run/Debug Configuration. You can get here by going to Run -> Edit configurations
Once you are here, create a new Application configuration by clicking on the green + and clicking Application.
The new configuration will be created and we must edit the settings now. I named my configuration Tribot.
Main class: org.tribot.TRiBot
VM options: -Xmx386m -Xss2m -Dsun.java2d.noddraw=true -XX:CompileThreshold=1500 -Xincgc -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Xbootclasspath/p:"C:\Users\Spencer\AppData\Roaming\.tribot\dependancies\xboot860.jar" -classpath "C:\Program Files (x86)\Java\jdk1.8.0_101\lib\tools.jar";"C:\Users\Spencer\AppData\Roaming\.tribot\bin";"C:\Users\Spencer\AppData\Roaming\.tribot\dependancies\substance.jar";"C:\Users\Spencer\AppData\Roaming\.tribot\dependancies\trident.jar";"C:\Users\Spencer\AppData\Roaming\.tribot\dependancies\TRiBot.jar";
Make sure to switch out the directories to what they are on your computer.
Program arguments: TRIBOTSESSIONID MEM384 OLDSCHOOL
Replace TRIBOTSESSIONID with your session id. You can find this in %AppData%\.tribot\settings\startup.ini
PLEASE NOTE: if your session id does not start with SID, add it to it.
Example: ccaa-das9fg87ad9fg7a98df7ga98df7g2aead32kjhhj13k
You should place: SIDccaa-das9fg87ad9fg7a98df7ga98df7g2aead32kjhhj13k
Hit apply and you are ready to go.
Using breakpoints to debug your script.
Breakpoints are extremely useful for debugging your program. They allow you to stop the program during runtime and see what is happening.
Lets use this simple script as an example.
I'm having an issue. Even though I'm near the Oak Trees my script is not clicking the Cut option. We can debug this by adding a break point and stepping through the script.
To add a breakpoint, you click on the empty area next to the line numbers which will place a red circle. This red circle is a break point. While debugging, any time your script hits said circle, the script will stop and you will be able to interact with it.
Now that I have a break point setup, its time to debug it. We can launch the TRiBot client by going to the Run menu and clicking Run -> Debug 'Tribot'. If this option is not available, you can click Run -> Debug... and select the correct configuration. Once your client has loaded, you can run the script you are debugging.
When a breakpoint is triggered, your script will pause and options will be available within the IDE.
A blue line represents the current line you are debugging. You will notice that your client has frozen while you are interacting with a break point. To prevent this, right click on your break point and change Suspend All to Suspend Thread.
Now when you encounter a break point, your client will no longer freeze but you can debug the script. Now about the real problem. Why isn't my script clicking Cut on the oak tree?!?!
Well we have a few options here. We can use some nice features down at the bottom in the debugger.
will rerun the program. This will close your current client and open a new one.
will continue the program until it encounters the next break point.
will stop the program, ending your tribot client.
will "step over". This will run the line of code and go to the next one. It will not go into any method calls.
will "step into". This will run run the line of code, stepping into any method calls that are made.
The reason debugging is extremely useful is you can see in real time what each line of code is doing. In this program, we can "step over" all of our lines, and see the line 17 will gathers all Oak trees in our area. If there is more than 0 Oak trees in the array, it will attempt to click the Cut option on the first one. By repeatedly clicking step over, we can see what happens.
Now why can't it cut the tree??
Lets "step over" so we are on the trees[0].click line.
If we right click we can see an option that is Evaluate Expression. Click it, or press Alt-F8.
This will bring up a new window that looks like this.
This allows us to run code that doesn't even exist in the script!!!
Lets try running
trees[0]
and pressing Evaluate.
We will see some stuff that doesn't really make sense, but at least we know that there is a tree that we can click on.
By typing a
.
on that line, intellisense will prompt us with valid things we can type. Lets look into the objects definition. We can do this by typing
trees[0].getDefinition()
Well, that brings up some more values that don't really make sense for us. By looking at the Tribot API or even typing another . to see what are valid things we can type we can see that
trees[0].getDefinition().getActions()
is valid. Lets try that.
Hmm, it tells us that Chop down and hidden are valid options for interacting with this tree. I think I found my issue. Cut is not valid and Chop down is.
By evaluating this, the result is true, and in the TRiBot client, the bot successfully clicked on the tree!!
This is just a small introduction on what you can do with debugging. For more information on what you can do while debugging, consider consulting google.com.