You should definitely look into Conditional Sleeps some more.
Also this:
private boolean atBank() {
return Banks.FALADOR_EAST.contains(myPlayer());
}
private boolean atCowField() {
return cowField.contains(myPlayer());
}
private boolean atGate() {
return gateArea.contains(myPlayer());
}
private void walkToBank() {
getWalking().walk(Banks.FALADOR_EAST);
}
private void walkToCows() {
getWalking().walk(cowField);
}
private void walkToGate() {
getWalking().walk(gateArea);
}
private RS2Object fieldGate() {
return getObjects().closest("Gate");
}
private boolean gateClosed() {
return fieldGate().hasAction("Open");
}
private boolean gateExists() {
return fieldGate() != null;
}
These functions are essentially waste of space since all they do is return a value of another function.