HeyImJamie Posted March 18, 2019 Share Posted March 18, 2019 On 3/18/2019 at 3:49 AM, redeems said: private States currentState = States.FISHING; //setting starting state private Area area = new Area(3109, 3434, 3103, 3423); // fishing area public enum States {FISHING, DROPPING} //the two states Expand Yes, but when do you set the state back to FISHING once you've set it to DROPPING? You don't, so it will get stuck. Quote Link to comment Share on other sites More sharing options...
redeems Posted March 18, 2019 Share Posted March 18, 2019 } else if (currentState == States.DROPPING) { //if the state is dropping... log("Inventory full dropping fish.."); //log that we are in this state and executing getInventory().dropAllExcept("Feather","Fly fishing rod"); //drop everything besides feathers and rod int openslots = (getInventory().getEmptySlotCount()); //variable for open inventory spots if (openslots == 26) { currentState = States.FISHING; } } } corrected. now it will go the distance. 1 Quote Link to comment Share on other sites More sharing options...
Imthabawse Posted March 18, 2019 Author Share Posted March 18, 2019 Gaining levels like: https://imgur.com/vDMdxX6 Quote Link to comment Share on other sites More sharing options...
redeems Posted March 18, 2019 Share Posted March 18, 2019 On 3/18/2019 at 3:53 AM, HeyImJamie said: Yes, but when do you set the state back to FISHING once you've set it to DROPPING? You don't, so it will get stuck. Expand my bad sir. you are right. im silly. Quote Link to comment Share on other sites More sharing options...
redeems Posted March 18, 2019 Share Posted March 18, 2019 On 3/18/2019 at 3:56 AM, Malcolm said: This is still a boolean method and should be checked with an if statement. instead of using a static sleep you could use a conditional sleep until the fishing spot is null or your inventory is full. This is what I would do. Hopefully this is helpful. NPC fishSpot = getNpcs().closest("Rod Fishing spot"); if (fishSpot.interact("Lure")) { getMouse().moveOutsideScreen(); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return getInventory().isFull() || fishSpot == null; } }.sleep(); } Expand true. conditional sleeps are almost always better than static sleeps. Quote Link to comment Share on other sites More sharing options...