daily pastebin goal
65%
SHARE
TWEET

v1.261 - Final

Conderoga Apr 23rd, 2011 297 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.awt.event.*;
  2. import java.awt.*;
  3. import java.util.*;
  4. import java.io.*;
  5. import java.nio.channels.*;
  6. import java.net.*;
  7. import java.util.List;
  8. import java.util.logging.Level;
  9. import java.lang.reflect.Method;
  10. import javax.accessibility.*;
  11. import javax.swing.*;
  12. import org.rsbot.*;
  13. import org.rsbot.bot.Bot;
  14. import org.rsbot.script.*;
  15. import org.rsbot.script.wrappers.*;
  16. import org.rsbot.event.listeners.*;
  17. import org.rsbot.event.events.ServerMessageEvent;
  18. import org.rsbot.util.ScreenshotUtil;
  19. import javax.imageio.ImageIO;
  20.  
  21. @ScriptManifest(authors = { "Conderoga" }, keywords = "Woodcutting", name = "Conderoga's Chopper", version = 1.261,description = "Chops trees and stuff.")
  22. /*UpdateLog:
  23.    v1.00 - New Combined Script
  24.    v1.01 - New GUI, Added Grand Exchange Ivy
  25.    v1.02 - Added Taverly and Yanille Ivy, Willow Chopping in Draynor
  26.    v1.03 - Nothing really..
  27.    v1.04 - Added Seer's Village yew and maple chopping, new walking method, Ardougne and Varrock Palace Ivy
  28.    v1.05 - Walking fixes and autoupdate
  29.    v1.06 - More options with autoupdate, tweaked banking and walking
  30.    v1.07 - Fixed Maple Chopping, added mage training area magics and Falador yews
  31.    v1.08 - Fixed Falador Yew Chopping and banking problems in Seer's village
  32.    v1.09 - Improved Tree Clicking, added Mouse Hovering, new paint, falador ivy locations
  33.    v1.10 - Quick walking, banking, and animation fixes
  34.    v1.11 - Added Timeout feature to get rid of script stopping error
  35.    v1.12 - Failed attempt at fixing stuff
  36.    v1.13 - Fixed walking problems, added cool mouse stuff.
  37.    v1.14 - Added Draynor Yews - new Walking Method - Fixed Mage Training Area Problems
  38.    v1.15 - Fixed lag issues added breaking antiban fixed Draynor yews improved mouse hover
  39.    v1.16 - Reverted to old version of walking, added Tree Gnome Stronghold Yews
  40.    v1.17 - Lag gone for good, fixed south falador and edgeville, Merry Christmas!
  41.    v1.18 - Fixed lots of problems
  42.    v1.19 - Fixed South Falador Banking problems, Draynor Yew banking, Catherby Bee Hive error
  43.    v1.20 - Fixed small banking errors and errors in South Falador Yews
  44.    v1.21 - Added Failsafe for banking problems, shortened break length
  45.    v1.22 - Fixed walking methods, fixed Mage Training magics, added Port Salim Willows and Draynor Oaks
  46.    v1.23 - Added failsafe fixed run issues
  47.    v1.24 - Fixed new Tree ids in Port Sarim, Rimmington and South Falador
  48.    v1.25 - Fixed Edgeville banking, Seer's Village yews screw up, Rimmington Sticking error, South Falador tree bug
  49.    v1.26 - fixed more problems due to updates
  50.    v1.261 - Fixed Rimmington
  51.  */
  52.  
  53. public class CChop extends Script implements PaintListener, ServerMessageListener, MouseListener{
  54.  
  55. private boolean guiWait = true;
  56. private boolean guiExit = true;
  57. private String location;
  58. private RSTile tree1, tree2, tree3, tree4, tree5, tree6, tree7;
  59. private RSTile [] treesToBank;
  60. private RSTile [] bankToTrees;
  61. private boolean tree1Status, tree2Status, tree3Status, tree4Status, tree5Status, tree6Status, tree7Status;
  62. private long tree1TimeDead, tree2TimeDead, tree3TimeDead, tree4TimeDead, tree5TimeDead, tree6TimeDead, tree7TimeDead;
  63. private long tree1DeadTime, tree2DeadTime, tree3DeadTime, tree4DeadTime, tree5DeadTime, tree6DeadTime, tree7DeadTime;
  64. private long tree1TimeAlive, tree2TimeAlive, tree3TimeAlive, tree4TimeAlive, tree5TimeAlive, tree6TimeAlive, tree7TimeAlive;
  65. private long tree1AliveTime, tree2AliveTime, tree3AliveTime, tree4AliveTime, tree5AliveTime, tree6AliveTime, tree7AliveTime;
  66. private int nextTree = 0;
  67. private int bankerID;
  68. private int yewPrice = 0;
  69. private int magicPrice = 0;
  70. private int willowPrice = 0;
  71. private int maplePrice = 0;
  72. private int oakPrice = 0;
  73.  
  74. public CChopGUI gui;
  75. private boolean nearest;
  76. private boolean takeBreaks;
  77. private boolean breakActive;
  78. private int breakLength;
  79. private long breakStart;
  80. private Point stump1, stump2, stump3, stump4, stump5, stump6, stump7;
  81. public int [] BNIDs = {5070, 5071, 5072, 5073, 5074, 5075, 5076, 7413, 11966};
  82. public int [] hatchetIDs = {1349, 1351, 1353, 1355, 1357, 1359, 1361, 6739, 13470};
  83. private int yewsCut = 0;
  84. private int magicsCut = 0;
  85. private int ivyCut = 0;
  86. private int willowsCut = 0;
  87. private int maplesCut = 0;
  88. private int oaksCut = 0;
  89. private int nests = 0;
  90. private boolean full = false;
  91. private int startLevel;
  92. private int startExp;
  93. private int expGained;
  94. private int lvlsGained;
  95. private long startTime, failSafeTimer;
  96. private double startTimeDbl;
  97. private long ExpHr;
  98. private int safety = 0;
  99. private String status;
  100. private int tempX = 0;
  101. private int tempY = 0;
  102. private Point p;
  103. private int randomInt;
  104. private String version = "v1.261";
  105. private String currentVersion = "";
  106. private String treeType = ".";
  107. private int treeID;
  108. private ArrayList<Integer> ivyIDs = new ArrayList<Integer>();
  109. private ArrayList<Integer> stumpIDs = new ArrayList<Integer>();
  110. private int stumpID;
  111. private RSTile bankLocation;
  112. private String chopType;
  113. private String command;
  114. private boolean done = false;
  115. private boolean showPaint = true;
  116. private boolean fancyPaint = true;
  117. private final Image img1 = getImage("http://i263.photobucket.com/albums/ii158/zpogo/Logo.png");
  118. private final Image img2 = getImage("http://i263.photobucket.com/albums/ii158/zpogo/Bar.png");
  119. private final Image img4 = getImage("http://i263.photobucket.com/albums/ii158/zpogo/EXPback-1copy.png");
  120. private Color mouseColor = new Color(51,153,0,255);
  121.  
  122.         public boolean onStart() {
  123.         if(checkCurrentVersion())
  124.           log(Color.BLUE, "You have the latest version! :)");
  125.       startTime = System.currentTimeMillis();
  126.       startTimeDbl = System.currentTimeMillis();
  127.       //Credits to Zombieknight for this:-----------------
  128.       final int welcome = JOptionPane.showConfirmDialog(null,"Before using my script, would you like to thank me\nby clicking some adverts?","Welcome", JOptionPane.YES_NO_OPTION);
  129.           if (welcome == 0) {
  130.                 final String message = "<html>Thank you for your support!<br /></html>";
  131.                 JOptionPane.showMessageDialog(null, message);
  132.                 openURL("http://adf.ly/317631/agsn");
  133.                 }
  134.         //=================================Yeah, I wrote all the rest of this...
  135.  
  136.  
  137.  
  138.       gui = new CChopGUI();
  139.       gui.setVisible(true);
  140.       while(guiWait)
  141.       {
  142.         sleep(100);
  143.       }
  144.                      return !guiExit;
  145.     }
  146.         public void pickUpNest()
  147.  {
  148.    RSGroundItem o = groundItems.getNearest(BNIDs);
  149.    if(o!=null && !inventory.isFull())
  150.    {
  151.      status = "Nest!";
  152.      sleep(random(600,800));
  153.     if(o.doAction("Take"))
  154.         nests++;
  155.     sleep(random(600,800));
  156.    }
  157.  }
  158.         public boolean chopCheck()
  159.  {
  160.  if(!treeType.equals("ivy"))
  161.  {
  162.    if(players.getMyPlayer().getAnimation()==867||players.getMyPlayer().getAnimation()==2846||players.getMyPlayer().getAnimation()==10251||players.getMyPlayer().getAnimation()==875||players.getMyPlayer().getAnimation()==869)
  163.    {status = "Chopping!";
  164.     return true;}
  165.     else
  166.      status = "Not chopping.";
  167.  }
  168.  else
  169.  {
  170.         for(int i = 0; i<5;i++){
  171.    if(players.getMyPlayer().getAnimation()==870||players.getMyPlayer().getAnimation()==872||players.getMyPlayer().getAnimation()==10251)
  172.    {status = "Chopping!";
  173.     return true;}
  174.     sleep(random(200,300));
  175.      }
  176.      status = "Not chopping.";
  177.  }
  178.  return false;
  179.  }
  180.         public void updateStatus()
  181.  {
  182.         antiBan(random(1,100));
  183.         boolean temp = chopCheck();
  184.         if(!temp&&!tree7Status&&!tree6Status&&!tree5Status&&!tree4Status&&!tree3Status&&!tree2Status&&!tree1Status)
  185.         {
  186.                 status = "Waiting.";
  187.         }
  188.  }
  189.         public void setUp()
  190. {
  191.         status = "Starting up.";
  192.         command = location+ " - "+chopType;
  193.         if(command.equals("Draynor - Oaks"))
  194.         {
  195.                 treeType = "oaks";
  196.                 treeID = 1281;
  197.                 stumpID = 1356;
  198.                 bankerID = 494;
  199.                 tree1 = new RSTile(3102,3242);
  200.                 tree2 = new RSTile(3107,3248);
  201.                 tree3 = new RSTile(0,0);
  202.                 tree4 = new RSTile(0,0);
  203.                 tree5 = new RSTile(0,0);
  204.                 tree6 = new RSTile(0,0);
  205.                 tree7 = new RSTile(0,0);
  206.  
  207.                 treesToBank = new RSTile [3];
  208.                 bankToTrees = new RSTile [2];
  209.  
  210.                 treesToBank[0] = new RSTile(3107,3250);
  211.                 treesToBank[1] = new RSTile(3101,3244);
  212.                 treesToBank[2] = new RSTile(3092,3244);
  213.  
  214.                 bankToTrees[0] = new RSTile(3092,3244);
  215.                 bankToTrees[1] = new RSTile(3101,3244);
  216.  
  217.         }
  218.         else if(command.equals("Grand Exchange - Yews"))
  219.         {
  220.                 treeType = "yews";
  221.                 treeID = 1309;
  222.                 stumpID = 7402;
  223.                 bankerID = 6533;
  224.                 tree1 = new RSTile(3205,3504);
  225.                 tree2 = new RSTile(3210,3504);
  226.                 tree3 = new RSTile(3222,3503);
  227.                 tree4 = new RSTile(0,0);
  228.                 tree5 = new RSTile(0,0);
  229.                 tree6 = new RSTile(0,0);
  230.                 tree7 = new RSTile(0,0);
  231.  
  232.                 treesToBank = new RSTile [6];
  233.                 bankToTrees = new RSTile [6];
  234.  
  235.                 bankToTrees[0] = new RSTile(3167, 3489);
  236.                 bankToTrees[1] = new RSTile(3173, 3491);
  237.                 bankToTrees[2] = new RSTile(3183, 3490);
  238.                 bankToTrees[3] = new RSTile(3195, 3494);
  239.                 bankToTrees[4] = new RSTile(3204, 3502);
  240.                 bankToTrees[5] = new RSTile(3208, 3502);
  241.  
  242.                 treesToBank[0] = new RSTile(3208, 3502);
  243.                 treesToBank[1] = new RSTile(3204, 3502);
  244.                 treesToBank[2] = new RSTile(3195, 3494);
  245.                 treesToBank[3] = new RSTile(3183, 3490);
  246.                 treesToBank[4] = new RSTile(3173, 3491);
  247.                 treesToBank[5] = new RSTile(3167, 3489);
  248.         }
  249.         else if(command.equals("Edgeville - Yews"))
  250.         {
  251.                 treeType = "yews";
  252.                 treeID = 1309;
  253.                 stumpID = 7402;
  254.                 bankerID = 553;
  255.                 tree1 = new RSTile(3086,3481);
  256.                 tree2 = new RSTile(3086,3469);
  257.                 tree3 = new RSTile(0,0);
  258.                 tree4 = new RSTile(0,0);
  259.                 tree5 = new RSTile(0,0);
  260.                 tree6 = new RSTile(0,0);
  261.                 tree7 = new RSTile(0,0);
  262.  
  263.                 treesToBank = new RSTile [5];
  264.                 bankToTrees = new RSTile [5];
  265.  
  266.                 bankToTrees[0] = new RSTile(3093, 3490);
  267.                 bankToTrees[1] = new RSTile(3088, 3487);
  268.                 bankToTrees[2] = new RSTile(3093, 3482);
  269.                 bankToTrees[3] = new RSTile(3094, 3476);
  270.                 bankToTrees[4] = new RSTile(3087, 3475);
  271.  
  272.                 treesToBank[0] = new RSTile(3087, 3475);
  273.                 treesToBank[1] = new RSTile(3094, 3476);
  274.                 treesToBank[2] = new RSTile(3093, 3482);
  275.                 treesToBank[3] = new RSTile(3088, 3487);
  276.                 treesToBank[4] = new RSTile(3093, 3490);
  277.         }
  278.         else if(command.equals("Rimmington - Yews"))
  279.         {
  280.                 treeType = "yews";
  281.                 treeID = 38755;
  282.                 stumpID = 38759;
  283.                 bankerID = 6200;
  284.                 tree1 = new RSTile(2941,3233);
  285.                 tree2 = new RSTile(2934,3234);
  286.                 tree3 = new RSTile(2926,3229);
  287.                 tree4 = new RSTile(2935,3226);
  288.                 tree5 = new RSTile(0,0);
  289.                 tree6 = new RSTile(0,0);
  290.                 tree7 = new RSTile(0,0);
  291.  
  292.                 treesToBank = new RSTile [15];
  293.                 bankToTrees = new RSTile [15];
  294.  
  295.  
  296.                 bankToTrees[0] = new RSTile(3047, 3236);
  297.                 bankToTrees[1] = new RSTile(3037, 3235);
  298.                 bankToTrees[2] = new RSTile(3027, 3241);
  299.                 bankToTrees[3] = new RSTile(3016, 3242);
  300.                 bankToTrees[4] = new RSTile(3004, 3238);
  301.                 bankToTrees[5] = new RSTile(2993, 3235);
  302.                 bankToTrees[6] = new RSTile(2988, 3225);
  303.                 bankToTrees[7] = new RSTile(2979, 3223);
  304.                 bankToTrees[8] = new RSTile(2969, 3223);
  305.                 bankToTrees[9] = new RSTile(2959, 3223);
  306.                 bankToTrees[10] = new RSTile(2950, 3228);
  307.                 bankToTrees[11] = new RSTile(2942, 3230);
  308.                 bankToTrees[12] = new RSTile(2938, 3231);
  309.                 bankToTrees[13] = new RSTile(2930, 3230);
  310.                 bankToTrees[14] = new RSTile(2925, 3231);
  311.  
  312.                 treesToBank = walking.reversePath(bankToTrees);
  313.  
  314.         }
  315.         else if(command.equals("Catherby - Yews"))
  316.         {
  317.                 treeType = "yews";
  318.                 treeID = 1309;
  319.                 stumpID = 7402;
  320.                 if(random(1,2)==1)
  321.                 bankerID = 494;
  322.                 else
  323.                 bankerID = 495;
  324.  
  325.                 tree1 = new RSTile(2766,3428);
  326.                 tree2 = new RSTile(2760,3428);
  327.                 tree3 = new RSTile(2761,3432);
  328.                 tree4 = new RSTile(2771,3438);
  329.                 tree5 = new RSTile(2756,3431);
  330.                 tree6 = new RSTile(2758,3434);
  331.                 tree7 = new RSTile(2755,3434);
  332.  
  333.                 treesToBank = new RSTile [5];
  334.                 bankToTrees = new RSTile [5];
  335.  
  336.  
  337.                 bankToTrees[0] = new RSTile(2809, 3440);
  338.                 bankToTrees[1] = new RSTile(2801, 3434);
  339.                 bankToTrees[2] = new RSTile(2789, 3436);
  340.                 bankToTrees[3] = new RSTile(2777, 3436);
  341.                 bankToTrees[4] = new RSTile(2767, 3431);
  342.  
  343.                 treesToBank[0] = new RSTile(2767, 3431);
  344.                 treesToBank[1] = new RSTile(2777, 3436);
  345.                 treesToBank[2] = new RSTile(2789, 3436);
  346.                 treesToBank[3] = new RSTile(2801, 3434);
  347.                 treesToBank[4] = new RSTile(2809, 3440);
  348.         }
  349.         else if(command.equals("Seer's Village - Yews"))
  350.         {
  351.                 treeType = "yews";
  352.                 treeID = 1309;
  353.                 stumpID = 7402;
  354.                 bankerID = 495;
  355.                 tree1 = new RSTile(2715,3460);
  356.                 tree2 = new RSTile(2706,3460);
  357.                 tree3 = new RSTile(2706,3465);
  358.                 tree4 = new RSTile(0,0);
  359.                 tree5 = new RSTile(0,0);
  360.                 tree6 = new RSTile(0,0);
  361.                 tree7 = new RSTile(0,0);
  362.  
  363.                 treesToBank = new RSTile [4];
  364.                 bankToTrees = new RSTile [4];
  365.  
  366.  
  367.                 bankToTrees[0] = new RSTile(2726, 3493);
  368.                 bankToTrees[1] = new RSTile(2724, 3483);
  369.                 bankToTrees[2] = new RSTile(2723, 3474);
  370.                 bankToTrees[3] = new RSTile(2714, 3462);
  371.  
  372.                 treesToBank[0] = new RSTile(2714, 3462);
  373.                 treesToBank[1] = new RSTile(2723, 3474);
  374.                 treesToBank[2] = new RSTile(2724, 3483);
  375.                 treesToBank[3] = new RSTile(2726, 3493);
  376.         }
  377.         else if(command.equals("South Falador - Yews"))
  378.         {
  379.                 treeType = "yews";
  380.                 treeID = 38755;
  381.                 stumpID = 38759;
  382.                 bankerID = 6200;
  383.                 tree1 = new RSTile(2999,3315);
  384.                 tree2 = new RSTile(3017,3322);
  385.                 tree3 = new RSTile(3047,3318);
  386.                 tree4 = new RSTile(0,0);
  387.                 tree5 = new RSTile(0,0);
  388.                 tree6 = new RSTile(0,0);
  389.                 tree7 = new RSTile(0,0);
  390.  
  391.                 treesToBank = new RSTile [11];
  392.                 bankToTrees = new RSTile [6];
  393.  
  394.  
  395.                 bankToTrees[0] = new RSTile(3012, 3356);
  396.                 bankToTrees[1] = new RSTile(3006, 3357);
  397.                 bankToTrees[2] = new RSTile(3006, 3346);
  398.                 bankToTrees[3] = new RSTile(3006, 3339);
  399.                 bankToTrees[4] = new RSTile(3006, 3331);
  400.                 bankToTrees[5] = new RSTile(3007, 3322);
  401.  
  402.  
  403.                 treesToBank[0] = new RSTile(3045, 3318);
  404.                 treesToBank[1] = new RSTile(3040, 3320);
  405.                 treesToBank[2] = new RSTile(3036, 3321);
  406.                 treesToBank[3] = new RSTile(3028, 3321);
  407.                 treesToBank[4] = new RSTile(3016, 3320);
  408.                 treesToBank[5] = new RSTile(3007, 3322);
  409.                 treesToBank[6] = new RSTile(3006, 3331);
  410.                 treesToBank[7] = new RSTile(3006, 3339);
  411.                 treesToBank[8] = new RSTile(3006, 3346);
  412.                 treesToBank[9] = new RSTile(3006, 3357);
  413.                 treesToBank[10] = new RSTile(3012, 3356);
  414.         }
  415.         else if(command.equals("Draynor - Yews"))
  416.         {
  417.                 treeType = "yews";
  418.                 treeID = 1309;
  419.                 stumpID = 7402;
  420.                 bankerID = 494;
  421.                 tree1 = new RSTile(3147,3255);
  422.                 tree2 = new RSTile(3152,3231);
  423.                 tree3 = new RSTile(3166,3220);
  424.                 tree4 = new RSTile(3185,3227);
  425.                 tree5 = new RSTile(0,0);
  426.                 tree6 = new RSTile(0,0);
  427.                 tree7 = new RSTile(0,0);
  428.  
  429.                 treesToBank = new RSTile [19];
  430.                 bankToTrees = new RSTile [7];
  431.  
  432.                 treesToBank[0] = new RSTile(3185,3227);
  433.                 treesToBank[1] = new RSTile(3177,3226);
  434.                 treesToBank[2] = new RSTile(3172,3226);
  435.                 treesToBank[3] = new RSTile(3166,3222);
  436.                 treesToBank[4] = new RSTile(3161,3227);
  437.                 treesToBank[5] = new RSTile(3158,3232);
  438.                 treesToBank[6] = new RSTile(3153,3239);
  439.                 treesToBank[7] = new RSTile(3152,3245);
  440.                 treesToBank[8] = new RSTile(3147,3252);
  441.                 treesToBank[9] = new RSTile(3146,3244);
  442.                 treesToBank[10] = new RSTile(3147,3235);
  443.                 treesToBank[11] = new RSTile(3145,3230);
  444.                 treesToBank[12] = new RSTile(3137,3228);
  445.                 treesToBank[13] = new RSTile(3126,3226);
  446.                 treesToBank[14] = new RSTile(3119,3226);
  447.                 treesToBank[15] = new RSTile(3110,3229);
  448.                 treesToBank[16] = new RSTile(3105,3235);
  449.                 treesToBank[17] = new RSTile(3101,3242);
  450.                 treesToBank[18] = new RSTile(3092,3244);
  451.  
  452.                 bankToTrees[0] = new RSTile(3092,3244);
  453.                 bankToTrees[1] = new RSTile(3104,3238);
  454.                 bankToTrees[2] = new RSTile(3114,3229);
  455.                 bankToTrees[3] = new RSTile(3126,3225);
  456.                 bankToTrees[4] = new RSTile(3137,3226);
  457.                 bankToTrees[5] = new RSTile(3144,3229);
  458.                 bankToTrees[6] = new RSTile(3150,3231);
  459.         }
  460.         else if(command.equals("Tree Gnome - Yews"))
  461.         {
  462.                 treeType = "yews";
  463.                 treeID = 1309;
  464.                 stumpID = 7402;
  465.                 bankerID = 166;
  466.                 tree1 = new RSTile(2439,3436);
  467.                 tree2 = new RSTile(2433,3441);
  468.                 tree3 = new RSTile(2433,3426);
  469.                 tree4 = new RSTile(0,0);
  470.                 tree5 = new RSTile(0,0);
  471.                 tree6 = new RSTile(0,0);
  472.                 tree7 = new RSTile(0,0);
  473.  
  474.                 treesToBank = new RSTile [2];
  475.                 bankToTrees = new RSTile [2];
  476.  
  477.                 treesToBank[0] = new RSTile(2442,3438);
  478.                 treesToBank[1] = new RSTile(2445,3427);
  479.  
  480.                 bankToTrees[0] = new RSTile(2445,3425);
  481.                 bankToTrees[1] = new RSTile(2440,3434);
  482.  
  483.         }
  484.         else if(command.equals("Seer's Village - Maples"))
  485.         {
  486.                 treeType = "maples";
  487.                 treeID = 1307;
  488.                 stumpID = 7400;
  489.                 bankerID = 495;
  490.                 tree1 = new RSTile(2722,3502);
  491.                 tree2 = new RSTile(2728,3502);
  492.                 tree3 = new RSTile(2731,3501);
  493.                 tree4 = new RSTile(2733,3500);
  494.                 tree5 = new RSTile(0,0);
  495.                 tree6 = new RSTile(0,0);
  496.                 tree7 = new RSTile(0,0);
  497.  
  498.                 treesToBank = new RSTile [2];
  499.                 bankToTrees = new RSTile [2];
  500.  
  501.                 bankToTrees[0] = new RSTile(2726, 3493);
  502.                 bankToTrees[1] = new RSTile(2729, 3501);
  503.  
  504.  
  505.                 treesToBank[0] = new RSTile(2729, 3501);
  506.                 treesToBank[1] = new RSTile(2726, 3493);
  507.  
  508.  
  509.         }
  510.         else if(command.equals("Seer's Village - Magics"))
  511.         {
  512.                 treeType = "magics";
  513.                 treeID = 1306;
  514.                 stumpID = 7401;
  515.                 bankerID = 495;
  516.                 tree1 = new RSTile(2697,3424);
  517.                 tree2 = new RSTile(2692,3425);
  518.                 tree3 = new RSTile(2691,3428);
  519.                 tree4 = new RSTile(0,0);
  520.                 tree5 = new RSTile(0,0);
  521.                 tree6 = new RSTile(0,0);
  522.                 tree7 = new RSTile(0,0);
  523.  
  524.                 treesToBank = new RSTile [9];
  525.                 bankToTrees = new RSTile [9];
  526.  
  527.                 bankToTrees[0] = new RSTile(2726, 3493);
  528.                 bankToTrees[1] = new RSTile(2725, 3487);
  529.                 bankToTrees[2] = new RSTile(2725, 3477);
  530.                 bankToTrees[3] = new RSTile(2723, 3466);
  531.                 bankToTrees[4] = new RSTile(2724, 3456);
  532.                 bankToTrees[5] = new RSTile(2713, 3449);
  533.                 bankToTrees[6] = new RSTile(2707, 3439);
  534.                 bankToTrees[7] = new RSTile(2703, 3429);
  535.                 bankToTrees[8] = new RSTile(2694, 3424);
  536.  
  537.                 treesToBank[0] = new RSTile(2694, 3424);
  538.                 treesToBank[1] = new RSTile(2703, 3429);
  539.                 treesToBank[2] = new RSTile(2707, 3439);
  540.                 treesToBank[3] = new RSTile(2713, 3449);
  541.                 treesToBank[4] = new RSTile(2724, 3456);
  542.                 treesToBank[5] = new RSTile(2723, 3466);
  543.                 treesToBank[6] = new RSTile(2725, 3477);
  544.                 treesToBank[7] = new RSTile(2725, 3487);
  545.                 treesToBank[8] = new RSTile(2726, 3493);
  546.         }
  547.         else if(command.equals("Sorcerer's Tower - Magics"))
  548.         {
  549.                 treeType = "magics";
  550.                 treeID = 1306;
  551.                 stumpID = 7401;
  552.                 bankerID = 495;
  553.                 tree1 = new RSTile(2705,3397);
  554.                 tree2 = new RSTile(2705,3399);
  555.                 tree3 = new RSTile(2699,3399);
  556.                 tree4 = new RSTile(2699,3397);
  557.                 tree5 = new RSTile(0,0);
  558.                 tree6 = new RSTile(0,0);
  559.                 tree7 = new RSTile(0,0);
  560.  
  561.                 treesToBank = new RSTile [12];
  562.                 bankToTrees = new RSTile [12];
  563.  
  564.                 bankToTrees[0] = new RSTile(2726, 3493);
  565.                 bankToTrees[1] = new RSTile(2725, 3487);
  566.                 bankToTrees[2] = new RSTile(2725, 3477);
  567.                 bankToTrees[3] = new RSTile(2723, 3466);
  568.                 bankToTrees[4] = new RSTile(2724, 3456);
  569.                 bankToTrees[5] = new RSTile(2713, 3449);
  570.                 bankToTrees[6] = new RSTile(2707, 3439);
  571.                 bankToTrees[7] = new RSTile(2703, 3429);
  572.                 bankToTrees[8] = new RSTile(2709, 3418);
  573.                 bankToTrees[9] = new RSTile(2715, 3406);
  574.                 bankToTrees[10] = new RSTile(2714, 3396);
  575.                 bankToTrees[11] = new RSTile(2701, 3398);
  576.  
  577.                 treesToBank[0] = new RSTile(2701, 3398);
  578.                 treesToBank[1] = new RSTile(2714, 3396);
  579.                 treesToBank[2] = new RSTile(2715, 3406);
  580.                 treesToBank[3] = new RSTile(2709, 3418);
  581.                 treesToBank[4] = new RSTile(2703, 3429);
  582.                 treesToBank[5] = new RSTile(2707, 3439);
  583.                 treesToBank[6] = new RSTile(2713, 3449);
  584.                 treesToBank[7] = new RSTile(2724, 3456);
  585.                 treesToBank[8] = new RSTile(2723, 3466);
  586.                 treesToBank[9] = new RSTile(2725, 3477);
  587.                 treesToBank[10] = new RSTile(2725, 3487);
  588.                 treesToBank[11] = new RSTile(2726, 3493);
  589.         }
  590.         else if(command.equals("Mage Training Area - Magics"))
  591.         {
  592.                 treeType = "magics";
  593.                 treeID = 1306;
  594.                 stumpID = 7401;
  595.                 bankLocation = new RSTile(3381,3269);
  596.  
  597.                 tree1 = new RSTile(3357,3312);
  598.                 tree2 = new RSTile(3369,3312);
  599.                 tree3 = new RSTile(0,0);
  600.                 tree4 = new RSTile(0,0);
  601.                 tree5 = new RSTile(0,0);
  602.                 tree6 = new RSTile(0,0);
  603.                 tree7 = new RSTile(0,0);
  604.  
  605.                 treesToBank = new RSTile [7];
  606.                 bankToTrees = new RSTile [7];
  607.  
  608.                 bankToTrees[0] = new RSTile(3381, 3268);
  609.                 bankToTrees[1] = new RSTile(3370, 3266);
  610.                 bankToTrees[2] = new RSTile(3358, 3265);
  611.                 bankToTrees[3] = new RSTile(3349, 3274);
  612.                 bankToTrees[4] = new RSTile(3348, 3282);
  613.                 bankToTrees[5] = new RSTile(3360, 3287);
  614.                 bankToTrees[6] = new RSTile(3363, 3298);
  615.  
  616.  
  617.                 treesToBank[0] = new RSTile(3363, 3298);
  618.                 treesToBank[1] = new RSTile(3360, 3287);
  619.                 treesToBank[2] = new RSTile(3348, 3282);
  620.                 treesToBank[3] = new RSTile(3349, 3274);
  621.                 treesToBank[4] = new RSTile(3358, 3265);
  622.                 treesToBank[5] = new RSTile(3370, 3266);
  623.                 treesToBank[6] = new RSTile(3382, 3268);
  624.  
  625.         }
  626.         else if(command.equals("Castle Wars - Ivy"))
  627.         {
  628.                 bankLocation = new RSTile(2445,3083);
  629.                 treeType = "ivy";
  630.  
  631.                 if(random(1,2)==1)
  632.                 camera.setAngle(random(1,30));
  633.                 else
  634.                 camera.setAngle(random(340,359));
  635.  
  636.  
  637.                 tree1 = new RSTile(2430,3068);
  638.                 tree2 = new RSTile(2429,3068);
  639.                 tree3 = new RSTile(2428,3068);
  640.                 tree4 = new RSTile(2426,3068);
  641.                 tree5 = new RSTile(2425,3068);
  642.                 tree6 = new RSTile(2424,3068);
  643.                 tree7 = new RSTile(2423,3068);
  644.  
  645.                 treesToBank = new RSTile [3];
  646.                 bankToTrees = new RSTile [3];
  647.  
  648.  
  649.                 bankToTrees[0] = new RSTile(2443, 3084);
  650.                 bankToTrees[1] = new RSTile(2444, 3073);
  651.                 bankToTrees[2] = new RSTile(2429, 3068);
  652.  
  653.                 treesToBank[0] = new RSTile(2429, 3068);
  654.                 treesToBank[1] = new RSTile(2444, 3073);
  655.                 treesToBank[2] = new RSTile(2443, 3084);
  656.         }
  657.  
  658.         else if(command.equals("Grand Exchange - Ivy"))
  659.         {
  660.                 treeType = "ivy";
  661.                 bankerID = 6533;
  662.  
  663.                 camera.setAngle(random(170,190));
  664.  
  665.  
  666.                 tree1 = new RSTile(3219,3498);
  667.                 tree2 = new RSTile(3218,3498);
  668.                 tree3 = new RSTile(3217,3498);
  669.                 tree4 = new RSTile(3216,3498);
  670.                 tree5 = new RSTile(0,0);
  671.                 tree6 = new RSTile(0,0);
  672.                 tree7 = new RSTile(0,0);
  673.  
  674.                 treesToBank = new RSTile [6];
  675.                 bankToTrees = new RSTile [6];
  676.  
  677.                 bankToTrees[0] = new RSTile(3167, 3489);
  678.                 bankToTrees[1] = new RSTile(3173, 3491);
  679.                 bankToTrees[2] = new RSTile(3183, 3490);
  680.                 bankToTrees[3] = new RSTile(3195, 3494);
  681.                 bankToTrees[4] = new RSTile(3204, 3502);
  682.                 bankToTrees[5] = new RSTile(3217, 3500);
  683.  
  684.                 treesToBank[0] = new RSTile(3217, 3500);
  685.                 treesToBank[1] = new RSTile(3204, 3502);
  686.                 treesToBank[2] = new RSTile(3195, 3494);
  687.                 treesToBank[3] = new RSTile(3183, 3490);
  688.                 treesToBank[4] = new RSTile(3173, 3491);
  689.                 treesToBank[5] = new RSTile(3167, 3489);
  690.         }
  691.  
  692.         else if(command.equals("Taverly - Ivy"))
  693.         {
  694.                 treeType = "ivy";
  695.                 log("Nest banking is unavailable at the Taverly location.");
  696.  
  697.                 camera.setAngle(random(260,280));
  698.  
  699.                 tree1 = new RSTile(2943,3416);
  700.                 tree2 = new RSTile(2943,3417);
  701.                 tree3 = new RSTile(2943,3418);
  702.                 tree4 = new RSTile(2943,3419);
  703.                 tree5 = new RSTile(2943,3420);
  704.                 tree6 = new RSTile(0,0);
  705.                 tree7 = new RSTile(0,0);
  706.  
  707.         }
  708.         else if(command.equals("Yanille - Ivy"))
  709.         {
  710.                 bankerID = 494;
  711.                 treeType = "ivy";
  712.  
  713.                 camera.setAngle(random(170,190));
  714.  
  715.  
  716.                 tree1 = new RSTile(2597,3111);
  717.                 tree2 = new RSTile(2596,3111);
  718.                 tree3 = new RSTile(2595,3111);
  719.                 tree4 = new RSTile(2593,3111);
  720.                 tree5 = new RSTile(2592,3111);
  721.                 tree6 = new RSTile(2591,3111);
  722.                 tree7 = new RSTile(0,0);
  723.  
  724.                 treesToBank = new RSTile [4];
  725.                 bankToTrees = new RSTile [4];
  726.  
  727.  
  728.                 bankToTrees[0] = new RSTile(2613, 3094);
  729.                 bankToTrees[1] = new RSTile(2616, 3106);
  730.                 bankToTrees[2] = new RSTile(2603, 3113);
  731.                 bankToTrees[3] = new RSTile(2597, 3111);
  732.  
  733.                 treesToBank[0] = new RSTile(2597, 3111);
  734.                 treesToBank[1] = new RSTile(2603, 3113);
  735.                 treesToBank[2] = new RSTile(2616, 3106);
  736.                 treesToBank[3] = new RSTile(2613, 3094);
  737.         }
  738.         else if(command.equals("Ardougne - Ivy"))
  739.         {
  740.                 bankerID = 494;
  741.                 treeType = "ivy";
  742.  
  743.                 camera.setAngle(random(80,100));
  744.  
  745.  
  746.                 tree1 = new RSTile(2622,3304);
  747.                 tree2 = new RSTile(2622,3305);
  748.                 tree3 = new RSTile(2622,3307);
  749.                 tree4 = new RSTile(2622,3308);
  750.                 tree5 = new RSTile(2622,3310);
  751.                 tree6 = new RSTile(0,0);
  752.                 tree7 = new RSTile(0,0);
  753.  
  754.                 treesToBank = new RSTile [5];
  755.                 bankToTrees = new RSTile [5];
  756.  
  757.  
  758.                 bankToTrees[0] = new RSTile(2614, 3333);
  759.                 bankToTrees[1] = new RSTile(2607, 3326);
  760.                 bankToTrees[2] = new RSTile(2607, 3314);
  761.                 bankToTrees[3] = new RSTile(2614, 3312);
  762.                 bankToTrees[4] = new RSTile(2622, 3310);
  763.  
  764.                 treesToBank[0] = new RSTile(2622, 3310);
  765.                 treesToBank[1] = new RSTile(2614, 3312);
  766.                 treesToBank[2] = new RSTile(2607, 3314);
  767.                 treesToBank[3] = new RSTile(2607, 3326);
  768.                 treesToBank[4] = new RSTile(2614, 3333);
  769.         }
  770.         else if(command.equals("Varrock Palace - Ivy"))
  771.         {
  772.                 bankerID = 5912;
  773.                 treeType = "ivy";
  774.  
  775.                 camera.setAngle(random(250,280));
  776.  
  777.  
  778.                 tree1 = new RSTile(3233,3456);
  779.                 tree2 = new RSTile(3233,3457);
  780.                 tree3 = new RSTile(3233,3459);
  781.                 tree4 = new RSTile(3233,3460);
  782.                 tree5 = new RSTile(3233,3461);
  783.                 tree6 = new RSTile(0,0);
  784.                 tree7 = new RSTile(0,0);
  785.  
  786.                 treesToBank = new RSTile [5];
  787.                 bankToTrees = new RSTile [5];
  788.  
  789.  
  790.                 bankToTrees[0] = new RSTile(3253, 3420);
  791.                 bankToTrees[1] = new RSTile(3246, 3431);
  792.                 bankToTrees[2] = new RSTile(3245, 3441);
  793.                 bankToTrees[3] = new RSTile(3244, 3454);
  794.                 bankToTrees[4] = new RSTile(3233, 3460);
  795.  
  796.                 treesToBank[0] = new RSTile(3233, 3460);
  797.                 treesToBank[1] = new RSTile(3244, 3454);
  798.                 treesToBank[2] = new RSTile(3245, 3441);
  799.                 treesToBank[3] = new RSTile(3246, 3431);
  800.                 treesToBank[4] = new RSTile(3253, 3420);
  801.         }
  802.         else if(command.equals("South Falador - Ivy"))
  803.         {
  804.                 bankerID = 6200;
  805.                 treeType = "ivy";
  806.  
  807.                 if(random(1,2)==1)
  808.                 camera.setAngle(random(1,30));
  809.                 else
  810.                 camera.setAngle(random(340,359));
  811.  
  812.  
  813.                 tree1 = new RSTile(3052,3328);
  814.                 tree2 = new RSTile(3051,3328);
  815.                 tree3 = new RSTile(3049,3328);
  816.                 tree4 = new RSTile(3048,3328);
  817.                 tree5 = new RSTile(3047,3328);
  818.                 tree6 = new RSTile(3045,3328);
  819.                 tree7 = new RSTile(3044,3328);
  820.  
  821.                 treesToBank = new RSTile [10];
  822.                 bankToTrees = new RSTile [10];
  823.  
  824.  
  825.                 bankToTrees[0] = new RSTile(3012, 3356);
  826.                 bankToTrees[1] = new RSTile(3006, 3357);
  827.                 bankToTrees[2] = new RSTile(3006, 3346);
  828.                 bankToTrees[3] = new RSTile(3006, 3339);
  829.                 bankToTrees[4] = new RSTile(3006, 3331);
  830.                 bankToTrees[5] = new RSTile(3007, 3322);
  831.                 bankToTrees[6] = new RSTile(3017, 3323);
  832.                 bankToTrees[7] = new RSTile(3027, 3326);
  833.                 bankToTrees[8] = new RSTile(3036, 3326);
  834.                 bankToTrees[9] = new RSTile(3044, 3327);
  835.  
  836.                 treesToBank[0] = new RSTile(3044, 3327);
  837.                 treesToBank[1] = new RSTile(3036, 3326);
  838.                 treesToBank[2] = new RSTile(3027, 3326);
  839.                 treesToBank[3] = new RSTile(3017, 3323);
  840.                 treesToBank[4] = new RSTile(3007, 3322);
  841.                 treesToBank[5] = new RSTile(3006, 3331);
  842.                 treesToBank[6] = new RSTile(3006, 3339);
  843.                 treesToBank[7] = new RSTile(3006, 3346);
  844.                 treesToBank[8] = new RSTile(3006, 3357);
  845.                 treesToBank[9] = new RSTile(3012, 3356);
  846.         }
  847.         else if(command.equals("North Falador - Ivy"))
  848.         {
  849.                 bankerID = 6200;
  850.                 treeType = "ivy";
  851.  
  852.  
  853.                 camera.setAngle(random(170,190));
  854.  
  855.                 tree1 = new RSTile(3018,3392);
  856.                 tree2 = new RSTile(3017,3392);
  857.                 tree3 = new RSTile(3016,3392);
  858.                 tree4 = new RSTile(3015,3392);
  859.                 tree5 = new RSTile(3014,3392);
  860.                 tree6 = new RSTile(3012,3392);
  861.                 tree7 = new RSTile(3011,3392);
  862.  
  863.                 treesToBank = new RSTile [11];
  864.                 bankToTrees = new RSTile [11];
  865.  
  866.  
  867.                 bankToTrees[0] = new RSTile(2946, 3368);
  868.                 bankToTrees[1] = new RSTile(2948, 3376);
  869.                 bankToTrees[2] = new RSTile(2952, 3381);
  870.                 bankToTrees[3] = new RSTile(2963, 3386);
  871.                 bankToTrees[4] = new RSTile(2968, 3397);
  872.                 bankToTrees[5] = new RSTile(2974, 3397);
  873.                 bankToTrees[6] = new RSTile(2980, 3397);
  874.                 bankToTrees[7] = new RSTile(2989, 3397);
  875.                 bankToTrees[8] = new RSTile(2994, 3396);
  876.                 bankToTrees[9] = new RSTile(3005, 3397);
  877.                 bankToTrees[10] = new RSTile(3012, 3393);
  878.  
  879.                 treesToBank[0] = new RSTile(3012, 3393);
  880.                 treesToBank[1] = new RSTile(3005, 3397);
  881.                 treesToBank[2] = new RSTile(2994, 3396);
  882.                 treesToBank[3] = new RSTile(2989, 3397);
  883.                 treesToBank[4] = new RSTile(2980, 3397);
  884.                 treesToBank[5] = new RSTile(2974, 3397);
  885.                 treesToBank[6] = new RSTile(2968, 3397);
  886.                 treesToBank[7] = new RSTile(2963, 3386);
  887.                 treesToBank[8] = new RSTile(2952, 3381);
  888.                 treesToBank[9] = new RSTile(2948, 3376);
  889.                 treesToBank[10] = new RSTile(2946, 3368);
  890.         }
  891.         else if(command.equals("Draynor - Willows"))
  892.         {
  893.                 treeType = "willows";
  894.                 bankerID = 494;
  895.                 tree1 = new RSTile(3089,3228);
  896.                 tree2 = new RSTile(3088,3232);
  897.                 tree3 = new RSTile(3089,3235);
  898.                 tree4 = new RSTile(3086,3236);
  899.                 tree5 = new RSTile(3084,3238);
  900.                 tree6 = new RSTile(0,0);
  901.                 tree7 = new RSTile(0,0);
  902.  
  903.                 treesToBank = new RSTile [2];
  904.                 bankToTrees = new RSTile [2];
  905.  
  906.                 bankToTrees[0] = new RSTile(3092, 3245);
  907.                 bankToTrees[1] = new RSTile(3087, 3237);
  908.  
  909.                 treesToBank[0] = new RSTile(3090, 3236);
  910.                 treesToBank[1] = new RSTile(3092, 3245);
  911.         }
  912.         else if(command.equals("Port Salim - Willows"))
  913.         {
  914.                 treeType = "willows";
  915.                 tree1 = new RSTile(3062,3263);
  916.                 tree2 = new RSTile(3065,3258);
  917.                 tree3 = new RSTile(3062,3253);
  918.                 tree4 = new RSTile(3058,3251);
  919.                 tree5 = new RSTile(0,0);
  920.                 tree6 = new RSTile(0,0);
  921.                 tree7 = new RSTile(0,0);
  922.  
  923.                 treesToBank = new RSTile [4];
  924.  
  925.                 treesToBank[0] = new RSTile(3059, 3252);
  926.                 treesToBank[1] = new RSTile(3049, 3246);
  927.                 treesToBank[2] = new RSTile(3042, 3240);
  928.                 treesToBank[3] = new RSTile(3047, 3236);
  929.  
  930.                 bankToTrees = walking.reversePath(treesToBank);
  931.  
  932.         }
  933.         else
  934.         {
  935.                 log("Incorrect combination of chop type / location");
  936.         }
  937.         if(treeType.equals("ivy"))
  938.         {
  939.                 ivyIDs.add(46318);
  940.                 ivyIDs.add(46320);
  941.                 ivyIDs.add(46322);
  942.                 ivyIDs.add(46324);
  943.                 stumpIDs.add(46321);
  944.                 stumpIDs.add(46323);
  945.                 stumpIDs.add(46325);
  946.                 stumpIDs.add(46319);
  947.         }
  948.         if(treeType.equals("willows"))
  949.         {
  950.  
  951.                 ivyIDs.add(38616);
  952.                 ivyIDs.add(38627);
  953.                 ivyIDs.add(139);
  954.                 ivyIDs.add(142);
  955.                 ivyIDs.add(2372);
  956.                 stumpIDs.add(5554);
  957.                 stumpIDs.add(38725);
  958.         }
  959.         status = "Finished set up.";
  960. }
  961.         public int floorHeight(){
  962.                 RSNPC testNPC = npcs.getNearest(bankerID);
  963.                 if(testNPC!=null)
  964.                         return 1;
  965.                 else
  966.                         return 0;
  967.         }
  968.         public void checkTrees()
  969. {
  970.         RSObject[] check1 = objects.getAllAt(tree1);
  971.                 for(int i = 0; i< check1.length; i++)
  972.                 {
  973.                     if(check1[i].getID()==stumpID&&tree1Status)
  974.                         {       tree1Status = false;
  975.                                 tree1DeadTime = System.currentTimeMillis();
  976.                                 tree1TimeAlive = -1;
  977.                         }
  978.                         else if(check1[i].getID()==treeID&&!tree1Status)
  979.                         {       tree1Status = true;
  980.                                 tree1AliveTime = System.currentTimeMillis();
  981.                                 tree1TimeDead = -1;
  982.                         }
  983.                         else if(check1[i].getID()==treeID)
  984.                         {       tree1Status = true;
  985.                                 tree1TimeAlive = System.currentTimeMillis()-tree1AliveTime;}
  986.                         else if(check1[i].getID()==stumpID)
  987.                         {       tree1Status = false;
  988.                                 tree1TimeDead = System.currentTimeMillis()-tree1DeadTime;}
  989.                 }
  990.         RSObject[] check2 = objects.getAllAt(tree2);
  991.                 for(int i = 0; i< check2.length; i++)
  992.                 {
  993.                         if(check2[i].getID()==stumpID&&tree2Status)
  994.                         {       tree2Status = false;
  995.                                 tree2DeadTime = System.currentTimeMillis();
  996.                                 tree2TimeAlive = -1;
  997.                         }
  998.                         else if(check2[i].getID()==treeID&&!tree2Status)
  999.                         {       tree2Status = true;
  1000.                                 tree2AliveTime = System.currentTimeMillis();
  1001.                                 tree2TimeDead = -1;
  1002.                         }
  1003.                         else if(check2[i].getID()==treeID)
  1004.                         {       tree2Status = true;
  1005.                                 tree2TimeAlive = System.currentTimeMillis()-tree2AliveTime;}
  1006.                         else if(check2[i].getID()==stumpID)
  1007.                         {       tree2Status = false;
  1008.                                 tree2TimeDead = System.currentTimeMillis()-tree2DeadTime;}
  1009.                 }
  1010.         if(tree3.getX()!=0)
  1011.         {
  1012.         RSObject[] check3 = objects.getAllAt(tree3);
  1013.         {
  1014.                 for(int i = 0; i< check3.length; i++)
  1015.                 {
  1016.                         if(check3[i].getID()==stumpID&&tree3Status)
  1017.                         {       tree3Status = false;
  1018.                                 tree3DeadTime = System.currentTimeMillis();
  1019.                                 tree3TimeAlive = -1;
  1020.                         }
  1021.                         else if(check3[i].getID()==treeID&&!tree3Status)
  1022.                         {       tree3Status = true;
  1023.                                 tree3AliveTime = System.currentTimeMillis();
  1024.                                 tree3TimeDead = -1;
  1025.                         }
  1026.                         else if(check3[i].getID()==treeID)
  1027.                         {       tree3Status = true;
  1028.                                 tree3TimeAlive = System.currentTimeMillis()-tree3AliveTime;}
  1029.                         else if(check3[i].getID()==stumpID)
  1030.                         {       tree3Status = false;
  1031.                                 tree3TimeDead = System.currentTimeMillis()-tree3DeadTime;}
  1032.                 }
  1033.         }
  1034.         }
  1035.         else
  1036.         {
  1037.                 tree3Status=false;
  1038.                 tree3TimeDead = 0;
  1039.                 tree3TimeAlive = 0;
  1040.         }
  1041.         if(tree4.getX()!=0)
  1042.         {
  1043.                 RSObject[] check4 = objects.getAllAt(tree4);
  1044.         {
  1045.                 for(int i = 0; i< check4.length; i++)
  1046.                 {
  1047.                         if(check4[i].getID()==stumpID&&tree4Status)
  1048.                         {       tree4Status = false;
  1049.                                 tree4DeadTime = System.currentTimeMillis();
  1050.                                 tree4TimeAlive = -1;
  1051.                         }
  1052.                         else if(check4[i].getID()==treeID&&!tree4Status)
  1053.                         {       tree4Status = true;
  1054.                                 tree4AliveTime = System.currentTimeMillis();
  1055.                                 tree4TimeDead = -1;
  1056.                         }
  1057.                         else if(check4[i].getID()==treeID)
  1058.                         {       tree4Status = true;
  1059.                                 tree4TimeAlive = System.currentTimeMillis()-tree4AliveTime;}
  1060.                         else if(check4[i].getID()==stumpID)
  1061.                         {       tree4Status = false;
  1062.                                 tree4TimeDead = System.currentTimeMillis()-tree4DeadTime;}
  1063.                 }
  1064.         }
  1065.         }
  1066.         else
  1067.         {
  1068.                 tree4Status=false;
  1069.                 tree4TimeDead = 0;
  1070.                 tree4TimeAlive = 0;
  1071.         }
  1072.         if(tree5.getX()!=0)
  1073.         {
  1074.                 RSObject[] check5 = objects.getAllAt(tree5);
  1075.         {
  1076.                 for(int i = 0; i< check5.length; i++)
  1077.                 {
  1078.                         if(check5[i].getID()==stumpID&&tree5Status)
  1079.                         {       tree5Status = false;
  1080.                                 tree5DeadTime = System.currentTimeMillis();
  1081.                                 tree5TimeAlive = -1;
  1082.                         }
  1083.                         else if(check5[i].getID()==treeID&&!tree5Status)
  1084.                         {       tree5Status = true;
  1085.                                 tree5AliveTime = System.currentTimeMillis();
  1086.                                 tree5TimeDead = -1;
  1087.                         }
  1088.                         else if(check5[i].getID()==treeID)
  1089.                         {       tree5Status = true;
  1090.                                 tree5TimeAlive = System.currentTimeMillis()-tree5AliveTime;}
  1091.                         else if(check5[i].getID()==stumpID)
  1092.                         {       tree5Status = false;
  1093.                                 tree5TimeDead = System.currentTimeMillis()-tree5DeadTime;}
  1094.                 }
  1095.         }
  1096.         }
  1097.         else
  1098.         {
  1099.                 tree5Status=false;
  1100.                 tree5TimeDead = 0;
  1101.                 tree5TimeAlive = 0;
  1102.         }
  1103.         if(tree6.getX()!=0)
  1104.         {
  1105.                 RSObject[] check6 = objects.getAllAt(tree6);
  1106.         {
  1107.                 for(int i = 0; i< check6.length; i++)
  1108.                 {
  1109.                         if(check6[i].getID()==stumpID&&tree6Status)
  1110.                         {       tree6Status = false;
  1111.                                 tree6DeadTime = System.currentTimeMillis();
  1112.                                 tree6TimeAlive = -1;
  1113.                         }
  1114.                         else if(check6[i].getID()==treeID&&!tree6Status)
  1115.                         {       tree6Status = true;
  1116.                                 tree6AliveTime = System.currentTimeMillis();
  1117.                                 tree6TimeDead = -1;
  1118.                         }
  1119.                         else if(check6[i].getID()==treeID)
  1120.                         {       tree6Status = true;
  1121.                                 tree6TimeAlive = System.currentTimeMillis()-tree6AliveTime;}
  1122.                         else if(check6[i].getID()==stumpID)
  1123.                         {       tree6Status = false;
  1124.                                 tree6TimeDead = System.currentTimeMillis()-tree6DeadTime;}
  1125.                 }
  1126.         }
  1127.         }
  1128.         else
  1129.         {
  1130.                 tree6Status=false;
  1131.                 tree6TimeDead = 0;
  1132.                 tree6TimeAlive = 0;
  1133.         }
  1134.         if(tree7.getX()!=0)
  1135.         {
  1136.                 RSObject[] check7 = objects.getAllAt(tree7);
  1137.         {
  1138.                 for(int i = 0; i< check7.length; i++)
  1139.                 {
  1140.                         if(check7[i].getID()==stumpID&&tree7Status)
  1141.                         {       tree7Status = false;
  1142.                                 tree7DeadTime = System.currentTimeMillis();
  1143.                                 tree7TimeAlive = -1;
  1144.                         }
  1145.                         else if(check7[i].getID()==treeID&&!tree7Status)
  1146.                         {       tree7Status = true;
  1147.                                 tree7AliveTime = System.currentTimeMillis();
  1148.                                 tree7TimeDead = -1;
  1149.                         }
  1150.                         else if(check7[i].getID()==treeID)
  1151.                         {       tree7Status = true;
  1152.                                 tree7TimeAlive = System.currentTimeMillis()-tree7AliveTime;}
  1153.                         else if(check7[i].getID()==stumpID)
  1154.                         {       tree7Status = false;
  1155.                                 tree7TimeDead = System.currentTimeMillis()-tree7DeadTime;}
  1156.                 }
  1157.         }
  1158.         }
  1159.         else
  1160.         {
  1161.                 tree7Status=false;
  1162.                 tree7TimeDead = 0;
  1163.                 tree7TimeAlive = 0;
  1164.         }
  1165. }
  1166.         public void checkIvy()
  1167.  {
  1168.         RSObject[] check1 = objects.getAllAt(tree1);
  1169.                 for(int i = 0; i< check1.length; i++)
  1170.                 {
  1171.                     if(stumpIDs.contains(check1[i].getID())&&tree1Status)
  1172.                         {       tree1Status = false;
  1173.                                 tree1DeadTime = System.currentTimeMillis();
  1174.                                 tree1TimeAlive = -1;
  1175.                         }
  1176.                         else if(ivyIDs.contains(check1[i].getID())&&!tree1Status)
  1177.                         {       tree1Status = true;
  1178.                                 tree1AliveTime = System.currentTimeMillis();
  1179.                                 tree1TimeDead = -1;
  1180.                         }
  1181.                         else if(ivyIDs.contains(check1[i].getID()))
  1182.                         {       tree1Status = true;
  1183.                                 tree1TimeAlive = System.currentTimeMillis()-tree1AliveTime;}
  1184.                         else if(stumpIDs.contains(check1[i].getID()))
  1185.                         {       tree1Status = false;
  1186.                                 tree1TimeDead = System.currentTimeMillis()-tree1DeadTime;}
  1187.                 }
  1188.         RSObject[] check2 = objects.getAllAt(tree2);
  1189.                 for(int i = 0; i< check2.length; i++)
  1190.                 {
  1191.                         if(stumpIDs.contains(check2[i].getID())&&tree2Status)
  1192.                         {       tree2Status = false;
  1193.                                 tree2DeadTime = System.currentTimeMillis();
  1194.                                 tree2TimeAlive = -1;
  1195.                         }
  1196.                         else if(ivyIDs.contains(check2[i].getID())&&!tree2Status)
  1197.                         {       tree2Status = true;
  1198.                                 tree2AliveTime = System.currentTimeMillis();
  1199.                                 tree2TimeDead = -1;
  1200.                         }
  1201.                         else if(ivyIDs.contains(check2[i].getID()))
  1202.                         {       tree2Status = true;
  1203.                                 tree2TimeAlive = System.currentTimeMillis()-tree2AliveTime;}
  1204.                         else if(stumpIDs.contains(check2[i].getID()))
  1205.                         {       tree2Status = false;
  1206.                                 tree2TimeDead = System.currentTimeMillis()-tree2DeadTime;}
  1207.                 }
  1208.         if(tree3.getX()!=0)
  1209.         {
  1210.         RSObject[] check3 = objects.getAllAt(tree3);
  1211.         {
  1212.                 for(int i = 0; i< check3.length; i++)
  1213.                 {
  1214.                         if(stumpIDs.contains(check3[i].getID())&&tree3Status)
  1215.                         {       tree3Status = false;
  1216.                                 tree3DeadTime = System.currentTimeMillis();
  1217.                                 tree3TimeAlive = -1;
  1218.                         }
  1219.                         else if(ivyIDs.contains(check3[i].getID())&&!tree3Status)
  1220.                         {       tree3Status = true;
  1221.                                 tree3AliveTime = System.currentTimeMillis();
  1222.                                 tree3TimeDead = -1;
  1223.                         }
  1224.                         else if(ivyIDs.contains(check3[i].getID()))
  1225.                         {       tree3Status = true;
  1226.                                 tree3TimeAlive = System.currentTimeMillis()-tree3AliveTime;}
  1227.                         else if(stumpIDs.contains(check3[i].getID()))
  1228.                         {       tree3Status = false;
  1229.                                 tree3TimeDead = System.currentTimeMillis()-tree3DeadTime;}
  1230.                 }
  1231.         }
  1232.         }
  1233.         else
  1234.         {
  1235.                 tree3Status=false;
  1236.                 tree3TimeDead = 0;
  1237.                 tree3TimeAlive = 0;
  1238.         }
  1239.         if(tree4.getX()!=0)
  1240.         {
  1241.                 RSObject[] check4 = objects.getAllAt(tree4);
  1242.         {
  1243.                 for(int i = 0; i< check4.length; i++)
  1244.                 {
  1245.                         if(stumpIDs.contains(check4[i].getID())&&tree4Status)
  1246.                         {       tree4Status = false;
  1247.                                 tree4DeadTime = System.currentTimeMillis();
  1248.                                 tree4TimeAlive = -1;
  1249.                         }
  1250.                         else if(ivyIDs.contains(check4[i].getID())&&!tree4Status)
  1251.                         {       tree4Status = true;
  1252.                                 tree4AliveTime = System.currentTimeMillis();
  1253.                                 tree4TimeDead = -1;
  1254.                         }
  1255.                         else if(ivyIDs.contains(check4[i].getID()))
  1256.                         {       tree4Status = true;
  1257.                                 tree4TimeAlive = System.currentTimeMillis()-tree4AliveTime;}
  1258.                         else if(stumpIDs.contains(check4[i].getID()))
  1259.                         {       tree4Status = false;
  1260.                                 tree4TimeDead = System.currentTimeMillis()-tree4DeadTime;}
  1261.                 }
  1262.         }
  1263.         }
  1264.         else
  1265.         {
  1266.                 tree4Status=false;
  1267.                 tree4TimeDead = 0;
  1268.                 tree4TimeAlive = 0;
  1269.         }
  1270.         if(tree5.getX()!=0)
  1271.         {
  1272.                 RSObject[] check5 = objects.getAllAt(tree5);
  1273.         {
  1274.                 for(int i = 0; i< check5.length; i++)
  1275.                 {
  1276.                         if(stumpIDs.contains(check5[i].getID())&&tree5Status)
  1277.                         {       tree5Status = false;
  1278.                                 tree5DeadTime = System.currentTimeMillis();
  1279.                                 tree5TimeAlive = -1;
  1280.                         }
  1281.                         else if(ivyIDs.contains(check5[i].getID())&&!tree5Status)
  1282.                         {       tree5Status = true;
  1283.                                 tree5AliveTime = System.currentTimeMillis();
  1284.                                 tree5TimeDead = -1;
  1285.                         }
  1286.                         else if(ivyIDs.contains(check5[i].getID()))
  1287.                         {       tree5Status = true;
  1288.                                 tree5TimeAlive = System.currentTimeMillis()-tree5AliveTime;}
  1289.                         else if(stumpIDs.contains(check5[i].getID()))
  1290.                         {       tree5Status = false;
  1291.                                 tree5TimeDead = System.currentTimeMillis()-tree5DeadTime;}
  1292.                 }
  1293.         }
  1294.         }
  1295.         else
  1296.         {
  1297.                 tree5Status=false;
  1298.                 tree5TimeDead = 0;
  1299.                 tree5TimeAlive = 0;
  1300.         }
  1301.         if(tree6.getX()!=0)
  1302.         {
  1303.                 RSObject[] check6 = objects.getAllAt(tree6);
  1304.         {
  1305.                 for(int i = 0; i< check6.length; i++)
  1306.                 {
  1307.                         if(stumpIDs.contains(check6[i].getID())&&tree6Status)
  1308.                         {       tree6Status = false;
  1309.                                 tree6DeadTime = System.currentTimeMillis();
  1310.                                 tree6TimeAlive = -1;
  1311.                         }
  1312.                         else if(ivyIDs.contains(check6[i].getID())&&!tree6Status)
  1313.                         {       tree6Status = true;
  1314.                                 tree6AliveTime = System.currentTimeMillis();
  1315.                                 tree6TimeDead = -1;
  1316.                         }
  1317.                         else if(ivyIDs.contains(check6[i].getID()))
  1318.                         {       tree6Status = true;
  1319.                                 tree6TimeAlive = System.currentTimeMillis()-tree6AliveTime;}
  1320.                         else if(stumpIDs.contains(check6[i].getID()))
  1321.                         {       tree6Status = false;
  1322.                                 tree6TimeDead = System.currentTimeMillis()-tree6DeadTime;}
  1323.                 }
  1324.         }
  1325.         }
  1326.         else
  1327.         {
  1328.                 tree6Status=false;
  1329.                 tree6TimeDead = 0;
  1330.                 tree6TimeAlive = 0;
  1331.         }
  1332.         if(tree7.getX()!=0)
  1333.         {
  1334.                 RSObject[] check7 = objects.getAllAt(tree7);
  1335.         {
  1336.                 for(int i = 0; i< check7.length; i++)
  1337.                 {
  1338.                         if(stumpIDs.contains(check7[i].getID())&&tree7Status)
  1339.                         {       tree7Status = false;
  1340.                                 tree7DeadTime = System.currentTimeMillis();
  1341.                                 tree7TimeAlive = -1;
  1342.                         }
  1343.                         else if(ivyIDs.contains(check7[i].getID())&&!tree7Status)
  1344.                         {       tree7Status = true;
  1345.                                 tree7AliveTime = System.currentTimeMillis();
  1346.                                 tree7TimeDead = -1;
  1347.                         }
  1348.                         else if(ivyIDs.contains(check7[i].getID()))
  1349.                         {       tree7Status = true;
  1350.                                 tree7TimeAlive = System.currentTimeMillis()-tree7AliveTime;}
  1351.                         else if(stumpIDs.contains(check7[i].getID()))
  1352.                         {       tree7Status = false;
  1353.                                 tree7TimeDead = System.currentTimeMillis()-tree7DeadTime;}
  1354.                 }
  1355.         }
  1356.         }
  1357.         else
  1358.         {
  1359.                 tree7Status=false;
  1360.                 tree7TimeDead = 0;
  1361.                 tree7TimeAlive = 0;
  1362.         }
  1363.  
  1364.  }
  1365.         public void calculateNextTree()
  1366.  {
  1367.         if(!tree7Status&&!tree6Status&&!tree5Status&&!tree4Status&&!tree3Status&&!tree2Status&&!tree1Status)
  1368.  {
  1369.         long num = -2;
  1370.         int index = -1;
  1371.         long [] temp = {tree1TimeDead,tree2TimeDead,tree3TimeDead,tree4TimeDead,tree5TimeDead,tree6TimeDead,tree7TimeDead};
  1372.         for(int i =0; i < temp.length; i++)
  1373.         {
  1374.                 if(temp[i]>=num)
  1375.                 {index = i;
  1376.                 num = temp[i];
  1377.                 }
  1378.         }
  1379.         nextTree = index+1;
  1380.  }
  1381.  else if(nearest){
  1382.         RSTile [] trees = {tree1, tree2, tree3, tree4, tree5, tree6, tree7};
  1383.         int [] distances = new int [7];
  1384.         boolean [] temp = {tree1Status,tree2Status,tree3Status,tree4Status,tree5Status,tree6Status,tree7Status};
  1385.         for(int i = 0; i<temp.length;i++)
  1386.                 if(temp[i])
  1387.                         distances[i] = distanceTo(trees[i]);
  1388.                 else
  1389.                         distances[i] = 500;
  1390.         int min = 500;
  1391.         int index = -1;
  1392.         if(!status.equals("Chopping!")){
  1393.         for(int i =0; i<distances.length;i++)
  1394.                 if(distances[i]<min)
  1395.                 {index = i;
  1396.                 min  = distances[i];
  1397.                 }
  1398.         }
  1399.         else{
  1400.                 min=499;
  1401.                 int index2 = -1;
  1402.                 for(int i =0; i<distances.length;i++){
  1403.                 if(distances[i]<min&&min==499)
  1404.                 {index2 = i;
  1405.                 min  = distances[i];
  1406.                 }
  1407.                 else if(distances[i]<min&&min!=499)
  1408.                 {
  1409.                 index=index2;
  1410.                 index2=i;
  1411.                 }
  1412.                 }
  1413.         }
  1414.         nextTree = index+1;
  1415.  }
  1416.  else{
  1417.         long num = -2;
  1418.         int index = -1;
  1419.         long [] temp = {tree1TimeAlive,tree2TimeAlive,tree3TimeAlive,tree4TimeAlive,tree5TimeAlive,tree6TimeAlive,tree7TimeAlive};
  1420.         if(!status.equals("Chopping!")){
  1421.         for(int i =0; i < temp.length; i++)
  1422.         {
  1423.                 if(temp[i]>=num)
  1424.                 {index = i;
  1425.                 num = temp[i];
  1426.                 }
  1427.         }
  1428.         }
  1429.         else{
  1430.         int index2 = -1;
  1431.         for(int i =0; i < temp.length; i++){
  1432.         if(temp[i]>=num&&num==-2)
  1433.         {
  1434.                 index2 = i;
  1435.                 num = temp[i];
  1436.         }
  1437.         else if(temp[i]>=num)
  1438.         {
  1439.                 index=index2;
  1440.                 index2=i;
  1441.         }
  1442.         }
  1443.         }
  1444.         nextTree = index+1;
  1445.  }
  1446.  }
  1447.         public RSObject getNextTree()
  1448.  {
  1449.         if(!treeType.equals("ivy")&&!treeType.equals("willows"))
  1450.         {
  1451.         RSObject [] temp = new RSObject [10];
  1452.         if(nextTree==1)
  1453.         temp = objects.getAllAt(tree1);
  1454.         if(nextTree==2)
  1455.         temp = objects.getAllAt(tree2);
  1456.         if(nextTree==3)
  1457.         temp = objects.getAllAt(tree3);
  1458.         if(nextTree==4)
  1459.         temp = objects.getAllAt(tree4);
  1460.         if(nextTree==5)
  1461.         temp = objects.getAllAt(tree5);
  1462.         if(nextTree==6)
  1463.         temp = objects.getAllAt(tree6);
  1464.         if(nextTree==7)
  1465.         temp = objects.getAllAt(tree7);
  1466.         for(int i = 0; i<temp.length;i++)
  1467.                 if(temp[i].getID()==treeID)
  1468.                         return temp[i];
  1469.         }
  1470.         else
  1471.         {
  1472.         RSObject [] temp = new RSObject [10];
  1473.         if(nextTree==1)
  1474.         temp = objects.getAllAt(tree1);
  1475.         if(nextTree==2)
  1476.         temp = objects.getAllAt(tree2);
  1477.         if(nextTree==3)
  1478.         temp = objects.getAllAt(tree3);
  1479.         if(nextTree==4)
  1480.         temp = objects.getAllAt(tree4);
  1481.         if(nextTree==5)
  1482.         temp = objects.getAllAt(tree5);
  1483.         if(nextTree==6)
  1484.         temp = objects.getAllAt(tree6);
  1485.         if(nextTree==7)
  1486.         temp = objects.getAllAt(tree7);
  1487.         for(int i = 0; i<temp.length;i++)
  1488.                 if(ivyIDs.contains(temp[i].getID()))
  1489.                         return temp[i];
  1490.         }
  1491.         return null;
  1492.  }
  1493.         public RSTile getMidTile(RSTile tile1, RSTile tile2)
  1494.  {
  1495.         int x1 = tile1.getX();
  1496.         int y1 = tile1.getY();
  1497.         int x2 = tile2.getX();
  1498.         int y2 = tile2.getY();
  1499.  
  1500.         return new RSTile((int)(x1+x2)/2,(int)(y1+y2)/2);
  1501.  }
  1502.         public void moveToNextTree()
  1503.  {
  1504.         status = "Moving to tree: "+nextTree;
  1505.         RSTile [] trees = {tree1,tree2,tree3,tree4,tree5,tree6,tree7};
  1506.         RSTile tileToWalkTo = getMidTile(players.getMyPlayer().getLocation(),trees[nextTree-1]);
  1507.         if(!walking.isRunEnabled()&&walking.getEnergy()>20){
  1508.                 walking.setRun(true);
  1509.                 sleep(random(600,800));
  1510.                 }
  1511.  if(command.equals("South Falador - Yews")||command.equals("Draynor - Yews"))
  1512.  {
  1513.         moveToNextTreeLong();
  1514.  }
  1515.  else if(command.equals("Edgeville - Yews")){
  1516.         if(nextTree == 1&& calc.tileOnMap(tree1))
  1517.         tileToWalkTo = new RSTile(tree1.getX(),tree1.getY()-2);
  1518.         if(nextTree == 2&& calc.tileOnMap(tree2))
  1519.         tileToWalkTo = new RSTile(tree2.getX(),tree2.getY()+2);
  1520.  }
  1521.  else if(command.equals("Grand Exchange - Yews")){
  1522.         if(nextTree == 1&& calc.tileOnMap(tree1))
  1523.         tileToWalkTo = new RSTile(tree1.getX()+2,tree1.getY());
  1524.         if(nextTree == 2&& calc.tileOnMap(tree2))
  1525.         tileToWalkTo = new RSTile(tree2.getX(),tree2.getY());
  1526.         if(nextTree == 3&& calc.tileOnMap(tree3))
  1527.         tileToWalkTo = new RSTile(tree3.getX()-2,tree2.getY());
  1528.  }
  1529.  else if(command.equals("Catherby - Yews")){
  1530.         if(nextTree == 1&& calc.tileOnMap(tree1))
  1531.         tileToWalkTo = new RSTile(tree1.getX(),tree1.getY()-2);
  1532.         if(nextTree == 2&& calc.tileOnMap(tree2))
  1533.         tileToWalkTo = new RSTile(tree2.getX(),tree2.getY()-2);
  1534.         if(nextTree == 3&& calc.tileOnMap(tree3))
  1535.         tileToWalkTo = new RSTile(tree3.getX(),tree3.getY()-2);
  1536.         if(nextTree == 4&& calc.tileOnMap(tree4))
  1537.         tileToWalkTo = new RSTile(tree4.getX(),tree4.getY()-2);
  1538.         if(nextTree == 5&& calc.tileOnMap(tree5))
  1539.         tileToWalkTo = new RSTile(tree5.getX(),tree5.getY()-2);
  1540.         if(nextTree == 6&& calc.tileOnMap(tree6))
  1541.         tileToWalkTo = new RSTile(tree6.getX(),tree6.getY()-2);
  1542.         if(nextTree == 7&& calc.tileOnMap(tree7))
  1543.         tileToWalkTo = new RSTile(tree7.getX(),tree7.getY()-2);
  1544.  }
  1545.   else if(command.equals( "Catherby - Yews")){
  1546.         if(nextTree == 1&& calc.tileOnMap(tree1))
  1547.         tileToWalkTo = new RSTile(tree1.getX(),tree1.getY()+2);
  1548.         if(nextTree == 2&& calc.tileOnMap(tree2))
  1549.         tileToWalkTo = new RSTile(tree2.getX(),tree2.getY()+2);
  1550.         if(nextTree == 3&& calc.tileOnMap(tree3))
  1551.         tileToWalkTo = new RSTile(tree3.getX(),tree3.getY()-2);
  1552.  }
  1553.  else{
  1554.         if(nextTree == 1&& calc.tileOnMap(tree1))
  1555.         tileToWalkTo = tree1;
  1556.         if(nextTree == 2&& calc.tileOnMap(tree2))
  1557.         tileToWalkTo = tree2;
  1558.         if(nextTree == 3&& calc.tileOnMap(tree3))
  1559.         tileToWalkTo = tree3;
  1560.         if(nextTree == 4&& calc.tileOnMap(tree4))
  1561.         tileToWalkTo = tree4;
  1562.         if(nextTree == 5&& calc.tileOnMap(tree5))
  1563.         tileToWalkTo = tree5;
  1564.         if(nextTree == 6&& calc.tileOnMap(tree6))
  1565.         tileToWalkTo = tree6;
  1566.         if(nextTree == 7&& calc.tileOnMap(tree7))
  1567.         tileToWalkTo = tree7;
  1568.  }
  1569.  if(!command.equals("South Falador - Yews")&&!command.equals("Draynor - Yews"))
  1570.  {
  1571.  boolean didClick = false;
  1572.         if(calc.tileOnScreen(tileToWalkTo)&&!command.equals("Mage Training Area - Magics"))
  1573.         {if(walking.walkTileOnScreen(tileToWalkTo))
  1574.                         didClick=true;}
  1575.         else
  1576.                 if(walking.walkTileMM(tileToWalkTo))
  1577.                         didClick= true;
  1578.         if(command.equals("Mage Training Area - Magics")&&didClick)
  1579.                 while(getMyPlayer().isMoving())
  1580.                         sleep(random(600,800));
  1581.         sleep(random(600,800));
  1582.         if(didClick){
  1583.         long start = System.currentTimeMillis();
  1584.         while (!playerIsNear(trees[nextTree-1],4)) {
  1585.         if(System.currentTimeMillis()-start>2000)
  1586.                 break;
  1587.         if(System.currentTimeMillis()-start>random(600,800)&&!getMyPlayer().isMoving())
  1588.                 walking.walkTileMM(tileToWalkTo);
  1589.         sleep(random(100, 200));
  1590.         }
  1591.         if(!playerIsNear(trees[nextTree-1],4)) //try again
  1592.                 walking.walkTileMM(tileToWalkTo);
  1593.         }
  1594.  }
  1595.  }
  1596.         public void moveToNextTreeLong()
  1597.         {
  1598.                 RSTile[] trees = {tree1,tree2,tree3,tree4,tree5,tree6,tree7};
  1599.                 long start = System.currentTimeMillis();
  1600.                 if(location.equals("South Falador")){
  1601.                         RSTile[] p1to3 = { tree1, new RSTile(3007, 3318), tree2, new RSTile(3030, 3321), new RSTile(3038,3321), tree3 };
  1602.                         RSTile[] p3to1 = walking.reversePath(p1to3);
  1603.                         RSTile[] p1to2 = { tree1,new RSTile(3007, 3318), tree2};
  1604.                         RSTile[] p2to1 = walking.reversePath(p1to2);
  1605.                         RSTile[] p2to3 = { tree2,new RSTile(3030, 3321),new RSTile(3038,3321), tree3 };
  1606.                         RSTile[] p3to2 = walking.reversePath(p2to3);
  1607.  
  1608.                         RSTile[][] paths = {p1to3,p3to1,p1to2,p2to1,p2to3,p3to2};
  1609.  
  1610.                         int choice = -1;
  1611.                         if(nextTree ==1 && !atTrees())
  1612.                                 choice = 1;
  1613.                         if(nextTree ==1 && atTrees())
  1614.                                 choice = 3;
  1615.                         else if(nextTree == 2 && playerIsNear(tree3,4))
  1616.                                 choice = 5;
  1617.                         else if(nextTree == 2 && playerIsNear(tree1,4))
  1618.                                 choice = 2;
  1619.                         else if(nextTree == 3)
  1620.                                 choice = 0;
  1621.                         else if(nextTree == 2)
  1622.                                 choice = 2;
  1623.  
  1624.                         if(choice>=0){
  1625.                         status = "Moving to tree: "+nextTree;
  1626.                         int lastTileToWalkTo = -1;
  1627.                         int tempTileToWalkTo = walkPath(paths[choice]);
  1628.                         boolean clickedLastTile = false;
  1629.                         while(!playerIsNear(trees[nextTree-1],4)&&System.currentTimeMillis()-start<20000){
  1630.                                 boolean clicked = false;
  1631.                 tempTileToWalkTo = walkPath(paths[choice]);
  1632.                 if(!clickedLastTile){
  1633.                         if(tempTileToWalkTo>lastTileToWalkTo){
  1634.                         if(calc.tileOnScreen(paths[choice][tempTileToWalkTo])){
  1635.                                 if(!walking.walkTileOnScreen(paths[choice][tempTileToWalkTo]))
  1636.                                         if(walking.walkTileMM(paths[choice][tempTileToWalkTo],1,1))
  1637.                                                 clicked = true;
  1638.                                         else
  1639.                                                 clicked = false;
  1640.                                 else
  1641.                                         clicked = true;
  1642.                         }
  1643.                         else
  1644.                                 clicked = walking.walkTileMM(paths[choice][tempTileToWalkTo],1,1);
  1645.                 }
  1646.  
  1647.  
  1648.                 if(clicked){
  1649.                         lastTileToWalkTo = tempTileToWalkTo;
  1650.                         if(tempTileToWalkTo==paths[choice].length-1)
  1651.                                         {
  1652.                                                 clickedLastTile = true;
  1653.                                         }
  1654.                                 }
  1655.                 }
  1656.                 sleep(random(200, 300));
  1657.                         }
  1658.                         }
  1659.                 }
  1660.            if(location.equals("Draynor")){
  1661.                         RSTile[] p1to2 = {tree1,new RSTile(3149,3244),tree2};
  1662.                         RSTile[] p2to1 = walking.reversePath(p1to2);
  1663.                         RSTile[] p2to3 = {tree2,new RSTile(3161,3222), tree3};
  1664.                         RSTile[] p3to2 = walking.reversePath(p2to3);
  1665.                         RSTile[] p3to4 = {tree3, new RSTile(3176,3224), tree4};
  1666.                         RSTile[] p4to3 = walking.reversePath(p3to4);
  1667.                         RSTile[] p2to4 = {tree2, new RSTile(3162,3227), new RSTile(3171,3227),tree4};
  1668.                         RSTile[] p4to2 = walking.reversePath(p2to4);
  1669.                         RSTile[] p1to3 = {tree1, new RSTile(3151,3248), new RSTile(3153,3241), new RSTile(3161,3228),tree3};
  1670.                         RSTile[] p3to1 = walking.reversePath(p1to3);
  1671.                         RSTile[] p1to4 = {tree1, new RSTile(3156,3244), new RSTile(3165,3235), new RSTile(3175,3229), tree4};
  1672.                         RSTile[] p4to1 = walking.reversePath(p1to4);
  1673.  
  1674.                         RSTile[][] paths = {p1to2,p2to1,p2to3,p3to2,p3to4,p4to3,p2to4,p4to2,p1to3,p3to1,p1to4,p4to1};
  1675.  
  1676.                         int choice = -1;
  1677.                         status = "Moving to tree: "+nextTree;
  1678.                         if(nextTree ==1 && playerIsNear(tree3,6))
  1679.                                 choice = 9;
  1680.                         else if(nextTree == 1 && playerIsNear(tree2,6))
  1681.                                 choice = 1;
  1682.                         else if(nextTree == 2 && playerIsNear(tree3,6))
  1683.                                 choice = 3;
  1684.                         else if(nextTree == 2 && playerIsNear(tree1,6))
  1685.                                 choice = 0;
  1686.                         else if(nextTree == 3 && playerIsNear(tree1,6))
  1687.                                 choice = 8;
  1688.                         else if(nextTree == 3 && playerIsNear(tree2,6))
  1689.                                 choice = 2;
  1690.                         else if(nextTree == 4 && playerIsNear(tree3,6))
  1691.                                 choice = 4;
  1692.                         else if(nextTree == 3 && playerIsNear(tree4,6))
  1693.                                 choice = 5;
  1694.                         else if(nextTree == 4 && playerIsNear(tree2,6))
  1695.                                 choice = 6;
  1696.                         else if(nextTree == 2 && playerIsNear(tree4,6))
  1697.                                 choice = 7;
  1698.                         else if(nextTree == 4 && playerIsNear(tree1,6))
  1699.                                 choice = 10;
  1700.                         else if(nextTree == 1 && playerIsNear(tree4,6))
  1701.                                 choice = 11;
  1702.                         else if(playerIsNear(new RSTile(3149,3237),6))
  1703.                                 choice = 0;
  1704.                         else if(playerIsNear(new RSTile(3161,3222),6))
  1705.                                 choice = 2;
  1706.                         else if(playerIsNear(new RSTile(3176,3224),6))
  1707.                                 choice = 4;
  1708.                         else if(playerIsNear(new RSTile(3171,3227),6)||playerIsNear(new RSTile(3162,3227),6))
  1709.                                 choice = 6;
  1710.                         else if(playerIsNear(new RSTile(3151,3248),6)||playerIsNear(new RSTile(3153,3241),6)||playerIsNear(new RSTile(3161,3228),6))
  1711.                                 choice = 8;
  1712.                         else if(playerIsNear(new RSTile(3156,3240),6)||playerIsNear(new RSTile(3166,3232),6)||playerIsNear(new RSTile(3176,3229),6))
  1713.                                 choice = 10;
  1714.  
  1715.  
  1716.  
  1717.                         if(choice>=0){
  1718.                         int lastTileToWalkTo = -1;
  1719.                         int tempTileToWalkTo = walkPath(paths[choice]);
  1720.                         boolean clickedLastTile = false;
  1721.                         while(!playerIsNear(trees[nextTree-1],4)&&System.currentTimeMillis()-start<20000){
  1722.                                 boolean clicked = false;
  1723.                 tempTileToWalkTo = walkPath(paths[choice]);
  1724.                 if(!clickedLastTile){
  1725.                 if(tempTileToWalkTo>lastTileToWalkTo){
  1726.                         if(calc.tileOnScreen(paths[choice][tempTileToWalkTo])){
  1727.                                 if(!walking.walkTileOnScreen(paths[choice][tempTileToWalkTo]))
  1728.                                         if(walking.walkTileMM(paths[choice][tempTileToWalkTo],1,1))
  1729.                                                 clicked = true;
  1730.                                         else
  1731.                                                 clicked = false;
  1732.                                 else
  1733.                                         clicked = true;
  1734.                         }
  1735.                         else
  1736.                                 clicked = walking.walkTileMM(paths[choice][tempTileToWalkTo],1,1);
  1737.  
  1738.                 }
  1739.                 if(clicked){
  1740.                         lastTileToWalkTo = tempTileToWalkTo;
  1741.                         if(tempTileToWalkTo==paths[choice].length-1)
  1742.                                         {
  1743.                                                 clickedLastTile = true;
  1744.                                         }
  1745.                         }
  1746.                 }
  1747.                 sleep(random(200, 300));
  1748.                         }
  1749.                         }
  1750.            }
  1751.         }
  1752.         public void chop(boolean secondTry)
  1753. {
  1754.         safety = 1;
  1755.         if(!treeType.equals("ivy")){
  1756.         RSObject treeToChop = getNextTree();
  1757.         RSModel m = treeToChop.getModel();
  1758.         Point temp = m.getPoint();
  1759.     mouse.move(temp);
  1760.         }
  1761.         RSTile [] ivys = {tree1,tree2,tree3,tree4,tree5,tree6,tree7};
  1762.  
  1763.  
  1764.         if(!secondTry&&treeType.equals("ivy")){
  1765.  
  1766.         if(command.equals("Castle Wars - Ivy")||command.equals("South Falador - Ivy"))
  1767.         {
  1768.                 camera.setPitch(false);
  1769.                 int tempNum = random(1,2);
  1770.                 if(tempNum==1)
  1771.                 camera.setAngle(random(1,30));
  1772.                 if(tempNum==2)
  1773.                 camera.setAngle(random(340,359));
  1774.         }
  1775.         if(command.equals("Grand Exchange - Ivy")||command.equals("Yanille - Ivy")||command.equals("North Falador - Ivy"))
  1776.         {
  1777.                 camera.setPitch(false);
  1778.                 camera.setAngle(random(170,190));
  1779.         }
  1780.         if(command.equals("Taverly - Ivy")||command.equals("Varrock Palace - Ivy"))
  1781.         {
  1782.                 camera.setPitch(false);
  1783.                 camera.setAngle(random(260,280));
  1784.         }
  1785.         if(command.equals("Ardougne - Ivy"))
  1786.         {
  1787.                 camera.setPitch(false);
  1788.                 camera.setAngle(random(80,100));
  1789.         }
  1790.         }
  1791.  
  1792.         if(treeType.equals("yews"))
  1793.         menu.doAction("Chop down Yew");
  1794.         else if(treeType.equals("magics"))
  1795.         menu.doAction("Chop down Magic tree");
  1796.         else if(treeType.equals("ivy")){
  1797.         Point p = calc.tileToScreen(ivys[nextTree-1]);
  1798.         p.y-=(random(40,80));
  1799.         p.x+=(random(-10,10));
  1800.         mouse.move(p);
  1801.         menu.doAction("Chop Ivy");
  1802.         }
  1803.         else if(treeType.equals("willows"))
  1804.     menu.doAction("Chop down Willow");
  1805.         else if(treeType.equals("maples"))
  1806.         menu.doAction("Chop down Maple tree");
  1807.         else if(treeType.equals("oaks"))
  1808.         menu.doAction("Chop down Oak");
  1809.  
  1810.     sleep(random(600,800));
  1811.         while (players.getMyPlayer().isMoving()) {
  1812.                                                 sleep(random(100, 200));
  1813.         }
  1814.         if(!chopCheck()&&!secondTry)
  1815.                 chop(true);
  1816. }
  1817.         public void hoverMouse(){
  1818.                 if(!players.getMyPlayer().isMoving()){
  1819.                 RSTile [] trees = {tree1,tree2,tree3,tree4,tree5,tree6,tree7};
  1820.                 if(calc.tileOnScreen(trees[nextTree-1])){
  1821.                 Point temp = calc.tileToScreen(trees[nextTree-1]);
  1822.                 try{
  1823.                 if(temp.getY()-50>1)
  1824.                 mouse.move(new Point((int)temp.getX(),(int)temp.getY()-50),1,1);
  1825.                 else
  1826.                 mouse.move(new Point((int)temp.getX(),(int)temp.getY()),1,1);
  1827.                 }catch(Exception e){};
  1828.                 }
  1829.                 }
  1830.         }
  1831.         public boolean atBank(){
  1832.         boolean temp = false;
  1833.         if(command.equals("Grand Exchange - Yews")||command.equals("Grand Exchange - Ivy"))
  1834.         {
  1835.         if(getMyPlayer().getLocation().getX()<3171&&getMyPlayer().getLocation().getX()>=3167)
  1836.                 temp=true;
  1837.         else
  1838.                 return false;
  1839.         if(getMyPlayer().getLocation().getY()>=3486&&getMyPlayer().getLocation().getY()<=3492)
  1840.                 return true;
  1841.         }
  1842.         if(command.equals("Edgeville - Yews"))
  1843.         {
  1844.         if(getMyPlayer().getLocation().getX()<3096&&getMyPlayer().getLocation().getX()>=3091)
  1845.                 temp=true;
  1846.         else
  1847.                 return false;
  1848.         if(getMyPlayer().getLocation().getY()>=3488&&getMyPlayer().getLocation().getY()<=3494)
  1849.                 return true;
  1850.         }
  1851.         if(command.equals("South Falador - Yews")||command.equals("South Falador - Ivy"))
  1852.         {
  1853.         if(getMyPlayer().getLocation().getX()<3016&&getMyPlayer().getLocation().getX()>=3010)
  1854.                 temp=true;
  1855.         else
  1856.                 return false;
  1857.         if(getMyPlayer().getLocation().getY()>=3355&&getMyPlayer().getLocation().getY()<=3359)
  1858.                 return true;
  1859.         }
  1860.         if(command.equals("Rimmington - Yews")||command.equals("Port Salim - Willows")){
  1861.                 return (getMyPlayer().getLocation().getX()>=3045&&getMyPlayer().getLocation().getY()<=3237&&getMyPlayer().getLocation().getY()>=3234);
  1862.         }
  1863.  
  1864.         if(command.equals("Catherby - Yews"))
  1865.         {
  1866.         if(getMyPlayer().getLocation().getX()<=2811&&getMyPlayer().getLocation().getX()>=2807)
  1867.                 temp=true;
  1868.         else
  1869.                 return false;
  1870.         if(getMyPlayer().getLocation().getY()>=3439&&getMyPlayer().getLocation().getY()<=3441)
  1871.                 return true;
  1872.         }
  1873.         if(command.equals("Tree Gnome - Yews"))
  1874.         {
  1875.         if(getMyPlayer().getLocation().getX()<=2446&&getMyPlayer().getLocation().getX()>=2445)
  1876.                 temp=true;
  1877.         else
  1878.                 return false;
  1879.         if(getMyPlayer().getLocation().getY()>=3423&&getMyPlayer().getLocation().getY()<=3428)
  1880.                 return true;
  1881.         }
  1882.         if(location.equals("Seer's Village")||command.equals("Sorcerer's Tower - Magics"))
  1883.         {
  1884.         if(getMyPlayer().getLocation().getX()>=2724&&getMyPlayer().getLocation().getX()<=2728)
  1885.                 temp=true;
  1886.         else
  1887.                 return false;
  1888.         if(getMyPlayer().getLocation().getY()>=3491&&getMyPlayer().getLocation().getY()<=3495)
  1889.                 return true;
  1890.         }
  1891.         if(command.equals("Mage Training Area - Magics"))
  1892.         {
  1893.         return playerIsNear(bankLocation,5);
  1894.         }
  1895.         if(command.equals("Castle Wars - Ivy"))
  1896.         {
  1897.         if(getMyPlayer().getLocation().getX()<2445&&getMyPlayer().getLocation().getX()>=3086)
  1898.                 temp=true;
  1899.         else
  1900.                 return false;
  1901.         if(getMyPlayer().getLocation().getY()>=3083&&getMyPlayer().getLocation().getY()<=3086)
  1902.                 return true;
  1903.         }
  1904.         if(command.equals("Yanille - Ivy"))
  1905.         {
  1906.         if(getMyPlayer().getLocation().getX()<2614&&getMyPlayer().getLocation().getX()>=2611)
  1907.                 temp=true;
  1908.         else
  1909.                 return false;
  1910.         if(getMyPlayer().getLocation().getY()>=3092&&getMyPlayer().getLocation().getY()<=3095)
  1911.                 return true;
  1912.         }
  1913.         if(command.equals("Ardougne - Ivy"))
  1914.         {
  1915.         if(getMyPlayer().getLocation().getX()<2616&&getMyPlayer().getLocation().getX()>=2613)
  1916.                 temp=true;
  1917.         else
  1918.                 return false;
  1919.         if(getMyPlayer().getLocation().getY()>=3332&&getMyPlayer().getLocation().getY()<=3334)
  1920.                 return true;
  1921.         }
  1922.         if(command.equals("Varrock Palace - Ivy"))
  1923.         {
  1924.         if(getMyPlayer().getLocation().getX()<3255&&getMyPlayer().getLocation().getX()>=3250)
  1925.                 temp=true;
  1926.         else
  1927.                 return false;
  1928.         if(getMyPlayer().getLocation().getY()>=3252&&getMyPlayer().getLocation().getY()<=3422)
  1929.                 return true;
  1930.         }
  1931.         if(command.equals("North Falador - Ivy"))
  1932.         {
  1933.         if(getMyPlayer().getLocation().getX()<2948&&getMyPlayer().getLocation().getX()>=2944)
  1934.                 temp=true;
  1935.         else
  1936.                 return false;
  1937.         if(getMyPlayer().getLocation().getY()>=3368&&getMyPlayer().getLocation().getY()<=3371)
  1938.                 return true;
  1939.         }
  1940.         if(location.equals("Draynor"))
  1941.         {
  1942.         if(getMyPlayer().getLocation().getX()<3094&&getMyPlayer().getLocation().getX()>=3092)
  1943.                 temp=true;
  1944.         else
  1945.                 return false;
  1946.         if(getMyPlayer().getLocation().getY()>=3244&&getMyPlayer().getLocation().getY()<=3246)
  1947.                 return true;
  1948.         }
  1949.         return false;
  1950. }
  1951.         public boolean atTrees()
  1952. {
  1953.         boolean temp = false;
  1954.         if(command.equals("Draynor - Oaks"))
  1955.                 return playerIsNear(tree1,4)||playerIsNear(tree2,4);
  1956.         if(command.equals("Grand Exchange - Yews"))
  1957.         {
  1958.         if(getMyPlayer().getLocation().getX()>=3203&&getMyPlayer().getLocation().getX()<=3222)
  1959.                 temp=true;
  1960.         else
  1961.                 return false;
  1962.         if(getMyPlayer().getLocation().getY()>=3500&&getMyPlayer().getLocation().getY()<=3505)
  1963.                 return true;
  1964.         }
  1965.         if(command.equals("Edgeville - Yews"))
  1966.         {
  1967.         if(getMyPlayer().getLocation().getX()<3090&&getMyPlayer().getLocation().getX()>=3085)
  1968.                 temp=true;
  1969.         else
  1970.                 return false;
  1971.         if(getMyPlayer().getLocation().getY()>=3468&&getMyPlayer().getLocation().getY()<=3482)
  1972.                 return true;
  1973.         }
  1974.         if(command.equals("Rimmington - Yews"))
  1975.         {
  1976.         if(getMyPlayer().getLocation().getX()<2946&&getMyPlayer().getLocation().getX()>=2923)
  1977.                 temp=true;
  1978.         else
  1979.                 return false;
  1980.         if(getMyPlayer().getLocation().getY()>=3223&&getMyPlayer().getLocation().getY()<=3242)
  1981.                 return true;
  1982.         }
  1983.         if(command.equals("Catherby - Yews"))
  1984.         {
  1985.         if(getMyPlayer().getLocation().getX()<2769&&getMyPlayer().getLocation().getX()>=2751)
  1986.                 temp=true;
  1987.         else
  1988.                 return false;
  1989.         if(getMyPlayer().getLocation().getY()>=3427&&getMyPlayer().getLocation().getY()<=3438)
  1990.                 return true;
  1991.         }
  1992.         if(command.equals("Seer's Village - Yews"))
  1993.         {
  1994.         if(getMyPlayer().getLocation().getX()<2717&&getMyPlayer().getLocation().getX()>=2712)
  1995.                 temp=true;
  1996.         else
  1997.                 return false;
  1998.         if(getMyPlayer().getLocation().getY()>=3462&&getMyPlayer().getLocation().getY()<=3464)
  1999.                 return true;
  2000.         }
  2001.         if(command.equals("South Falador - Yews"))
  2002.         {
  2003.         if(getMyPlayer().getLocation().getX()<3010&&getMyPlayer().getLocation().getX()>=3004)
  2004.                 temp=true;
  2005.         else
  2006.                 return false;
  2007.         if(getMyPlayer().getLocation().getY()>=3317&&getMyPlayer().getLocation().getY()<=3325)
  2008.                 return true;
  2009.         }
  2010.         if(command.equals("Draynor - Yews"))
  2011.         {
  2012.                 return playerIsNear(tree2,5);
  2013.         }
  2014.         if(command.equals("Tree Gnome - Yews"))
  2015.         {
  2016.                 return floorHeight()==0&&playerIsNear(new RSTile (2444,3434),5);
  2017.         }
  2018.         if(command.equals("Seer's Village - Magics"))
  2019.         {
  2020.         if(getMyPlayer().getLocation().getX()>=2690&&getMyPlayer().getLocation().getX()<=2699)
  2021.                 temp=true;
  2022.         else
  2023.                 return false;
  2024.         if(getMyPlayer().getLocation().getY()>=3422&&getMyPlayer().getLocation().getY()<=3426)
  2025.                 return true;
  2026.         }
  2027.         if(command.equals("Sorcerer's Tower - Magics"))
  2028.         {
  2029.         if(getMyPlayer().getLocation().getX()<=2704&&getMyPlayer().getLocation().getX()>=2700)
  2030.                 temp=true;
  2031.         else
  2032.                 return false;
  2033.         if(getMyPlayer().getLocation().getY()>=3396&&getMyPlayer().getLocation().getY()<=3400)
  2034.                 return true;
  2035.         }
  2036.         if(command.equals("Mage Training Area - Magics"))
  2037.         {
  2038.         if(getMyPlayer().getLocation().getX()<=3365&&getMyPlayer().getLocation().getX()>=3361)
  2039.                 temp=true;
  2040.         else
  2041.                 return false;
  2042.         if(getMyPlayer().getLocation().getY()>=3296&&getMyPlayer().getLocation().getY()<=3300)
  2043.                 return true;
  2044.         }
  2045.         if(command.equals("Castle Wars - Ivy"))
  2046.         {
  2047.         if(getMyPlayer().getLocation().getX()<2431&&getMyPlayer().getLocation().getX()>=2423)
  2048.                 temp=true;
  2049.         else
  2050.                 return false;
  2051.         if(getMyPlayer().getLocation().getY()>=3067&&getMyPlayer().getLocation().getY()<=3068)
  2052.                 return true;
  2053.         }
  2054.         if(command.equals("Grand Exchange - Ivy"))
  2055.         {
  2056.         if(getMyPlayer().getLocation().getX()<3220&&getMyPlayer().getLocation().getX()>=3215)
  2057.                 temp=true;
  2058.         else
  2059.                 return false;
  2060.         if(getMyPlayer().getLocation().getY()>=3498&&getMyPlayer().getLocation().getY()<=3502)
  2061.                 return true;
  2062.         }
  2063.         if(command.equals("Yanille - Ivy"))
  2064.         {
  2065.         if(getMyPlayer().getLocation().getX()<2599&&getMyPlayer().getLocation().getX()>=2594)
  2066.                 temp=true;
  2067.         else
  2068.                 return false;
  2069.         if(getMyPlayer().getLocation().getY()>=3111&&getMyPlayer().getLocation().getY()<=3112)
  2070.                 return true;
  2071.         }
  2072.         if(command.equals("Ardougne - Ivy"))
  2073.         {
  2074.         if(getMyPlayer().getLocation().getX()<2624&&getMyPlayer().getLocation().getX()>=2622)
  2075.                 temp=true;
  2076.         else
  2077.                 return false;
  2078.         if(getMyPlayer().getLocation().getY()>=3304&&getMyPlayer().getLocation().getY()<=3310)
  2079.                 return true;
  2080.         }
  2081.         if(command.equals("Varrock Palace - Ivy"))
  2082.         {
  2083.         if(getMyPlayer().getLocation().getX()<3234&&getMyPlayer().getLocation().getX()>=3232)
  2084.                 temp=true;
  2085.         else
  2086.                 return false;
  2087.         if(getMyPlayer().getLocation().getY()>=3456&&getMyPlayer().getLocation().getY()<=3461)
  2088.                 return true;
  2089.         }
  2090.         if(command.equals("South Falador - Ivy"))
  2091.         {
  2092.         if(getMyPlayer().getLocation().getX()<3053&&getMyPlayer().getLocation().getX()>=3044)
  2093.                 temp=true;
  2094.         else
  2095.                 return false;
  2096.         if(getMyPlayer().getLocation().getY()>=3326&&getMyPlayer().getLocation().getY()<=3328)
  2097.                 return true;
  2098.         }
  2099.         if(command.equals("North Falador - Ivy"))
  2100.         {
  2101.         if(getMyPlayer().getLocation().getX()<3019&&getMyPlayer().getLocation().getX()>=3010)
  2102.                 temp=true;
  2103.         else
  2104.                 return false;
  2105.         if(getMyPlayer().getLocation().getY()>=3392&&getMyPlayer().getLocation().getY()<=3394)
  2106.                 return true;
  2107.         }
  2108.         if(command.equals("Draynor - Willows"))
  2109.         {
  2110.         if(getMyPlayer().getLocation().getX()<3092&&getMyPlayer().getLocation().getX()>=3083)
  2111.                 temp=true;
  2112.         else
  2113.                 return false;
  2114.         if(getMyPlayer().getLocation().getY()>=3233&&getMyPlayer().getLocation().getY()<=3239)
  2115.                 return true;
  2116.         }
  2117.         if(command.equals("Port Salim - Willows"))
  2118.         {
  2119.         if(getMyPlayer().getLocation().getX()<3064&&getMyPlayer().getLocation().getX()>=3056)
  2120.                 temp=true;
  2121.         else
  2122.                 return false;
  2123.         if(getMyPlayer().getLocation().getY()>=3250&&getMyPlayer().getLocation().getY()<=3256)
  2124.                 return true;
  2125.         }
  2126.         if(command.equals("Seer's Village - Maples"))
  2127.         {
  2128.         if(getMyPlayer().getLocation().getX()<2731&&getMyPlayer().getLocation().getX()>=2727)
  2129.                 temp=true;
  2130.         else
  2131.                 return false;
  2132.         if(getMyPlayer().getLocation().getY()>=3499&&getMyPlayer().getLocation().getY()<=3502)
  2133.                 return true;
  2134.         }
  2135.         return false;
  2136. }
  2137.         public void gate()
  2138.    {
  2139.         if(calc.tileToScreen(new RSTile(3348,3279)).x!=-1)
  2140.         {
  2141.                 RSObject gate = getGate();
  2142.                 while(isGateClosed()){
  2143.                         status = "Opening gate.";
  2144.                         walking.walkTileMM(new RSTile(3348,3279),1,1);
  2145.                         RSModel m = gate.getModel();
  2146.                         Point temp = m.getPoint();
  2147.                         mouse.move(temp,1,1);
  2148.                         if(menu.doAction("Open Gate"))
  2149.                         status = "Gate opened.";
  2150.                         sleep(random(1000,1200));
  2151.                 }
  2152.         }
  2153.    }
  2154.         public boolean isGateClosed()
  2155.   {
  2156.                 RSObject [] test = objects.getAllAt(new RSTile(3348,3279));
  2157.                 for(int i = 0; i<test.length;i++)
  2158.                 {
  2159.                         if(test[i].getID()==27852){
  2160.                         return true;
  2161.                         }
  2162.                 }
  2163.                 return false;
  2164.   }
  2165.         public RSObject getGate(){
  2166.                 RSObject [] test = objects.getAllAt(new RSTile(3348,3279));
  2167.                 RSObject gate = null;
  2168.                 for(int i = 0; i<test.length;i++)
  2169.                 {
  2170.                         if(test[i].getID()==27852){
  2171.                         gate = test[i];
  2172.                         }
  2173.                 }
  2174.                 return gate;
  2175.   }
  2176.         public void walkToBank(){
  2177.         long startTime = System.currentTimeMillis();
  2178.         status = "Walking to bank.";
  2179.         if(random(1,3)==2)
  2180.         camera.setPitch(true);
  2181.         int lastTileToWalkTo = -1;
  2182.         int tempTileToWalkTo = 0;
  2183.         boolean clickedLastTile = false;
  2184.         while(!atBank())
  2185.         {
  2186.                 if(!walking.isRunEnabled()&&walking.getEnergy()>20){
  2187.                         walking.setRun(true);
  2188.                         sleep(random(600,800));
  2189.                         }
  2190.         status = "Walking to bank..";
  2191.         if(command.equals("Mage Training Area - Magics"))
  2192.         {
  2193.                 gate();
  2194.         }
  2195.         /*if(command.equals("Rimmington - Yews"))
  2196.         {
  2197.                 if(!getMyPlayer().isMoving()&&(playerIsNear(new RSTile(2933,3236),3)||playerIsNear(tree4,3)))
  2198.                         {walking.walkTileMM(treesToBank[0],1,1);
  2199.                         sleep(random(600,800));
  2200.                         while(getMyPlayer().isMoving())
  2201.                         sleep(random(100,200));}
  2202.         }*/
  2203.         /*if(command.equals("South Falador - Yews"))
  2204.         {
  2205.                 if(playerIsNear(tree3,4))
  2206.                 {
  2207.                 walking.walkTileMM(new RSTile(3030,3321),1,1);
  2208.                 while(calc.tileToMinimap(tree2).getX()==-1){
  2209.                                                 sleep(random(100, 200));
  2210.                 }
  2211.                 walking.walkTileMM(tree2,1,1);
  2212.                 sleep(random(1200,1500));
  2213.                 while (players.getMyPlayer().isMoving()) {
  2214.                                                 sleep(random(100, 200));
  2215.                 }
  2216.                 }
  2217.         }*/
  2218.         if(command.equals("Tree Gnome - Yews"))
  2219.         {
  2220.                 if(floorHeight()==0)
  2221.                 {
  2222.                         if(!playerIsNear(new RSTile(2444,3434),4))
  2223.                         {
  2224.                                 walking.walkTileMM(new RSTile(2444,3434));
  2225.                                 while(getMyPlayer().isMoving())
  2226.                                         sleep(random(100,200));
  2227.                         }
  2228.                         else{
  2229.                         for(int inc = 0; inc<3;inc++){
  2230.                         RSObject stairs = null;
  2231.                         RSObject [] tester = objects.getAllAt(new RSTile(2446,3435));
  2232.                         for(int i = 0; i<tester.length;i++)
  2233.                         {
  2234.                                 if(tester[i].getID()==1742)
  2235.                                         stairs = tester[i];
  2236.                         }
  2237.                         if(stairs!=null){
  2238.                                 RSModel m = stairs.getModel();
  2239.                                 Point toClick = m.getPoint();
  2240.                                 mouse.move(toClick);
  2241.                                 mouse.click(true);
  2242.                                 sleep(random(1000,1500));
  2243.                         }
  2244.                         }
  2245.                         if(floorHeight()==1)
  2246.                                 break;
  2247.                         }
  2248.                 }
  2249.         }
  2250.         if(command.equals("Grand Exchange - Yews")){
  2251.                 if(playerIsNear(tree3,5)){
  2252.                         walking.walkTileMM(tree2);
  2253.                         sleep(random(600,800));
  2254.                 }
  2255.         }
  2256.  
  2257.                 if(!getMyPlayer().isMoving()){
  2258.                         sleep(random(600,800));
  2259.                         if(!getMyPlayer().isMoving())
  2260.                                 lastTileToWalkTo=-1;
  2261.                 }
  2262.                         boolean clicked = false;
  2263.                 tempTileToWalkTo = walkPath(treesToBank);
  2264.                 if(tempTileToWalkTo>lastTileToWalkTo){
  2265.                                 if(walking.walkTileMM(treesToBank[tempTileToWalkTo],1,1))
  2266.                                                 clicked = true;
  2267.                                 sleep(random(400,500));
  2268.                                 if(getMyPlayer().isMoving())
  2269.                                         clicked = true;
  2270.                 }
  2271.                 if(clicked){
  2272.                         lastTileToWalkTo = tempTileToWalkTo;
  2273.                 }
  2274.                 sleep(random(200, 300));
  2275.         }
  2276.         }
  2277.         public boolean compareTiles(RSTile t1, RSTile t2){
  2278.                 return t1.getX()==t2.getX()&&t1.getY()==t2.getY();
  2279.         }
  2280.         public int walkPath(RSTile [] path)
  2281.         {
  2282.                 //if(playerIsNear(path[path.length-2],5))
  2283.                 //      walking.walkTileMM(path[path.length-1],1,1);
  2284.                 //else{
  2285.                 int temp = 0;
  2286.                 boolean nearSomething = false;
  2287.                 for(int i = 0; i<path.length;i++)
  2288.                 {
  2289.                         if(playerIsNear(path[i],5))
  2290.                         {
  2291.                         nearSomething = true;
  2292.                         temp = i+1;
  2293.                         antiBan(random(1,200));
  2294.                         for(int j = i; j<path.length; j++)
  2295.                         {
  2296.                                 if(calc.tileToMinimap(path[j]).x<0)
  2297.                                 {
  2298.                                         temp=j-1;
  2299.                                         break;
  2300.                                 }
  2301.                                 if(j==path.length-1&&calc.tileToMinimap(path[j]).x>0)
  2302.                                 {
  2303.                                         temp=j;
  2304.                                         break;
  2305.                                 }
  2306.                         }
  2307.                         return temp;
  2308.                         }
  2309.                 }
  2310.                 if(!nearSomething){
  2311.                         RSTile tempTileToCompare = walking.nextTile(path);
  2312.                         for(int i = 0; i<path.length;i++)
  2313.                         {
  2314.                                 if(compareTiles(path[i],tempTileToCompare))
  2315.                                         return i;
  2316.                         }
  2317.  
  2318.                 }
  2319.                 return 0;
  2320.         }
  2321.         public RSItem[] getNestLocations()
  2322.         {
  2323.                 RSItem [] inv = inventory.getItems();
  2324.                 int length = 0;
  2325.                 for(int i = 0; i<inv.length;i++)
  2326.                         for(int j = 0; j<BNIDs.length;j++)
  2327.                                 if(inv[i].getID()==BNIDs[j])
  2328.                                         length++;
  2329.                 RSItem [] toReturn  = new RSItem [length];
  2330.                 int index = 0;
  2331.                 for(int i = 0; i<inv.length;i++)
  2332.                         for(int j = 0; j<BNIDs.length;j++)
  2333.                                 if(inv[i].getID()==BNIDs[j])
  2334.                                         toReturn[index++] = inv[i];
  2335.                         return toReturn;
  2336.         }
  2337.         public void bank(boolean npc){
  2338.                 mouse.setSpeed(random(7,8));
  2339.                 if(command.equals("Rimmington - Yews")||command.equals("Port Salim - Willows")){
  2340.                         mouse.setSpeed(random(7,8));
  2341.                         boolean tryAgain = true;
  2342.                         while(inventory.isFull()){
  2343.                                 tryAgain = true;
  2344.                                         while(tryAgain) {
  2345.                                                 status = "Opening bank.";
  2346.                                                 RSObject [] test = objects.getAllAt(new RSTile(3047,3237));
  2347.                                                 RSObject bankBox = null;
  2348.                                                 for(int i = 0; i<test.length;i++)
  2349.                                                         if(test[i].getID()==36788)
  2350.                                                                 bankBox = test[i];
  2351.                                                 RSModel m = bankBox.getModel();
  2352.                                                 Point p = m.getPoint();
  2353.                                                 mouse.move(p,1,1);
  2354.                                                 if(menu.doAction("Deposit Bank deposit box"))
  2355.                                                         tryAgain = false;
  2356.                                         }
  2357.                                 sleep(random(3000,4000));
  2358.         status = "Depositing.";
  2359.         RSItem[] tempArray = getNestLocations();
  2360.         if(tempArray.length!=0)
  2361.         {
  2362.                 for(int i = 0; i < tempArray.length;i++)
  2363.                         tempArray[i].doAction("Deposit Bird's nest");
  2364.         }
  2365.         bank.depositAllExcept(hatchetIDs);
  2366.         }
  2367.  
  2368.     }
  2369.         else    if(npc)
  2370.         {
  2371.         RSNPC banker = npcs.getNearest(bankerID);
  2372.         if(banker!=null)
  2373.     {
  2374.         do{
  2375.         while(!bank.isOpen()) {
  2376.         camera.setAngle(random(1,359));
  2377.         status = "Opening bank.";
  2378.         if(location.equals("Grand Exchange")||location.equals("Draynor")){
  2379.                 mouse.move(banker.getModel().getPoint(),1,1);
  2380.                 mouse.click(false);
  2381.                 menu.doAction("Bank banker");
  2382.                 sleep(random(600,800));
  2383.                 }
  2384.                 if(!bank.isOpen())
  2385.         bank.open();
  2386.         }
  2387.         if(inventory.getCount(hatchetIDs)>0)
  2388.         {status = "Depositing.";
  2389.         RSItem[] tempArray = getNestLocations();
  2390.         if(tempArray.length!=0)
  2391.         {
  2392.                 for(int i = 0; i < tempArray.length;i++)
  2393.                         tempArray[i].doAction("Deposit Bird's nest");
  2394.         }
  2395.         bank.depositAllExcept(hatchetIDs);}
  2396.         else
  2397.         {
  2398.         status = "Depositing All.";
  2399.         bank.depositAll();
  2400.         sleep(random(600,800));
  2401.         antiBan(random(100,200));
  2402.         }
  2403.         } while(inventory.isFull());
  2404.         full = inventory.isFull();
  2405.         bank.close();
  2406.     }
  2407.     else
  2408.     log("Can't find banker.");
  2409.         }
  2410.         else
  2411.         {
  2412.         RSTile banker = bankLocation;
  2413.         if(calc.tileOnScreen(banker))
  2414.         {
  2415.         do{
  2416.                 while(!bank.isOpen()){
  2417.         status = "Opening bank.";
  2418.         mouse.move(calc.tileToScreen(banker));
  2419.         sleep(random(600,800));
  2420.         mouse.click(false);
  2421.         menu.doAction("Bank");
  2422.         sleep(random(1000,2000));
  2423.                 }
  2424.         if(inventory.getCount(hatchetIDs)>0)
  2425.         {status = "Depositing.";
  2426.         RSItem[] tempArray = getNestLocations();
  2427.         if(tempArray.length!=0)
  2428.         {
  2429.                 for(int i = 0; i < tempArray.length;i++)
  2430.                         tempArray[i].doAction("Deposit Bird's nest");
  2431.         }
  2432.         bank.depositAllExcept(hatchetIDs);}
  2433.         else
  2434.         {
  2435.         status = "Depositing All.";
  2436.         bank.depositAll();
  2437.         }
  2438.         sleep(random(1000,2000));
  2439.         } while(inventory.isFull());
  2440.         full = inventory.isFull();
  2441.         }
  2442.         else
  2443.         log("Can't find banker.");
  2444.  }
  2445.  }
  2446.         public void walkToTrees(){
  2447.                 long startTime = System.currentTimeMillis();
  2448.                 status = "Walking to trees.";
  2449.                 int lastTileToWalkTo = -1;
  2450.                 int tempTileToWalkTo = walkPath(bankToTrees);
  2451.                 boolean clickedLastTile = false;
  2452.                 while(!atTrees()){
  2453.                         if(!walking.isRunEnabled()&&walking.getEnergy()>20){
  2454.                                 walking.setRun(true);
  2455.                                 sleep(random(600,800));
  2456.                                 }
  2457.                         status = "Walking to trees.";
  2458.                         if(command.equals("Mage Training Area - Magics")){
  2459.                                 gate();
  2460.                         }
  2461.                         if(command.equals("Tree Gnome - Yews")){
  2462.                                 if(floorHeight()==1){
  2463.                                         if(!playerIsNear(new RSTile(2445,3433),5)){
  2464.                                                 walking.walkTileMM(new RSTile(2445,3433));
  2465.                                                 while(getMyPlayer().isMoving())
  2466.                                                         sleep(random(100,200));
  2467.                                         }
  2468.                                         else{
  2469.                                                 RSObject temp = objects.getNearest(1744);
  2470.                                                 if(temp!=null)
  2471.                                                         mouse.move(temp.getModel().getPoint());
  2472.                                                 mouse.click(true);
  2473.                                                 sleep(random(600,800));
  2474.                                         }
  2475.                                 }
  2476.                         }
  2477.                         if(!getMyPlayer().isMoving()){
  2478.                                 sleep(random(600,800));
  2479.                                 if(!getMyPlayer().isMoving())
  2480.                                                 lastTileToWalkTo=-1;
  2481.                         }
  2482.                         boolean clicked = false;
  2483.                         tempTileToWalkTo = walkPath(bankToTrees);
  2484.                         if(tempTileToWalkTo>lastTileToWalkTo){
  2485.                                 if(walking.walkTileMM(bankToTrees[tempTileToWalkTo],1,1))
  2486.                                         clicked = true;
  2487.                                 sleep(random(400,500));
  2488.                                 if(getMyPlayer().isMoving())
  2489.                                         clicked = true;
  2490.                                 }
  2491.                         if(clicked){
  2492.                                 lastTileToWalkTo = tempTileToWalkTo;
  2493.                         }
  2494.                         sleep(random(200, 300));
  2495.                 }
  2496.         }
  2497.         public void doBank(int num)
  2498. {       if(num==0)
  2499.         {
  2500.         walkToBank();
  2501.         sleep(random(600,800));
  2502.         }
  2503.         if(!command.equals("Castle Wars - Ivy")&&!command.equals("Mage Training Area - Magics"))
  2504.         bank(true);
  2505.         else
  2506.         bank(false);
  2507.         sleep(random(600,800));
  2508.         walkToTrees();
  2509.         sleep(random(600,800));
  2510. }
  2511.         public void serverMessageRecieved(final ServerMessageEvent a){
  2512.     final String serverString = a.getMessage();
  2513.     if (serverString.toLowerCase().contains("you get some yew logs"))
  2514.       yewsCut++;
  2515.     else if (serverString.toLowerCase().contains("you get some magic logs"))
  2516.       magicsCut++;
  2517.     else if(serverString.toLowerCase().contains("your inventory is too full to hold any more logs"))
  2518.       full = true;
  2519.     else if(serverString.toLowerCase().contains("you successfully chop away some ivy"))
  2520.       ivyCut++;
  2521.     else if(serverString.toLowerCase().contains("you get some willow logs"))
  2522.       willowsCut++;
  2523.     else if(serverString.toLowerCase().contains("you get some maple logs"))
  2524.       maplesCut++;
  2525.   }
  2526.         public boolean playerIsNear(RSTile tile, int d)
  2527.         {
  2528.                 return (Math.abs(getMyPlayer().getLocation().getX()-tile.getX())<d&&Math.abs(getMyPlayer().getLocation().getY()-tile.getY())<d);
  2529.         }
  2530.         public boolean checkCurrentVersion()
  2531.         {
  2532.                 try{
  2533.                         URL checkPage = new URL("http://www.conderogascripts.99k.org/CChopVersion.txt");
  2534.                         BufferedReader reader = new BufferedReader(new InputStreamReader(new BufferedInputStream(checkPage.openConnection().getInputStream())));
  2535.                         currentVersion = reader.readLine().trim();
  2536.                         reader.close();
  2537.                 } catch (Exception E){};
  2538.                 if(currentVersion.equals(version))
  2539.                 return true;
  2540.                 else{
  2541.                 for(int i = 0; i<5;i++){
  2542.                 log(Color.RED, "Your version of the script is out of date.");
  2543.                 log(Color.RED, "Please update to version: "+currentVersion);
  2544.                 }
  2545.                 }
  2546.                 return false;
  2547.         }
  2548.         public boolean update()
  2549.         {
  2550.                 try{
  2551.  
  2552.         saveUrl("http://www.conderogascripts.99k.org/CChop.txt","CChop.java");
  2553.  
  2554.  
  2555.         log("Update was successful. The new CChop.java file is wherever your RSBot file is.");
  2556.         log("Copy the file into your RSBot/Scripts/Sources folder, compile, and restart the script.");
  2557.         stopScript();
  2558.         }catch(Exception e){log("Update was unsuccessful."); return false;};
  2559.         return true;
  2560.         }
  2561.         public void saveUrl(String urlString, String filename) throws MalformedURLException, IOException
  2562.     {
  2563.         BufferedInputStream in = null;
  2564.         FileOutputStream fout = null;
  2565.         try
  2566.         {
  2567.                 in = new BufferedInputStream(new URL(urlString).openStream());
  2568.                 fout = new FileOutputStream(filename);
  2569.  
  2570.                 byte data[] = new byte[1024];
  2571.                 int count;
  2572.                 while ((count = in.read(data, 0, 1024)) != -1)
  2573.                 {
  2574.                         fout.write(data, 0, count);
  2575.                 }
  2576.         }
  2577.         finally
  2578.         {
  2579.                 if (in != null)
  2580.                         in.close();
  2581.                 if (fout != null)
  2582.                         fout.close();
  2583.         }
  2584.     }
  2585.     public void mouseExited(MouseEvent e) {
  2586.     }
  2587.     public void mouseEntered(MouseEvent e) {
  2588.     }
  2589.     public void mouseReleased(MouseEvent e) {
  2590.         mouseColor = new Color(51,153,0,255);
  2591.     }
  2592.     public void mousePressed(MouseEvent e) {
  2593.         mouseColor = new Color(255,0,0,100);
  2594.     }
  2595.     public void mouseClicked(MouseEvent e) {
  2596.     p = e.getPoint();
  2597.         if(showPaint && p.getX()>447&&p.getX()<513&& p.getY()>458&&p.getY()<473)
  2598.             showPaint = false;
  2599.         else if(!showPaint && p.getX()>447&&p.getX()<513&& p.getY()>458&&p.getY()<473)
  2600.             showPaint = true;
  2601.         else if(showPaint && fancyPaint && p.getX()>397&&p.getX()<448&& p.getY()>458&&p.getY()<473)
  2602.                 fancyPaint = false;
  2603.         else if(showPaint && !fancyPaint && p.getX()>397&&p.getX()<448&& p.getY()>458&&p.getY()<473)
  2604.                 fancyPaint = true;
  2605.     mouseColor = new Color(255,0,0,100);
  2606.     }
  2607.     public int distanceTo(RSTile test){
  2608.         RSTile myLoc = players.getMyPlayer().getLocation();
  2609.         return (int)Math.pow(Math.pow(test.getY()-myLoc.getY(),2)+Math.pow(test.getX()-myLoc.getX(),2),.5);
  2610.     }
  2611.     public int distanceBetween(RSTile t1, RSTile t2){
  2612.         return (int)Math.pow(Math.pow(t1.getY()-t2.getY(),2)+Math.pow(t1.getX()-t2.getX(),2),.5);
  2613.     }
  2614.     public ArrayList<RSTile> fixPath(ArrayList<RSTile> path){
  2615.         boolean madeSwap = false;
  2616.         do{
  2617.                 madeSwap = false;
  2618.                 for(int i = 0; i<path.size()-1;i++)
  2619.                         if(distanceBetween(path.get(i),path.get(i+1))>7){
  2620.                                 path.add(i+1,getMidTile(path.get(i),path.get(i+1)));
  2621.                                 madeSwap = true;
  2622.                         }
  2623.         }while(madeSwap);
  2624.         return path;
  2625.     }
  2626.     public void getUnstuck(){
  2627.         log("Stuck! Moving to Closest Tree/Bank");
  2628.         RSTile [] trees = {tree1,tree2,tree3,tree4,tree5,tree6,tree7};
  2629.         int [] distances  = new int [8];
  2630.         for(int i = 0;i < 7;i++)
  2631.                 distances[i] = distanceTo(trees[i]);
  2632.         if(treesToBank.length>0)
  2633.                 distances[7] = distanceTo(treesToBank[treesToBank.length-1]);
  2634.         else
  2635.                 distances[7] = 9999;
  2636.         int min = 9998;
  2637.         int minIndex = -1;
  2638.         for(int i = 0; i < distances.length;i++){
  2639.                 if(distances[i]<min){
  2640.                         min = distances[i];
  2641.                         minIndex = i;
  2642.                 }
  2643.         }
  2644.         //log("Moving to: "+minIndex);
  2645.         RSTile toWalkTo = (minIndex==7) ? treesToBank[treesToBank.length-1] : trees[minIndex];
  2646.         ArrayList<RSTile> path = new ArrayList<RSTile>();
  2647.         path.add(getMyPlayer().getLocation());
  2648.         path.add(toWalkTo);
  2649.         path = fixPath(path);
  2650.         RSTile [] toWalk = new RSTile [path.size()];
  2651.         for(int i = 0; i<path.size();i++)
  2652.                 toWalk[i] = path.get(i);
  2653.         //log("Path Length: "+path.size());
  2654.         long start = System.currentTimeMillis();
  2655.         int lastTileToWalkTo = -1;
  2656.                         int tempTileToWalkTo = walkPath(toWalk);
  2657.                         boolean clickedLastTile = false;
  2658.                         while(!playerIsNear(toWalkTo,5)&&System.currentTimeMillis()-start<20000){
  2659.                                 boolean clicked = false;
  2660.                 tempTileToWalkTo = walkPath(toWalk);
  2661.                 if(!clickedLastTile){
  2662.                 if(tempTileToWalkTo>lastTileToWalkTo){
  2663.                         if(calc.tileOnScreen(toWalk[tempTileToWalkTo])){
  2664.                                 if(!walking.walkTileOnScreen(toWalk[tempTileToWalkTo]))
  2665.                                         if(walking.walkTileMM(toWalk[tempTileToWalkTo],1,1))
  2666.                                                 clicked = true;
  2667.                                         else
  2668.                                                 clicked = false;
  2669.                                 else
  2670.                                         clicked = true;
  2671.                         }
  2672.                         else
  2673.                                 clicked = walking.walkTileMM(toWalk[tempTileToWalkTo],1,1);
  2674.  
  2675.                 }
  2676.                 if(clicked){
  2677.                         lastTileToWalkTo = tempTileToWalkTo;
  2678.                         if(tempTileToWalkTo==toWalk.length-1)
  2679.                                         {
  2680.                                                 clickedLastTile = true;
  2681.                                         }
  2682.                         }
  2683.                 }
  2684.                 sleep(random(200, 300));
  2685.                         }
  2686.     }
  2687.     public static int getGEValue(String name, int id){
  2688.         try{
  2689.                 String [] temp = name.split(" ");
  2690.                 String newName = "";
  2691.                 for(int i = 0; i<temp.length; i++)
  2692.                         if(i==temp.length-1)
  2693.                                 newName+=temp[i];
  2694.                         else
  2695.                                 newName+="_"+temp[i];
  2696.                 URL url = new URL("http://services.runescape.com/m=itemdb_rs/"+newName+"/viewitem.ws?obj="+id);
  2697.                 InputStream is = url.openStream();
  2698.                 InputStreamReader isr = new InputStreamReader(is);
  2699.                 BufferedReader br = new BufferedReader(isr);
  2700.                 String line;
  2701.                 String num = "";
  2702.                 while((line=br.readLine())!=null){
  2703.                         if(line.contains("Current guide price:"))
  2704.                          num = line;
  2705.                 }
  2706.                 System.out.println(num);
  2707.                 if(num.length()<29)
  2708.                         return -1;
  2709.                 else{
  2710.                         num = num.substring(28);
  2711.                         num = num.replaceAll(",", "");
  2712.                         return Integer.parseInt(num);
  2713.                 }
  2714.  
  2715.                 }catch(Exception e){
  2716.                         return -1;
  2717.                 }
  2718.                 }
  2719. //LOOP====================================================================================================================
  2720.         public int loop() {
  2721.         try{
  2722.         if(safety<1)
  2723.           {
  2724.                 if(!game.isFixed())
  2725.                         for(int i = 0; i<3;i++)
  2726.                         log("For best results, please set your window mode to 'fixed'.");
  2727.                 setUp();
  2728.                 log("Chopping Command: "+command);
  2729.                 if(treeType.equals("yews")||treeType.equals("magics")||treeType.equals("willows")||treeType.equals("maples")||treeType.equals("oaks"))
  2730.                 {
  2731.                 status = "Looking up GE data.";
  2732.                 log("Looking up log prices...");
  2733.                 if(treeType.equals("yews"))
  2734.                         {
  2735.                                 for(int i = 0; i < 3; i++)
  2736.                                         {yewPrice = getGEValue("Yew logs",1515);
  2737.                                         if(yewPrice!=-1)
  2738.                                                 break;
  2739.                                         }
  2740.                                 log("Yew log price: "+yewPrice);
  2741.                         }
  2742.                 else if(treeType.equals("magics"))
  2743.                         {
  2744.                                 for(int i = 0; i < 3; i++){
  2745.                                         magicPrice = getGEValue("Magic logs",1513);
  2746.                                 if(magicPrice!=-1)
  2747.                                         break;
  2748.                         }
  2749.                                 log("Magic logs price: "+magicPrice);
  2750.                         }
  2751.                 else if(treeType.equals("willows"))
  2752.                         {
  2753.                                 for(int i = 0; i < 3; i++){
  2754.                                         willowPrice = getGEValue("Willow logs",1519);
  2755.                                 if(willowPrice!=-1)
  2756.                                         break;
  2757.                         }
  2758.                                 log("Willow logs price: "+willowPrice);
  2759.                         }
  2760.                 else if(treeType.equals("maples"))
  2761.                         {
  2762.                                 for(int i = 0; i < 3; i++){
  2763.                                         maplePrice = getGEValue("Maple logs",1517);
  2764.                                 if(maplePrice!=-1)
  2765.                                         break;
  2766.                         }
  2767.                                 log("Maple logs price: "+maplePrice);
  2768.                         }
  2769.                 else if(treeType.equals("oaks"))
  2770.                 {
  2771.                         for(int i = 0; i < 3; i++){
  2772.                                 oakPrice = getGEValue("Oak logs",1521);
  2773.                         if(oakPrice!=-1)
  2774.                                         break;
  2775.                 }
  2776.                         log("Oak logs price: "+oakPrice);
  2777.                 }
  2778.                         camera.setPitch(true);
  2779.                 }
  2780.                 else
  2781.                         camera.setPitch(false);
  2782.           safety=1;
  2783.           full = inventory.isFull();
  2784.           if(!full&&atBank())
  2785.                 while(!atTrees())
  2786.                         walkToTrees();
  2787.           if(full&&atBank())
  2788.                 doBank(1);
  2789.           if(full&&atTrees())
  2790.                 doBank(0);
  2791.          }
  2792.  
  2793.           RSTile [] trees = {tree1,tree2,tree3,tree4,tree5,tree6,tree7};
  2794.                   mouse.setSpeed(random(5,8));
  2795.           antiBan(random(1,120));
  2796.           updateStatus();
  2797.                   full = inventory.isFull();
  2798.  
  2799.           if(!full) //NEST PICKUP
  2800.           pickUpNest();
  2801.                   if(full&&!atBank())
  2802.                   {
  2803.                         walkToBank();
  2804.                   }
  2805.                   else if(!full&&atBank()){
  2806.                           walkToTrees();
  2807.                   }
  2808.                   else if(full) //BANK
  2809.                   {
  2810.                         if(!location.equals("Taverly"))
  2811.                         doBank(0);
  2812.                   }
  2813.                   if(status.equals("Chopping!"))
  2814.                   {
  2815.                         if(safety<3)
  2816.                         {hoverMouse();
  2817.                         safety++;
  2818.                         }
  2819.                   }
  2820.           else if(status.equals("Not chopping.")||status.contains("Moving to tree"))
  2821.           {
  2822.                 long tempTimer = System.currentTimeMillis();
  2823.                 while(!getNextTree().isOnScreen()&&System.currentTimeMillis()-tempTimer<5000)
  2824.                 moveToNextTree();
  2825.                 if(!getNextTree().isOnScreen()){
  2826.                   //log("else");
  2827.                   if(!getMyPlayer().isMoving()&&failSafeTimer==0)
  2828.                           failSafeTimer = System.currentTimeMillis();
  2829.                   if(!getMyPlayer().isMoving()&&System.currentTimeMillis()-failSafeTimer>10000){
  2830.                           getUnstuck();
  2831.                           failSafeTimer = 0;
  2832.                   }
  2833.                 }
  2834.                 if(!getMyPlayer().isMoving()&&status.contains("Moving to tree")&&System.currentTimeMillis()-tempTimer>15000)
  2835.                         getUnstuck();
  2836.             chop(false);
  2837.           }
  2838.           else if(status.equals("Waiting."))
  2839.           {
  2840.                 if(safety==3)
  2841.                 {
  2842.                 long tempTimer = System.currentTimeMillis();
  2843.                 while(!playerIsNear(trees[nextTree-1],4))
  2844.                         moveToNextTree();
  2845.                 if(!chopType.equals("ivy"))
  2846.                 camera.turnToTile(trees[nextTree-1]);
  2847.                 camera.setPitch(random(20,50));
  2848.                 }
  2849.                 if(safety<5)
  2850.                         hoverMouse();
  2851.                 safety++;
  2852.           }
  2853.           else{
  2854.  
  2855.           }
  2856.         }
  2857.     catch (Exception e){/*log("Error: "+e);
  2858.         log(e.getMessage()+"");*/}
  2859.     return random(300,500);
  2860.     }
  2861. //LOOP====================================================================================================================
  2862.     public void antiBan(int rand){
  2863.         status += "(AB)";
  2864.         mouse.setSpeed(random(7,8));
  2865.         if(rand==1)
  2866.       if(random(1, 8) == 2)
  2867.             mouse.moveRandomly(900,1200);
  2868.    if(rand==2)
  2869.       if(random(1, 8) == 2)
  2870.             mouse.moveRandomly(400,800);
  2871.    if(rand==3)
  2872.       if(random(1, 8) == 2)
  2873.             mouse.moveRandomly(200,700);
  2874.  
  2875.    if(rand==4) //THIS CHECKS THE WOODCUTTING STAT
  2876.       if(random(1, 12) == 2)
  2877.         {
  2878.             game.openTab(game.TAB_STATS);
  2879.             sleep(random(600,800));
  2880.             mouse.move(random(681, 690), random(365, 370),0,0);
  2881.             sleep(random(1900,2000));
  2882.             game.openTab(game.TAB_INVENTORY);
  2883.         }
  2884.    if(rand==5) //THIS CLICKS THE XP BUTTON UNDER THE COMPASS
  2885.           if(random(1, 12) == 2 && game.isFixed())
  2886.           {
  2887.                 mouse.move(random(527, 540), random(58, 65),0,0);
  2888.                 sleep(random(800,1000));
  2889.                 mouse.click(true);
  2890.                 mouse.moveRandomly(20,50);
  2891.                 sleep(random(1000,1500));
  2892.           }
  2893.    if(takeBreaks)
  2894.    if(rand==6)
  2895.          if(random(1,6)==2){
  2896.                 if(random(1,2)==1)
  2897.                 mouse.moveRandomly(50,75);
  2898.                 breakActive = true;
  2899.                 breakLength = random(5,13);
  2900.                 breakStart = System.currentTimeMillis();
  2901.                 sleep(breakLength*1000);
  2902.                 breakActive = false;
  2903.          }
  2904.           if(rand==7) //RANDOM SPIN
  2905.        if(random(1, 3) == 2)
  2906.        {int r = random(1,2);
  2907.         camera.setAngle(random(1,359));
  2908.         if(r!=1)
  2909.         camera.setPitch(random(1,99));}
  2910.  
  2911.      if(rand==8) //THIS CHECKS A RANDOM TAB
  2912.       if(random(1, 4) == 2)
  2913.         {
  2914.                 int[] tabs = {0,2,3,5,6,7,9,10,11,12,13,14,15};
  2915.             game.openTab(tabs[random(0,tabs.length-1)]);
  2916.             mouse.moveRandomly(175,200);
  2917.             sleep(random(1600,1800));
  2918.             sleep(random(900,1000));
  2919.  
  2920.         }
  2921.      if(rand==9)
  2922.         if(random(1,10)==2)
  2923.         mouse.moveOffScreen();
  2924.      status=status.substring(0,status.indexOf('('));
  2925.  
  2926. }
  2927.     public void onRepaint(Graphics g)
  2928.     {
  2929.         if(game.isLoggedIn())
  2930.          {
  2931.                 try{
  2932.                 if(breakActive){
  2933.                         g.setColor(new Color(0,0,0,100));
  2934.                         g.fillRect(0,0,764,501);
  2935.                         g.setColor(new Color(255,0,0));
  2936.                         long timeLeft = (breakLength*1000)-(System.currentTimeMillis()-breakStart);
  2937.                         long secondsLeft=timeLeft/1000;
  2938.                         timeLeft-=secondsLeft*1000;
  2939.                         String toOutput = "";
  2940.                         if(timeLeft<10)
  2941.                                 toOutput = "00"+timeLeft;
  2942.                         else if(timeLeft<100)
  2943.                                 toOutput = "0"+timeLeft;
  2944.                         else
  2945.                                 toOutput = ""+timeLeft;
  2946.  
  2947.                         timeLeft-=secondsLeft*1000;
  2948.                         g.drawString("Script will resume in: "+secondsLeft+":"+toOutput,50,200);
  2949.                 }
  2950.                 if(!treeType.equals("ivy")&&!treeType.equals(".")&&!treeType.equals("willows"))
  2951.                         checkTrees();
  2952.                 else
  2953.                         checkIvy();
  2954.                 calculateNextTree();
  2955.                 if(startExp==0)
  2956.                         {
  2957.                         startExp = skills.getCurrentExp(skills.getIndex("woodcutting"));
  2958.                         startLevel = skills.getCurrentLevel(skills.getIndex("woodcutting"));
  2959.                         }
  2960.                 lvlsGained = skills.getCurrentLevel(skills.getIndex("woodcutting")) - startLevel;
  2961.                 expGained =  skills.getCurrentExp(skills.getIndex("woodcutting")) - startExp;
  2962.                         long expToLvl = skills.getExpToNextLevel(skills.getIndex("woodcutting"));
  2963.                 //setting up the time
  2964.                 long ms = System.currentTimeMillis() - startTime;
  2965.                 double ms2 = System.currentTimeMillis() - startTimeDbl;
  2966.                 long hours = ms/3600000;
  2967.                 ms = ms-(hours*3600000);
  2968.                 long minutes = ms/60000;
  2969.                 ms = ms-(minutes*60000);
  2970.                 long seconds =  ms/1000;
  2971.                 long time2Lvl = 0;
  2972.                 long time2LvlHrs = 0;
  2973.                         long time2LvlMins = 0;
  2974.                 long time2LvlSec = 0;
  2975.                 if(ms2!=0&&expGained!=0){
  2976.                 time2Lvl = (long)(expToLvl/(expGained/(ms2/3600000))*3600000);
  2977.                 time2LvlHrs = time2Lvl/3600000;
  2978.                 time2Lvl -= time2LvlHrs*3600000;
  2979.                 time2LvlMins = time2Lvl/60000;
  2980.                 time2Lvl -= time2LvlMins*60000;
  2981.                         time2LvlSec = time2Lvl/1000;
  2982.                         }
  2983.                         yewsCut = expGained/175;
  2984.                         magicsCut = expGained/250;
  2985.                         ivyCut = (int)((expGained+1)/332.5);
  2986.                         willowsCut = (int)((expGained+1)/67.5);
  2987.                         maplesCut = expGained/100;
  2988.                         oaksCut = (int)((expGained+1)/37.5);
  2989.  
  2990.                 if(fancyPaint)
  2991.                 {
  2992.                                         if(showPaint){
  2993.                                 onRepaint2(g,true);
  2994.  
  2995.                 //Text Color and Output
  2996.                 g.setColor(new Color(0,0,0,255));
  2997.                 g.setFont(new Font("Comic Sans MS", Font.PLAIN, 12));
  2998.                 g.drawString("  "+version,450,360);
  2999.                 g.setFont(new Font("Comic Sans MS", Font.PLAIN, 11));
  3000.                 g.drawString("Levels Gained: "+lvlsGained,16,40);
  3001.                 if(treeType.equals("yews"))
  3002.                 g.drawString("Yews Chopped: "+yewsCut,395,22);
  3003.                 else if(treeType.equals("magics"))
  3004.                 g.drawString("Magics Chopped: "+magicsCut,395,22);
  3005.                 else if(treeType.equals("ivy"))
  3006.                 g.drawString("Ivy Chopped: "+ivyCut,395,22);
  3007.                 else if(treeType.equals("willows"))
  3008.                 g.drawString("Willows Chopped: "+willowsCut,395,22);
  3009.                 else if(treeType.equals("maples"))
  3010.                 g.drawString("Maples Chopped: "+maplesCut,395,22);
  3011.                 else if(treeType.equals("oaks"))
  3012.                 g.drawString("Oaks Chopped: "+oaksCut,395,22);
  3013.                 g.drawString("Exp Gained: "+expGained,16,55);
  3014.                 g.drawString("Time Running: "+hours+":"+minutes+":"+seconds,16,97);
  3015.  
  3016.                         //Determine Length:
  3017.                         double difference = skills.XP_TABLE[skills.getCurrentLevel(skills.getIndex("woodcutting"))+1]-skills.XP_TABLE[skills.getCurrentLevel(skills.getIndex("woodcutting"))];
  3018.                         double barLength = ((difference-expToLvl)/difference)*512;
  3019.  
  3020.                           //Progress Bar
  3021.                         g.setColor(new Color(255,0,0,255));
  3022.                 g.fillRoundRect(4,320,512,18,8,8); //Bar background
  3023.                 g.setColor(new Color(51,153,0,255)); //GREEN
  3024.                 g.fillRoundRect(4,320,(int)barLength,18,4,4);
  3025.                 g.setColor(new Color(0,0,0,255));
  3026.                 g.drawString(skills.getPercentToNextLevel(skills.getIndex("woodcutting"))+"% to: "+(skills.getCurrentLevel(skills.getIndex("woodcutting"))+1)+" ("+expToLvl+" exp)",215,334);
  3027.                 g.setColor(new Color(255,255,255,100));
  3028.                 g.fillRoundRect(4,320,512,9,4,4);
  3029.  
  3030.  
  3031.                 if(ms2!=0)
  3032.                         g.setColor(new Color(0,0,0,255));
  3033.                 g.drawString("Exp/Hr: "+(int)(expGained/(ms2/3600000)),16,69);
  3034.                 g.drawString("Status: "+status,16,22);
  3035.  
  3036.                 if(treeType.equals("yews"))
  3037.                         {
  3038.                         g.drawString("Money Gained: "+yewPrice*yewsCut,154,22);
  3039.                         if(ms2!=0)
  3040.                                 g.drawString("Money/Hr: "+(int)((yewPrice*yewsCut)/(ms2/3600000)),289,22);
  3041.                         }
  3042.                 else if(treeType.equals("magics"))
  3043.                         {
  3044.                         g.drawString("Money Gained: "+magicPrice*magicsCut,154,22);
  3045.                         if(ms2!=0)
  3046.                                         g.drawString("Money/Hr: "+(int)((magicPrice*magicsCut)/(ms2/3600000)),289,22);
  3047.                         }
  3048.                 else if(treeType.equals("ivy"))
  3049.                 {
  3050.                         g.drawString("Nests Collected: "+nests,154,22);
  3051.                         if(ms2!=0)
  3052.                                 g.drawString("Nests/Hr: "+(int)(nests/(ms2/3600000)),289,22);
  3053.                         }
  3054.                 else if(treeType.equals("willows"))
  3055.                 {
  3056.                         g.drawString("Money Gained: "+willowPrice*willowsCut,154,22);
  3057.                      if(ms2!=0)
  3058.                         g.drawString("Money/Hr: "+(int)((willowPrice*willowsCut)/(ms2/3600000)),289,22);
  3059.                 }
  3060.                 else if(treeType.equals("maples"))
  3061.                 {
  3062.                    g.drawString("Money Gained: "+maplePrice*maplesCut,154,22);
  3063.                    if(ms2!=0)
  3064.                            g.drawString("Money/Hr: "+(int)((maplePrice*maplesCut)/(ms2/3600000)),289,22);
  3065.                 }
  3066.                 else if(treeType.equals("oaks"))
  3067.                 {
  3068.                    g.drawString("Money Gained: "+oakPrice*oaksCut,154,22);
  3069.                    if(ms2!=0)
  3070.                            g.drawString("Money/Hr: "+(int)((oakPrice*oaksCut)/(ms2/3600000)),289,22);
  3071.                 }
  3072.                 g.drawString("Est. Time to Lvl: "+time2LvlHrs+":"+time2LvlMins+":"+time2LvlSec,16,83);
  3073.                 //Mouse Stuff
  3074.                    Point tempPoint = mouse.getLocation();
  3075.                    int tempXCoordinate = (int)tempPoint.getX();
  3076.                    int tempYCoordinate = (int)tempPoint.getY();
  3077.                    g.setColor(mouseColor);
  3078.                            g.drawLine(tempXCoordinate,0,tempXCoordinate,501);
  3079.                            g.drawLine(0,tempYCoordinate,764,tempYCoordinate);
  3080.                            g.fillRect(tempXCoordinate-1,tempYCoordinate-1,3,3);
  3081.                            Color tempColor = new Color(255,0,0,100);
  3082.                            if(mouseColor.equals(tempColor))
  3083.                                 mouseColor=new Color(51,153,0,255);
  3084.                 //Stump time drawing
  3085.        g.setColor(Color.GREEN);
  3086.        stump1 = calc.tileToScreen(tree1);
  3087.        stump2 = calc.tileToScreen(tree2);
  3088.        stump3 = calc.tileToScreen(tree3);
  3089.        stump4 = calc.tileToScreen(tree4);
  3090.        stump5 = calc.tileToScreen(tree5);
  3091.        stump6 = calc.tileToScreen(tree6);
  3092.        stump7 = calc.tileToScreen(tree7);
  3093.        //ALIVE TREES
  3094.        if(tree1Status&&tree1AliveTime!=0)
  3095.        g.drawString((int)(tree1TimeAlive/1000)+"s",(int)stump1.getX(),(int)stump1.getY());
  3096.        if(tree2Status&&tree2AliveTime!=0)
  3097.        g.drawString((int)(tree2TimeAlive/1000)+"s",(int)stump2.getX(),(int)stump2.getY());
  3098.        if(tree3Status&&tree3AliveTime!=0)
  3099.        g.drawString((int)(tree3TimeAlive/1000)+"s",(int)stump3.getX(),(int)stump3.getY());
  3100.        if(tree4Status&&tree4AliveTime!=0)
  3101.        g.drawString((int)(tree4TimeAlive/1000)+"s",(int)stump4.getX(),(int)stump4.getY());
  3102.        if(tree5Status&&tree5AliveTime!=0)
  3103.        g.drawString((int)(tree5TimeAlive/1000)+"s",(int)stump5.getX(),(int)stump5.getY());
  3104.        if(tree6Status&&tree6AliveTime!=0)
  3105.        g.drawString((int)(tree6TimeAlive/1000)+"s",(int)stump6.getX(),(int)stump6.getY());
  3106.        if(tree7Status&&tree7AliveTime!=0)
  3107.        g.drawString((int)(tree7TimeAlive/1000)+"s",(int)stump7.getX(),(int)stump7.getY());
  3108.        //DEAD TREES
  3109.        g.setColor(Color.MAGENTA);
  3110.        if(!tree1Status&&tree1DeadTime!=0)
  3111.        g.drawString((int)(tree1TimeDead/1000)+"s",(int)stump1.getX(),(int)stump1.getY());
  3112.        if(!tree2Status&&tree2DeadTime!=0)
  3113.        g.drawString((int)(tree2TimeDead/1000)+"s",(int)stump2.getX(),(int)stump2.getY());
  3114.        if(!tree3Status&&tree3DeadTime!=0)
  3115.        g.drawString((int)(tree3TimeDead/1000)+"s",(int)stump3.getX(),(int)stump3.getY());
  3116.        if(!tree4Status&&tree4DeadTime!=0)
  3117.        g.drawString((int)(tree4TimeDead/1000)+"s",(int)stump4.getX(),(int)stump4.getY());
  3118.        if(!tree5Status&&tree5DeadTime!=0)
  3119.        g.drawString((int)(tree5TimeDead/1000)+"s",(int)stump5.getX(),(int)stump5.getY());
  3120.        if(!tree6Status&&tree6DeadTime!=0)
  3121.        g.drawString((int)(tree6TimeDead/1000)+"s",(int)stump6.getX(),(int)stump6.getY());
  3122.        if(!tree7Status&&tree7DeadTime!=0)
  3123.        g.drawString((int)(tree7TimeDead/1000)+"s",(int)stump7.getX(),(int)stump7.getY());
  3124.                                         }
  3125.                 else
  3126.                 {
  3127.                 g.setColor(new Color(51,153,0,255));
  3128.                 g.fillRect(448,459,(512-448),(472-459));
  3129.                 g.setColor(new Color(0,0,0,255));
  3130.                 g.drawRect(448,459,(512-448),(472-459));
  3131.                 g.drawString("Hide/Show",450,470);
  3132.                 }
  3133.  
  3134.        }
  3135.        else
  3136.        {
  3137.         if(showPaint){
  3138.         onRepaint2(g,false);
  3139.         g.setColor(new Color(0, 0, 0, 205));
  3140.         g.fillRoundRect(333, 160, 181, 179, 6, 6);
  3141.         g.setColor(new Color(255,0,0,255));
  3142.         g.setFont(new Font("Comic Sans MS", Font.PLAIN, 12));
  3143.         g.drawString("Conderoga's Chopper "+version,338,177);
  3144.         g.setFont(new Font("Comic Sans MS", Font.PLAIN, 11));
  3145.         g.drawString("Levels Gained: "+lvlsGained,344,192);
  3146.         if(treeType.equals("yews"))
  3147.         g.drawString("Yews Chopped: "+yewsCut,344,207);
  3148.         else if(treeType.equals("magics"))
  3149.         g.drawString("Magics Chopped: "+magicsCut,344,207);
  3150.         else if(treeType.equals("ivy"))
  3151.         g.drawString("Ivy Chopped: "+ivyCut,344,207);
  3152.         else if(treeType.equals("willows"))
  3153.         g.drawString("Willows Chopped: "+willowsCut,344,207);
  3154.         else if(treeType.equals("maples"))
  3155.         g.drawString("Maples Chopped: "+maplesCut,344,207);
  3156.         else if(treeType.equals("oaks"))
  3157.         g.drawString("Oaks Chopped: "+oaksCut,344,207);
  3158.         g.drawString("Exp Gained: "+expGained,344,222);
  3159.         g.drawString("Time Running: "+hours+":"+minutes+":"+seconds,344, 237);
  3160.  
  3161.         //Progress Bar
  3162.  
  3163.         g.setColor(new Color(255,0,0,255));
  3164.         g.fillRoundRect(344,241,150,20,8,8); //Bar background
  3165.         g.setColor(new Color(0,255,0,255)); //GREEN
  3166.         g.fillRoundRect(344,241,(int)(skills.getPercentToNextLevel(skills.getIndex("woodcutting"))*1.5),20,8,8);
  3167.         g.setColor(new Color(255,255,255,100));
  3168.         g.drawString(skills.getPercentToNextLevel(skills.getIndex("woodcutting"))+"% to: "+(skills.getCurrentLevel(skills.getIndex("woodcutting"))+1)+" ("+expToLvl+" exp)",348,256);
  3169.         g.fillRoundRect(345,251,148,10,8,8);
  3170.         g.setColor(new Color(0,0,0,255));
  3171.         g.drawString(skills.getPercentToNextLevel(skills.getIndex("woodcutting"))+"% to: "+(skills.getCurrentLevel(skills.getIndex("woodcutting"))+1)+" ("+expToLvl+" exp)",347,255);
  3172.         g.setColor(new Color(255,0,0,255));
  3173.         if(ms2!=0)
  3174.          g.drawString("Exp/Hr: "+(int)(expGained/(ms2/3600000)),344,274);
  3175.      g.drawString("Status: "+status,344,289);
  3176.  
  3177.      if(treeType.equals("yews"))
  3178.         {
  3179.         g.drawString("Money Gained: "+yewPrice*yewsCut,344,304);
  3180.         if(ms2!=0)
  3181.                 g.drawString("Money/Hr: "+(int)((yewPrice*yewsCut)/(ms2/3600000)),344,319);
  3182.         }
  3183.      else if(treeType.equals("magics"))
  3184.         {
  3185.         g.drawString("Money Gained: "+magicPrice*magicsCut,344,304);
  3186.         if(ms2!=0)
  3187.                 g.drawString("Money/Hr: "+(int)((magicPrice*magicsCut)/(ms2/3600000)),344,319);
  3188.         }
  3189.      else if(treeType.equals("ivy"))
  3190.      {
  3191.         g.drawString("Nests Collected: "+nests,344,304);
  3192.         if(ms2!=0)
  3193.                 g.drawString("Nests/Hr: "+(int)(nests/(ms2/3600000)),344,319);
  3194.      }
  3195.      else if(treeType.equals("willows"))
  3196.      {
  3197.         g.drawString("Money Gained: "+willowPrice*willowsCut,344,304);
  3198.         if(ms2!=0)
  3199.                 g.drawString("Money/Hr: "+(int)((willowPrice*willowsCut)/(ms2/3600000)),344,319);
  3200.      }
  3201.      else if(treeType.equals("maples"))
  3202.      {
  3203.         g.drawString("Money Gained: "+maplePrice*maplesCut,344,304);
  3204.         if(ms2!=0)
  3205.                 g.drawString("Money/Hr: "+(int)((maplePrice*maplesCut)/(ms2/3600000)),344,319);
  3206.      }
  3207.      else if(treeType.equals("oaks"))
  3208.      {
  3209.         g.drawString("Money Gained: "+oakPrice*oaksCut,344,304);
  3210.         if(ms2!=0)
  3211.                 g.drawString("Money/Hr: "+(int)((oakPrice*oaksCut)/(ms2/3600000)),344,319);
  3212.      }
  3213.      g.drawString("Est. Time to Lvl: "+time2LvlHrs+":"+time2LvlMins+":"+time2LvlSec,344,334);
  3214.      //Mouse Stuff
  3215.         Point tempPoint = mouse.getLocation();
  3216.         int tempXCoordinate = (int)tempPoint.getX();
  3217.         int tempYCoordinate = (int)tempPoint.getY();
  3218.         g.setColor(new Color(0,255,0,100));
  3219.                 g.drawLine(tempXCoordinate,0,tempXCoordinate,501);
  3220.                 g.drawLine(0,tempYCoordinate,764,tempYCoordinate);
  3221.        //Stump time drawing
  3222.        g.setColor(Color.GREEN);
  3223.        stump1 = calc.tileToScreen(tree1);
  3224.        stump2 = calc.tileToScreen(tree2);
  3225.        stump3 = calc.tileToScreen(tree3);
  3226.        stump4 = calc.tileToScreen(tree4);
  3227.        stump5 = calc.tileToScreen(tree5);
  3228.        stump6 = calc.tileToScreen(tree6);
  3229.        stump7 = calc.tileToScreen(tree7);
  3230.        //ALIVE TREES
  3231.        if(tree1Status&&tree1AliveTime!=0)
  3232.        g.drawString((int)(tree1TimeAlive/1000)+"s",(int)stump1.getX(),(int)stump1.getY());
  3233.        if(tree2Status&&tree2AliveTime!=0)
  3234.        g.drawString((int)(tree2TimeAlive/1000)+"s",(int)stump2.getX(),(int)stump2.getY());
  3235.        if(tree3Status&&tree3AliveTime!=0)
  3236.        g.drawString((int)(tree3TimeAlive/1000)+"s",(int)stump3.getX(),(int)stump3.getY());
  3237.        if(tree4Status&&tree4AliveTime!=0)
  3238.        g.drawString((int)(tree4TimeAlive/1000)+"s",(int)stump4.getX(),(int)stump4.getY());
  3239.        if(tree5Status&&tree5AliveTime!=0)
  3240.        g.drawString((int)(tree5TimeAlive/1000)+"s",(int)stump5.getX(),(int)stump5.getY());
  3241.        if(tree6Status&&tree6AliveTime!=0)
  3242.        g.drawString((int)(tree6TimeAlive/1000)+"s",(int)stump6.getX(),(int)stump6.getY());
  3243.        if(tree7Status&&tree7AliveTime!=0)
  3244.        g.drawString((int)(tree7TimeAlive/1000)+"s",(int)stump7.getX(),(int)stump7.getY());
  3245.        //DEAD TREES
  3246.        g.setColor(Color.MAGENTA);
  3247.        if(!tree1Status&&tree1DeadTime!=0)
  3248.        g.drawString((int)(tree1TimeDead/1000)+"s",(int)stump1.getX(),(int)stump1.getY());
  3249.        if(!tree2Status&&tree2DeadTime!=0)
  3250.        g.drawString((int)(tree2TimeDead/1000)+"s",(int)stump2.getX(),(int)stump2.getY());
  3251.        if(!tree3Status&&tree3DeadTime!=0)
  3252.        g.drawString((int)(tree3TimeDead/1000)+"s",(int)stump3.getX(),(int)stump3.getY());
  3253.        if(!tree4Status&&tree4DeadTime!=0)
  3254.        g.drawString((int)(tree4TimeDead/1000)+"s",(int)stump4.getX(),(int)stump4.getY());
  3255.        if(!tree5Status&&tree5DeadTime!=0)
  3256.        g.drawString((int)(tree5TimeDead/1000)+"s",(int)stump5.getX(),(int)stump5.getY());
  3257.        if(!tree6Status&&tree6DeadTime!=0)
  3258.        g.drawString((int)(tree6TimeDead/1000)+"s",(int)stump6.getX(),(int)stump6.getY());
  3259.        if(!tree7Status&&tree7DeadTime!=0)
  3260.        g.drawString((int)(tree7TimeDead/1000)+"s",(int)stump7.getX(),(int)stump7.getY());
  3261.  
  3262.         }
  3263.         else
  3264.         {
  3265.         g.setColor(new Color(51,153,0,255));
  3266.                 g.fillRect(448,459,(512-448),(472-459));
  3267.                 g.setColor(new Color(0,0,0,255));
  3268.                 g.drawRect(448,459,(512-448),(472-459));
  3269.                 g.drawString("Hide/Show",450,470);
  3270.         }
  3271.        }
  3272.        }catch (Exception e){};
  3273.     }
  3274.     }
  3275.         private Image getImage(String url) {
  3276.         try {
  3277.             return ImageIO.read(new URL(url));
  3278.         } catch(IOException e) {
  3279.             return null;
  3280.         }
  3281.     }
  3282.     private final Color color1 = new Color(1, 1, 1);
  3283.     private final Font font1 = new Font("Arial", 0, 12);
  3284.     public void onRepaint2(Graphics g1 , boolean fancy) {
  3285.         Graphics2D g = (Graphics2D)g1;
  3286.         if(fancy){
  3287.         g.drawImage(img1, 342, 350, null);
  3288.         g.drawImage(img2, 5, 6, null);
  3289.         g.drawImage(img4, 5, 29, null);
  3290.         }
  3291.         g.setColor(new Color(51,153,0,255));
  3292.                 g.fillRect(448,459,(512-448),(472-459));
  3293.                 g.fillRect(398,459,(448-398),(472-459));
  3294.                 g.setColor(new Color(0,0,0,255));
  3295.                 g.drawRect(448,459,(512-448),(472-459));
  3296.                 g.drawRect(398,459,(448-398),(472-459));
  3297.                 g.drawString("Hide/Show",450,470);
  3298.                 if(fancy)
  3299.                 g.drawString("Simple",405,470);
  3300.                 else
  3301.                 g.drawString("Adv.",415,470);
  3302.                 }
  3303.     public void onFinish() {
  3304.         log("Exp gained: "+expGained);
  3305.         log("Levels gained: "+lvlsGained);
  3306.         log("Thanks for using Conderoga's Chopper!");
  3307.     }
  3308.         public void openURL(final String url) { // Credits ZombieKnight
  3309.     //who gave credits to Dave who gave credits
  3310.     // to
  3311.     // some guy who made this.
  3312.     final String osName = System.getProperty("os.name");
  3313.     try {
  3314.       if (osName.startsWith("Mac OS")) {
  3315.         final Class<?> fileMgr = Class
  3316.             .forName("com.apple.eio.FileManager");
  3317.         final Method openURL = fileMgr.getDeclaredMethod("openURL",new Class[]{String.class});
  3318.         openURL.invoke(null, new Object[]{url});
  3319.       } else if (osName.startsWith("Windows")) {
  3320.         Runtime.getRuntime().exec(
  3321.             "rundll32 url.dll,FileProtocolHandler " + url);
  3322.       } else { // assume Unix or Linux
  3323.         final String[] browsers = {"firefox", "opera", "konqueror",
  3324.             "epiphany", "mozilla", "netscape"};
  3325.         String browser = null;
  3326.         for (int count = 0; count < browsers.length && browser == null; count++) {
  3327.           if (Runtime.getRuntime().exec(
  3328.               new String[]{"which", browsers[count]})
  3329.               .waitFor() == 0) {
  3330.             browser = browsers[count];
  3331.           }
  3332.         }
  3333.         if (browser == null) {
  3334.           throw new Exception("Could not find web browser");
  3335.         } else {
  3336.           Runtime.getRuntime().exec(new String[]{browser, url});
  3337.         }
  3338.       }
  3339.     } catch (final Exception e) {
  3340.     }
  3341.   }
  3342.         public class CChopGUI extends JFrame {
  3343.                 private static final long serialVersionUID = 1L;
  3344.                 public CChopGUI() {
  3345.                 initComponents();
  3346.                 }
  3347.  
  3348.           private void button4ActionPerformed(ActionEvent e)
  3349.           {
  3350.                 try{
  3351.                 guiWait = false;
  3352.                 guiExit = true;
  3353.                 dispose();
  3354.                 }catch(Exception ex){log("WTF?!?");};
  3355.           }
  3356.  
  3357.       private void button2ActionPerformed(ActionEvent e)
  3358.           {
  3359.                 try{
  3360.                 location = comboBox2.getSelectedItem().toString();
  3361.                 takeBreaks = checkBox1.isSelected();
  3362.                 nearest = true;
  3363.                 guiExit = false;
  3364.                 guiWait = false;
  3365.                 dispose();
  3366.                 }
  3367.                 catch(Exception ex){log("WTF?!?1");};
  3368.           }
  3369.       private void button1ActionPerformed(ActionEvent e)
  3370.       {
  3371.         try{
  3372.          chopType = comboBox1.getSelectedItem().toString();
  3373.          initializeStage2Components();
  3374.          }
  3375.                 catch(Exception ex){log("WTF?!?2");};
  3376.       }
  3377.       /*private void button3ActionPerformed(ActionEvent e)
  3378.       {
  3379.          initComponents();
  3380.          chopType = null;
  3381.       }*/
  3382.         private void initComponents() {
  3383.                 label1 = new JLabel();
  3384.                 label2 = new JLabel();
  3385.                 label3 = new JLabel();
  3386.                 button1 = new JButton();
  3387.                 comboBox1 = new JComboBox();
  3388.                 button4 = new JButton();
  3389.  
  3390.  
  3391.                 //======== this ========
  3392.                 setAlwaysOnTop(true);
  3393.                 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  3394.                 setFont(new Font("Dialog", Font.PLAIN, 16));
  3395.                 setResizable(false);
  3396.                 setTitle("Conderoga's Chopper");
  3397.                 Container contentPane = getContentPane();
  3398.                 contentPane.setLayout(null);
  3399.  
  3400.                 //---- label1 ----
  3401.                 label1.setText("Conderoga's Chopper Settings");
  3402.                 label1.setFont(new Font("Comic Sans MS", Font.PLAIN, 20));
  3403.                 contentPane.add(label1);
  3404.                 label1.setBounds(25, 15, 315, 39);
  3405.  
  3406.                 //---- label2 ----
  3407.                 label2.setText("Version: "+version);
  3408.                 contentPane.add(label2);
  3409.                 label2.setBounds(new Rectangle(new Point(25, 50), label2.getPreferredSize()));
  3410.  
  3411.                 //---- label3 ----
  3412.                 label3.setText("Select what you wish to chop:");
  3413.                 label3.setFont(label3.getFont().deriveFont(label3.getFont().getSize() + 2f));
  3414.                 contentPane.add(label3);
  3415.                 label3.setBounds(new Rectangle(new Point(10, 105), label3.getPreferredSize()));
  3416.  
  3417.                 //---- button1 ----
  3418.                 button1.setText("Confirm and Proceed");
  3419.                 button1.addActionListener(new ActionListener() {
  3420.       public void actionPerformed(ActionEvent e) {
  3421.         button1ActionPerformed(e);
  3422.       }
  3423.     });
  3424.                 contentPane.add(button1);
  3425.                 button1.setBounds(85, 145, 195, 35);
  3426.  
  3427.                 //---- comboBox1 ----
  3428.                 comboBox1.setMaximumRowCount(6);
  3429.                 contentPane.add(comboBox1);
  3430.                 comboBox1.setModel(new DefaultComboBoxModel(new String[] {
  3431.  
  3432.                         "Yews",
  3433.                         "Magics",
  3434.                         "Ivy",
  3435.                         "Willows",
  3436.                         "Maples",
  3437.                         "Oaks"
  3438.  
  3439.         }));
  3440.                 comboBox1.setBounds(205, 100, 145, 25);
  3441.  
  3442.                 //---- button4 ----
  3443.                 button4.setText("Exit");
  3444.                 button4.addActionListener(new ActionListener() {
  3445.       public void actionPerformed(ActionEvent e) {
  3446.         button4ActionPerformed(e);
  3447.       }
  3448.     });
  3449.                 contentPane.add(button4);
  3450.                 button4.setBounds(0, 325, 85, 38);
  3451.  
  3452.  
  3453.  
  3454.                 { // compute preferred size
  3455.                         Dimension preferredSize = new Dimension();
  3456.                         for(int i = 0; i < contentPane.getComponentCount(); i++) {
  3457.                                 Rectangle bounds = contentPane.getComponent(i).getBounds();
  3458.                                 preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
  3459.                                 preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
  3460.                         }
  3461.                         Insets insets = contentPane.getInsets();
  3462.                         preferredSize.width += insets.right;
  3463.                         preferredSize.height += insets.bottom;
  3464.                         contentPane.setMinimumSize(preferredSize);
  3465.                         contentPane.setPreferredSize(preferredSize);
  3466.                 }
  3467.                 pack();
  3468.                 setLocationRelativeTo(getOwner());
  3469.  
  3470.         }
  3471.         private void initializeStage2Components()
  3472.         {
  3473.                 checkBox1 = new JCheckBox("Take short breaks?",false);
  3474.                 //checkBox2 = new JCheckBox("Chop nearest?",true);
  3475.                 label4 = new JLabel();
  3476.                 comboBox2 = new JComboBox();
  3477.                 button2 = new JButton();
  3478.                 label1 = new JLabel();
  3479.                 label2 = new JLabel();
  3480.                 button4 = new JButton();
  3481.  
  3482.  
  3483.                 //======== this ========
  3484.                 setAlwaysOnTop(true);
  3485.                 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  3486.                 setFont(new Font("Dialog", Font.PLAIN, 16));
  3487.                 setResizable(false);
  3488.                 setTitle("Conderoga's Chopper");
  3489.                 Container contentPane = getContentPane();
  3490.                 contentPane.setLayout(null);
  3491.  
  3492.                 //---- label1 ----
  3493.                 label1.setText("Conderoga's Chopper Settings");
  3494.                 label1.setFont(new Font("Comic Sans MS", Font.PLAIN, 20));
  3495.                 contentPane.add(label1);
  3496.                 label1.setBounds(25, 15, 315, 39);
  3497.  
  3498.                 //---- label2 ----
  3499.                 label2.setText("Version: "+version);
  3500.                 contentPane.add(label2);
  3501.                 label2.setBounds(new Rectangle(new Point(25, 50), label2.getPreferredSize()));
  3502.  
  3503.                 //---- label4 ----
  3504.                 label4.setText("Select where you wish to chop:");
  3505.                 label4.setFont(label4.getFont().deriveFont(label4.getFont().getSize() + 2f));
  3506.                 contentPane.add(label4);
  3507.                 label4.setBounds(10, 210, 180, 16);
  3508.  
  3509.                 //---- comboBox2 ----
  3510.                 if(chopType.equals("Yews")){
  3511.         comboBox2.setMaximumRowCount(8);
  3512.         comboBox2.setModel(new DefaultComboBoxModel(new String[] {
  3513.  
  3514.       "Grand Exchange",
  3515.       "Edgeville",
  3516.       "Rimmington",
  3517.       "Catherby",
  3518.       "Seer's Village",
  3519.       "South Falador",
  3520.       "Draynor",
  3521.       "Tree Gnome"
  3522.  
  3523.         }));
  3524.         }
  3525.         else if(chopType.equals("Magics")){
  3526.         comboBox2.setMaximumRowCount(3);
  3527.         comboBox2.setModel(new DefaultComboBoxModel(new String[] {
  3528.  
  3529.       "Seer's Village",
  3530.       "Sorcerer's Tower",
  3531.       "Mage Training Area"
  3532.  
  3533.         }));
  3534.         }
  3535.         else if(chopType.equals("Ivy")){
  3536.         comboBox2.setMaximumRowCount(8);
  3537.         comboBox2.setModel(new DefaultComboBoxModel(new String[] {
  3538.  
  3539.       "Castle Wars",
  3540.       "Grand Exchange",
  3541.       "Taverly",
  3542.       "Yanille",
  3543.       "Varrock Palace",
  3544.       "Ardougne",
  3545.       "South Falador",
  3546.       "North Falador"
  3547.  
  3548.         }));
  3549.         }
  3550.         else if(chopType.equals("Willows")){
  3551.         comboBox2.setMaximumRowCount(2);
  3552.         comboBox2.setModel(new DefaultComboBoxModel(new String[] {
  3553.  
  3554.       "Draynor",
  3555.       "Port Salim"
  3556.  
  3557.  
  3558.         }));
  3559.         }
  3560.         else if(chopType.equals("Maples")){
  3561.         comboBox2.setMaximumRowCount(1);
  3562.         comboBox2.setModel(new DefaultComboBoxModel(new String[] {
  3563.  
  3564.       "Seer's Village"
  3565.  
  3566.  
  3567.         }));
  3568.         }
  3569.         else if(chopType.equals("Oaks")){
  3570.                 comboBox2.setMaximumRowCount(1);
  3571.                 comboBox2.setModel(new DefaultComboBoxModel(new String[] {
  3572.  
  3573.           "Draynor"
  3574.  
  3575.  
  3576.                 }));
  3577.                 }
  3578.                 contentPane.add(comboBox2);
  3579.                 comboBox2.setBounds(205, 205, 145, 25);
  3580.  
  3581.                 //---- checkBox1 ----
  3582.                 checkBox1.setText("Take short breaks?");
  3583.                 contentPane.add(checkBox1);
  3584.                 checkBox1.setBounds(new Rectangle(new Point(120, 250), checkBox1.getPreferredSize()));
  3585.  
  3586.                 //---- checkBox2 ----
  3587.                 //checkBox2.setText("Chop nearest?");
  3588.                 //contentPane.add(checkBox2);
  3589.                 //checkBox2.setBounds(new Rectangle(new Point(120, 270), checkBox1.getPreferredSize()));
  3590.  
  3591.                 //---- button2 ----
  3592.                 button2.setText("Start");
  3593.                 button2.addActionListener(new ActionListener() {
  3594.       public void actionPerformed(ActionEvent e) {
  3595.         button2ActionPerformed(e);
  3596.       }
  3597.     });
  3598.                 contentPane.add(button2);
  3599.                 button2.setBounds(175, 325, 175, 38);
  3600.  
  3601.  
  3602.                 /*/---- button3 ----
  3603.                 button3.setText("Choose Again");
  3604.                 button3.addActionListener(new ActionListener() {
  3605.       public void actionPerformed(ActionEvent e) {
  3606.         button2ActionPerformed(e);
  3607.       }
  3608.     });
  3609.                 contentPane.add(button3);
  3610.                 button3.setBounds(85, 325, 130, 38);
  3611.                 */
  3612.                 //---- button4 ----
  3613.                 button4.setText("Exit");
  3614.                 button4.addActionListener(new ActionListener() {
  3615.       public void actionPerformed(ActionEvent e) {
  3616.         button2ActionPerformed(e);
  3617.       }
  3618.     });
  3619.                 contentPane.add(button4);
  3620.                 button4.setBounds(0, 325, 85, 38);
  3621.  
  3622.                 { // compute preferred size
  3623.                         Dimension preferredSize = new Dimension();
  3624.                         for(int i = 0; i < contentPane.getComponentCount(); i++) {
  3625.                                 Rectangle bounds = contentPane.getComponent(i).getBounds();
  3626.                                 preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
  3627.                                 preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
  3628.                         }
  3629.                         Insets insets = contentPane.getInsets();
  3630.                         preferredSize.width += insets.right;
  3631.                         preferredSize.height += insets.bottom;
  3632.                         contentPane.setMinimumSize(preferredSize);
  3633.                         contentPane.setPreferredSize(preferredSize);
  3634.                 }
  3635.                 pack();
  3636.                 setLocationRelativeTo(getOwner());
  3637.  
  3638.         }
  3639.         private JCheckBox checkBox1;
  3640.         //private JCheckBox checkBox2;
  3641.         private JLabel label1;
  3642.         private JLabel label2;
  3643.         private JLabel label3;
  3644.         private JButton button1;
  3645.         private JComboBox comboBox1;
  3646.         private JLabel label4;
  3647.         private JComboBox comboBox2;
  3648.         private JButton button2;
  3649.         private JButton button3;
  3650.         private JButton button4;
  3651. }
  3652. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top