import org.osbot.rs07.api.map.Area;
import org.osbot.rs07.api.model.RS2Object;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
	@ScriptManifest(name = "MyYewCutter", author = "MySQLi", version = 1.0, info = "Cuts yews in East Varrock", logo = "")
	public class Main extends Script {
    private State state;
    Area WC = new Area(3247,3472,0,0);
    Area Bank = new Area(3253,3420,0,0);
    
    private enum State{
        CUT, WALKTOBANK, BANK, WALKTOTREE
    }
    
    private State getState(){
        if(getInventory().isFull() && Bank.contains(myPlayer())){
            return State.BANK;
        }
        if(getInventory().isFull() && !Bank.contains(myPlayer())){
            return State.WALKTOBANK;
        }
        if(!getInventory().isFull() && WC.contains(myPlayer().getPosition())){
            return State.CUT;
        }
        if(!getInventory().isFull() && !WC.contains(myPlayer().getPosition())){
            return State.WALKTOTREE;
        }
        return State.BANK;
    }
    
    public void onStart(){
        
    }
    
    public int onLoop() throws InterruptedException{
        state = getState();
        switch (state){
        
        case BANK:
            if(!getBank().isOpen()){
                getBank().open();
            }else{
                getBank().depositAll();
            }
        case WALKTOBANK:
            getWalking().webWalk(Bank);
            break;
            
        case CUT:
            if (myPlayer().isAnimating()){
            }else{
                if(!myPlayer().isAnimating()){
                }
                RS2Object yew = getObjects().closest(WC, "Yew");
                if (yew != null){
                    yew.interact("Chop down");
                }
            }
            break;
            
        case WALKTOTREE:
            getWalking().webWalk(WC);
            
            break;
            
        }
        return random(150,175);
    }
}