Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!

MultiMiner V 2.0

By: Rudie221 on Jun 15th, 2011  |  syntax: Java  |  size: 41.14 KB  |  views: 1,151  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
This paste has a previous version, view the difference. Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. //////////////
  2. ///Imports///
  3. ////////////
  4. import java.awt.*;
  5. import java.io.IOException;
  6. import java.net.URL;
  7. import java.util.LinkedList;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import java.awt.event.MouseEvent;
  11. import java.awt.event.MouseListener;
  12.  
  13. import javax.imageio.ImageIO;
  14. import javax.swing.DefaultComboBoxModel;
  15. import javax.swing.GroupLayout;
  16. import javax.swing.JButton;
  17. import javax.swing.JComboBox;
  18. import javax.swing.JFrame;
  19. import javax.swing.JLabel;
  20. import javax.swing.JPanel;
  21. import javax.swing.JTabbedPane;
  22. import javax.swing.JTextField;
  23. import javax.swing.LayoutStyle;
  24.  
  25. import org.rsbot.event.events.MessageEvent;
  26. import org.rsbot.event.listeners.MessageListener;
  27. import org.rsbot.event.listeners.PaintListener;
  28. import org.rsbot.script.Script;
  29. import org.rsbot.script.ScriptManifest;
  30. import org.rsbot.script.methods.Skills;
  31. import org.rsbot.script.wrappers.RSComponent;
  32. import org.rsbot.script.wrappers.RSObject;
  33. import org.rsbot.script.wrappers.RSTile;
  34. import org.rsbot.script.wrappers.RSTilePath;
  35.  
  36.  
  37. @ScriptManifest(
  38.                 authors = {"Rudie"},
  39.                 version = 2.0,
  40.                 keywords = ("miner, mining, rudie, worldminer"),
  41.                 description = "Mines and banks ores at different locations more info is in the thread",
  42.                 name = "MultiMiner"
  43. )
  44. public class MultiMiner extends Script implements PaintListener, MessageListener, MouseListener {
  45.        
  46.         ////////////////
  47.         ///Variables///
  48.         //////////////
  49.         private final static int[] boothID = {26972, 11402, 2213, 34752, 11758, 2213, 35647, 782, 2012, 2015, 2019};
  50.         private final static int[] coal_ID = {11931, 11932, 11930, 2096, 2097, 5770, 5771, 5772};
  51.         private final static int[] iron_ID = {37307, 37308, 37309, 9717, 9718, 9719, 11954, 11956, 2092, 2093};
  52.         private final static int[] gold_ID = {9722, 9720, 37310, 37312};
  53.         private final static int[] copper_ID = {9708, 9709, 11960, 11962};
  54.         private final static int[] tin_ID = {9714, 9716, 11959, 11958, 11957, 11935, 11933};
  55.         private final static int[] clay_ID = {15504, 10579};
  56.         private final static int[] silver_ID = {11948, 11949, 11950};
  57.         private final static int[] pickID = {1265, 1267, 1269, 1271, 1273, 1275};
  58.         private final static int dstairID = 2113;
  59.         private final static int ustairID = 6226;
  60.        
  61.         private static final int coal_ORE = 453;
  62.         private static final int iron_ORE = 440;
  63.         private static final int gold_ORE = 444;
  64.         private static final int copper_ORE = 436;
  65.         private static final int tin_ORE = 438;
  66.         private static final int clay_ORE = 434;
  67.         private static final int silver_ORE = 442;
  68.        
  69.     ////////////
  70.         ///Tiles///
  71.         //////////
  72.     RSTile[] barbarian = {new RSTile(3084, 3423), new RSTile(3089, 3436),
  73.                 new RSTile(3090, 3449), new RSTile(3087, 3461), new RSTile(3079, 3471), new RSTile(3079, 3484),
  74.                 new RSTile(3085, 3489), new RSTile(3092, 3491)};
  75.     RSTilePath barbarianVillage;
  76.    
  77.     RSTile[] barbarianC = {new RSTile(3082, 3400), new RSTile(3081, 3414)};
  78.     RSTilePath barbarianVillageC;
  79.    
  80.     RSTile[] draynorv = {new RSTile(3141, 3317), new RSTile(3134, 3305),
  81.                 new RSTile(3125, 3297), new RSTile(3113, 3293), new RSTile(3109, 3283), new RSTile(3104, 3274),
  82.                 new RSTile(3104, 3263), new RSTile(3104, 3250), new RSTile(3094, 3248),
  83.                 new RSTile(3092, 3243)};
  84.     RSTilePath draynor;
  85.    
  86.     RSTile[] ardy = {new RSTile(2693, 3334), new RSTile(2697, 3322),
  87.                 new RSTile(2692, 3312), new RSTile(2681, 3305), new RSTile(2667, 3304), new RSTile(2656, 3299),
  88.                 new RSTile(2649, 3293), new RSTile(2644, 3284), new RSTile(2652, 3285)};
  89.     RSTilePath ardougne;
  90.    
  91.     RSTile[] ALK = {new RSTile(3299, 3293), new RSTile(3298, 3285),
  92.                 new RSTile(3297, 3275), new RSTile(3295, 3266),
  93.                 new RSTile(3293, 3255), new RSTile(3291, 3246), new RSTile(3287, 3237),
  94.                 new RSTile(3283, 3229), new RSTile(3279, 3221), new RSTile(3277, 3211),
  95.                 new RSTile(3281, 3201), new RSTile(3281, 3191), new RSTile(3281, 3183),
  96.                 new RSTile(3276, 3175), new RSTile(3269, 3168)};
  97.     RSTilePath alKharid;
  98.    
  99.     RSTile[] port = {new RSTile(2626, 3151), new RSTile(2623, 3142),
  100.                 new RSTile(2620, 3131), new RSTile(2619, 3119), new RSTile(2617, 3109),
  101.                 new RSTile(2608, 3100), new RSTile(2611, 3093)};
  102.     RSTilePath khazard;
  103.    
  104.     RSTile[] varrock = {new RSTile(3182, 3372), new RSTile(3182, 3376),
  105.                 new RSTile(3176, 3387),new RSTile(3169, 3399),
  106.                 new RSTile(3168, 3411), new RSTile(3169, 3423),
  107.                 new RSTile(3178, 3429), new RSTile(3183, 3438)};
  108.     RSTilePath varrockw;
  109.    
  110.     RSTile[] fromBankToStairs = {new RSTile(3015, 3355)};
  111.     RSTilePath bankToStairs;
  112.    
  113.     RSTile[] fromStairsToBank = {new RSTile(3019, 3342)};
  114.     RSTilePath stairsToBank;
  115.    
  116.     RSTile[] MiningAreaE = {new RSTile(3027, 9739), new RSTile(3034, 9738),
  117.                 new RSTile(3044, 9738)};
  118.     RSTilePath MiningArea;
  119.  
  120.      long startTime;
  121.    
  122.     private static final Color MOUSE_COLOR = new Color(255, 0, 0),
  123.         MOUSE_BORDER_COLOR = new Color(255, 0, 0),
  124.         MOUSE_CENTER_COLOR = new Color(0, 0, 0);
  125.         private boolean pressed = false;
  126.              
  127.     int expGained = 0;
  128.     int startExp = 0;
  129.     int oresMined = 0;
  130.     int gemsMined = 0;
  131.     int gainedLvl = 0;
  132.     public boolean showPaint = true ;
  133.     Point p;
  134.     Point p2;
  135.     private final LinkedList<MousePathPoint> mousePath = new LinkedList<MousePathPoint>();
  136.     private int[] oresToMine;
  137.     public int oreID = 0;
  138.    
  139.     private boolean guiWait = true;
  140.         GUI g = new GUI();
  141.    
  142.     private String Status = "Loading...";
  143.  
  144.      ////////////////////
  145.     ///OnStart method///
  146.     ///////////////////
  147.         public boolean onStart() {
  148.                 bankToStairs = walking.newTilePath(fromBankToStairs);
  149.                 stairsToBank = walking.newTilePath(fromStairsToBank);
  150.             MiningArea = walking.newTilePath(MiningAreaE);
  151.                 barbarianVillage = walking.newTilePath(barbarian);
  152.                 barbarianVillageC = walking.newTilePath(barbarianC);
  153.                 varrockw = walking.newTilePath(varrock);
  154.                 draynor = walking.newTilePath(draynorv);
  155.                 ardougne = walking.newTilePath(ardy);
  156.                 khazard = walking.newTilePath(port);
  157.                 alKharid = walking.newTilePath(ALK);
  158.                 startTime = System.currentTimeMillis();
  159.                 mouse.setSpeed(random(3, 5));
  160.                 startExp = skills.getCurrentExp(Skills.MINING);
  161.                 log(new Color (30, 144, 255), "Welcome to MultiMiner V 2.0!");
  162.                 log(Color.RED, "PLEASE READ:");
  163.                 log(new Color (30, 144, 255), "Please check the thread every day for new updates.");
  164.                 log(new Color (30, 144, 255), "V 2.0 has been released 13-6-11.");
  165.                 log(new Color (30, 144, 255), "MultiMiner ®   © 2011 ");
  166.                 log(Color.RED, "Happy botting!");
  167.                
  168.                
  169.                
  170.  
  171.                 g.setVisible(true);
  172.                 while(guiWait) sleep(500);
  173.                
  174.                 return true;
  175.                
  176.         }
  177.        
  178.     ///////////
  179.         ///Loop///
  180.         /////////
  181.         @Override
  182.         public int loop() {
  183.         if(inventory.isFull()) {
  184.                 if(atBank()) {
  185.                         doBank();
  186.                 } else if(atUp()) {
  187.                         goUp();
  188.                 } else {       
  189.                         BarbarianVillage();
  190.                         BarbarianVillageC();
  191.                         varrock();
  192.                         draynor();
  193.                         ardy();
  194.                         BtS();
  195.                         StB();
  196.                         MiningPlace();
  197.                         khazard();
  198.                         kharid();
  199.                 }
  200.         } else {
  201.                 if(atMine()) {
  202.                         mineOres();
  203.                 } else if(atDown()) {
  204.                         goDown();
  205.                 } else {
  206.                         barbarianVillage();
  207.                         barbarianVillageC();
  208.                         varrockwest();
  209.                         draynorvillage();
  210.                         ardougne();
  211.                         BtSS();
  212.                 StBB();
  213.                 MiningPlacee();
  214.                         portKhazard();
  215.                         alKharid();
  216.                 }
  217.         }
  218.                 return random(600, 800);
  219.         }
  220.        
  221.     //////////////
  222.         ///Methods///
  223.         ////////////
  224.         private void mineOres() {
  225.                 RSObject rock = objects.getNearest(oresToMine);
  226.                 if (rock != null && getMyPlayer().getAnimation() == -1) {
  227.                         rock.interact("Mine");
  228.                         AntiBan();
  229.                         AntiBanCamera();
  230.                         Status = "Mining.";
  231.                 }
  232.         }
  233.        
  234.         private void goDown() {
  235.                 RSObject ladder = objects.getNearest(dstairID);
  236.                 if (ladder != null && getMyPlayer().getAnimation() == -1) {
  237.                         ladder.doAction("Climb-down");
  238.                         Status = "Going down.";
  239.                         AntiBan();
  240.                         AntiBanCamera();
  241.                 }
  242.                 sleep(3000, 4500);
  243.         }
  244.        
  245.         private void goUp() {
  246.                 RSObject ladder = objects.getNearest(ustairID);
  247.                 if (ladder != null && getMyPlayer().getAnimation() == -1) {
  248.                         ladder.doAction("Climb-up");
  249.                         Status = "Going up.";
  250.                         AntiBan();
  251.                         AntiBanCamera();
  252.                 }
  253.                 sleep(5000, 6500);
  254.         }
  255.        
  256.  
  257.         private void barbarianVillage() {
  258.                 barbarianVillage.reverse();
  259.                 barbarianVillage.traverse();
  260.                 barbarianVillage.reverse();
  261.                 Status = "Walking to mine.";
  262.         }
  263.  
  264.         private void BarbarianVillage() {
  265.                 barbarianVillage.traverse();
  266.                 AntiBanCamera();
  267.                 Status = "Walking to bank.";
  268.         }
  269.        
  270.         private void barbarianVillageC() {
  271.                 barbarianVillageC.reverse();
  272.                 barbarianVillageC.traverse();
  273.                 barbarianVillageC.reverse();
  274.                 Status = "Walking to mine.";
  275.         }
  276.  
  277.         private void BarbarianVillageC() {
  278.                 barbarianVillageC.traverse();
  279.                 AntiBanCamera();
  280.                 Status = "Walking to bank.";
  281.         }
  282.        
  283.         private void varrockwest() {
  284.                 varrockw.reverse();
  285.                 varrockw.traverse();
  286.                 varrockw.reverse();
  287.                 Status = "Walking to mine.";
  288.         }
  289.  
  290.         private void varrock() {
  291.                 varrockw.traverse();
  292.                 AntiBanCamera();
  293.                 Status = "Walking to bank.";
  294.         }
  295.        
  296.         private void BtS() {
  297.                 bankToStairs.reverse();
  298.                 bankToStairs.traverse();
  299.                 bankToStairs.reverse();
  300.                 AntiBanCamera();
  301.                 Status = "Walking to mine.";
  302.         }
  303.  
  304.         private void BtSS() {
  305.                 bankToStairs.traverse();
  306.                 AntiBanCamera();
  307.                 Status = "Walking to mine.";
  308.         }
  309.        
  310.         private void StB() {
  311.                 stairsToBank.reverse();
  312.                 stairsToBank.traverse();
  313.                 stairsToBank.reverse();
  314.                 AntiBanCamera();
  315.                 Status = "Walking to bank.";
  316.         }
  317.  
  318.         private void StBB() {
  319.                 stairsToBank.traverse();
  320.                 AntiBanCamera();
  321.                 Status = "Walking to bank.";
  322.         }
  323.        
  324.         private void MiningPlace() {
  325.                 MiningArea.reverse();
  326.                 MiningArea.traverse();
  327.                 MiningArea.reverse();
  328.                 AntiBanCamera();
  329.                 Status = "Walking to bank.";
  330.         }
  331.  
  332.         private void MiningPlacee() {
  333.                 MiningArea.traverse();
  334.                 AntiBanCamera();
  335.                 Status = "Walking to mine.";
  336.         }
  337.        
  338.         private void draynorvillage() {
  339.                 draynor.reverse();
  340.                 draynor.traverse();
  341.                 draynor.reverse();
  342.                 Status = "Walking to mine.";
  343.         }
  344.  
  345.         private void draynor() {
  346.                 draynor.traverse();
  347.                 AntiBanCamera();
  348.                 Status = "Walking to bank.";
  349.         }
  350.        
  351.         private void ardougne() {
  352.                 ardougne.reverse();
  353.                 ardougne.traverse();
  354.                 ardougne.reverse();
  355.                 Status = "Walking to mine.";
  356.         }
  357.  
  358.         private void ardy() {
  359.                 ardougne.traverse();
  360.                 AntiBanCamera();
  361.                 Status = "Walking to bank.";
  362.         }
  363.        
  364.         private void portKhazard() {
  365.                 khazard.reverse();
  366.                 khazard.traverse();
  367.                 khazard.reverse();
  368.                 Status = "Walking to mine.";
  369.         }
  370.  
  371.         private void khazard() {
  372.                 khazard.traverse();
  373.                 AntiBanCamera();
  374.                 Status = "Walking to bank.";
  375.         }
  376.        
  377.         private void alKharid() {
  378.                 alKharid.reverse();
  379.                 alKharid.traverse();
  380.                 alKharid.reverse();
  381.                 Status = "Walking to mine.";
  382.         }
  383.  
  384.         private void kharid() {
  385.                 alKharid.traverse();
  386.                 AntiBanCamera();
  387.                 Status = "Walking to bank.";
  388.         }
  389.        
  390.         public void mouseClicked(MouseEvent e) {
  391.         RSComponent inter = interfaces.get(137).getComponent(0);
  392.         if (inter.getArea().contains(e.getPoint())) {
  393.             showPaint = !showPaint;
  394.         }
  395.     }
  396.        
  397.         private void drawMouse(Graphics g) {
  398.                 ((Graphics2D) g).setRenderingHints(new RenderingHints(
  399.                                 RenderingHints.KEY_ANTIALIASING,
  400.                                 RenderingHints.VALUE_ANTIALIAS_ON));
  401.                 Point p = mouse.getLocation();
  402.                 Graphics2D spinG = (Graphics2D) g.create();
  403.                 Graphics2D spinGRev = (Graphics2D) g.create();
  404.                 Graphics2D spinG2 = (Graphics2D) g.create();
  405.                 spinG.setColor(MOUSE_BORDER_COLOR);
  406.                 spinGRev.setColor(MOUSE_COLOR);
  407.                 spinG.rotate(System.currentTimeMillis() % 2000d / 2000d * (360d) * 2
  408.                                 * Math.PI / 180.0, p.x, p.y);
  409.                 spinGRev.rotate(System.currentTimeMillis() % 2000d / 2000d * (-360d)
  410.                                 * 2 * Math.PI / 180.0, p.x, p.y);
  411.                 final int outerSize = 20;
  412.                 final int innerSize = 12;
  413.                 spinG.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_ROUND,
  414.                                 BasicStroke.JOIN_ROUND));
  415.                 spinGRev.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_ROUND,
  416.                                 BasicStroke.JOIN_ROUND));
  417.                 spinG.drawArc(p.x - (outerSize / 2), p.y - (outerSize / 2), outerSize,
  418.                                 outerSize, 100, 75);
  419.                 spinG.drawArc(p.x - (outerSize / 2), p.y - (outerSize / 2), outerSize,
  420.                                 outerSize, -100, 75);
  421.                 spinGRev.drawArc(p.x - (innerSize / 2), p.y - (innerSize / 2),
  422.                                 innerSize, innerSize, 100, 75);
  423.                 spinGRev.drawArc(p.x - (innerSize / 2), p.y - (innerSize / 2),
  424.                                 innerSize, innerSize, -100, 75);
  425.                 g.setColor(MOUSE_CENTER_COLOR);
  426.                 g.fillOval(p.x, p.y, 2, 2);
  427.                 spinG2.setColor(MOUSE_CENTER_COLOR);
  428.                 spinG2.rotate(System.currentTimeMillis() % 2000d / 2000d * 360d
  429.                                 * Math.PI / 180.0, p.x, p.y);
  430.                 spinG2.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_ROUND,
  431.                                 BasicStroke.JOIN_ROUND));
  432.                 spinG2.drawLine(p.x - 5, p.y, p.x + 5, p.y);
  433.                 spinG2.drawLine(p.x, p.y - 5, p.x, p.y + 5);
  434.         }
  435.        
  436.         @SuppressWarnings("serial")
  437.         private class MousePathPoint extends Point { // credits to Enfilade
  438.                 private int toColor(double d) {
  439.                         return Math.min(255, Math.max(0, (int) d));
  440.                 }
  441.  
  442.                 private long finishTime;
  443.                 private double lastingTime;
  444.  
  445.                 public MousePathPoint(int x, int y, int lastingTime) {
  446.                         super(x, y);
  447.                         this.lastingTime = lastingTime;
  448.                         finishTime = System.currentTimeMillis() + lastingTime;
  449.                 }
  450.  
  451.                 public boolean isUp() {
  452.                         return System.currentTimeMillis() > finishTime;
  453.                 }
  454.  
  455.                 public Color getColor() {
  456.                         return new Color(
  457.                                         0,
  458.                                         0,
  459.                                         0,
  460.                                         toColor(256 * ((finishTime - System.currentTimeMillis()) / lastingTime)));
  461.                 }
  462.         }
  463.  
  464. private final RenderingHints antialiasing = new RenderingHints(
  465.             RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  466.        
  467.     //////////////////////
  468.     ///OnFinish Method///
  469.     ////////////////////
  470.         public void onFinish() {
  471.                 log("Ty for using MultiMiner by Rudie.");
  472.                 env.saveScreenshot(true);
  473.         }
  474.      ///////////////////
  475.         ///Other Methods///
  476.         //////////////////
  477.         private boolean atBank() {
  478.                 RSObject bank = objects.getNearest(boothID);
  479.                 if(bank != null) {
  480.                     if(bank.isOnScreen()) {
  481.                             return true;
  482.                     }
  483.                 }
  484.                 return false;
  485.         }
  486.        
  487.         private boolean atDown() {
  488.                 RSObject ladder = objects.getNearest(dstairID);
  489.                 AntiBan();
  490.                 AntiBanCamera();
  491.                 if(ladder != null) {
  492.                     if(ladder.isOnScreen()) {
  493.                             return true;
  494.                     }
  495.                 }
  496.                 return false;
  497. }
  498.        
  499.         private boolean atUp() {
  500.                 RSObject ladder = objects.getNearest(ustairID);
  501.                 AntiBan();
  502.                 AntiBanCamera();
  503.                 if(ladder != null) {
  504.                     if(ladder.isOnScreen()) {
  505.                             return true;
  506.                     }
  507.                 }
  508.                 return false;
  509. }
  510.        
  511.         private void doBank() {
  512.                 if(bank.isOpen()) {
  513.                         bank.depositAllExcept(pickID);
  514.                         sleep(800, 1200);
  515.                         Status = "Banking.";
  516.                 } else {
  517.                         bank.open();
  518.                         Status = "Banking.";
  519.                         sleep(1800, 2200);
  520.                 }
  521.         }
  522.        
  523.         private boolean atMine() {
  524.                 RSObject ore = objects.getNearest(oresToMine);
  525.                 AntiBan();
  526.                 AntiBanCamera();
  527.                 if(ore != null) {
  528.                     if(ore.isOnScreen()) {
  529.                             return true;
  530.                     }
  531.                 }
  532.                 return false;
  533. }
  534.        
  535.     ////////////
  536.         ///Paint///
  537.         //////////
  538.         private Image getImage(String url) {
  539.         try {
  540.             return ImageIO.read(new URL(url));
  541.         } catch(IOException e) {
  542.             return null;
  543.         }
  544.     }
  545.  
  546.     private final Color color1 = new Color(51, 51, 51);
  547.     private final Color color2 = new Color(255, 0, 0);
  548.     private final Color color3 = new Color(255, 255, 255);
  549.     private final Color color4 = new Color(0, 0, 0);
  550.  
  551.     private final BasicStroke stroke1 = new BasicStroke(1);
  552.  
  553.     private final Font font1 = new Font("Comic Sans MS", 2, 15);
  554.     private final Font font2 = new Font("Comic Sans MS", 0, 32);
  555.     private final Font font3 = new Font("Arial", 3, 15);
  556.     private final Font font4 = new Font("Arial", 0, 13);
  557.  
  558.     private final Image img1 = getImage("http://i52.tinypic.com/2aahqgp.png");
  559.  
  560.        
  561.         @Override
  562.         public void onRepaint(Graphics g) {
  563.                 drawModel(g, objects.getNearest(coal_ID), Color.BLACK, "", Color.GREEN);
  564.                 drawModel(g, objects.getNearest(tin_ID), Color.GRAY, "", Color.GREEN);
  565.                 drawModel(g, objects.getNearest(copper_ID), Color.ORANGE, "", Color.GREEN);
  566.                 drawModel(g, objects.getNearest(gold_ID), Color.YELLOW, "", Color.GREEN);
  567.                 drawModel(g, objects.getNearest(silver_ID), Color.LIGHT_GRAY, "", Color.GREEN);
  568.                 drawModel(g, objects.getNearest(iron_ID), Color.RED, "", Color.GREEN);
  569.                 drawModel(g, objects.getNearest(clay_ID), Color.DARK_GRAY, "", Color.GREEN);
  570.                 drawModel(g, objects.getNearest(boothID), Color.GREEN, "", Color.GREEN);
  571.                
  572.                
  573.  
  574.                
  575. expGained = skills.getCurrentExp(Skills.MINING) - startExp;
  576.                
  577.                 long millis = System.currentTimeMillis() - startTime;
  578.                 long hours = millis / (1000 * 60 * 60);
  579.                 millis -= hours * (1000 * 60 * 60);
  580.                 long minutes = millis / (1000 * 60);
  581.                 millis -= minutes * (1000 * 60);
  582.                 long seconds = millis / 1000;
  583.                
  584.                 float xpsec = 0;
  585.                 if((minutes > 0 || hours > 0 || seconds > 0)&& expGained > 0) {
  586.                         xpsec = ((float) expGained)/(float)(seconds + (minutes*60) + (hours*60*60));
  587.                 }
  588.                 float xpmin = xpsec * 60;
  589.                 float xphour = xpmin * 60;
  590.                
  591.                 float oresec = 0;
  592.                 if((minutes > 0 || hours > 0 || seconds > 0)&& oresMined > 0) {
  593.                         oresec = ((float) oresMined)/(float)(seconds + (minutes*60) + (hours*60*60));
  594.                 }
  595.                 float oremin = oresec * 60;
  596.                 float orehour = oremin * 60;
  597.                        
  598.                 Graphics2D g1 = (Graphics2D)g;
  599.                 g1.setColor(color4);
  600.         g1.fillRect(396, 459, 98, 12);
  601.             g1.setColor(color2);
  602.         g1.drawRect(396, 459, 98, 12);
  603.         g1.setColor(color3);
  604.         g1.setFont(font4);
  605.                 g1.drawString("Hide/Show Paint.", 396, 470);
  606.         drawMouse(g1);
  607.        
  608.         Point p = mouse.getLocation();
  609.                 while (!mousePath.isEmpty() && mousePath.peek().isUp())
  610.                         mousePath.remove();
  611.                 Point clientCursor = mouse.getLocation();
  612.                 MousePathPoint mpp = new MousePathPoint(clientCursor.x,
  613.                                 clientCursor.y, 3000);
  614.                 if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
  615.                         mousePath.add(mpp);
  616.                 MousePathPoint lastPoint = null;
  617.                 for (MousePathPoint a : mousePath) {
  618.                         if (lastPoint != null) {
  619.                                 g1.setColor(a.getColor());
  620.                                 g1.drawLine(a.x, a.y, lastPoint.x, lastPoint.y);
  621.                         }
  622.                         lastPoint = a;
  623.                 }
  624.         g1.fillRect(p.x - 5, p.y, 12, 2);
  625.         g1.fillRect(p.x, p.y - 5, 2, 12);
  626.                 if(showPaint){
  627.                 g1.setColor(color1);
  628.             g1.fillRoundRect(8, 345, 488, 112, 16, 16);
  629.             g1.setColor(color2);
  630.             g1.setStroke(stroke1);
  631.         g1.drawRoundRect(8, 345, 488, 112, 16, 16);
  632.         g1.drawLine(7, 362, 494, 362);
  633.             g1.drawImage(img1, 435, 269, null);
  634.             g1.setFont(font1);
  635.             g1.setColor(color3);
  636.             g1.drawString("More human then you", 253, 338);
  637.         g1.setFont(font2);
  638.         g1.setColor(color2);
  639.         g1.drawString("MultiMiner", 75, 338);
  640.             g1.setFont(font3);
  641.         g1.setColor(color3);
  642.         g1.drawString("Status: " + Status, 12, 361);
  643.             g1.drawString("RunTime: "  + hours + ":" + minutes + ":" + seconds, 17, 390);
  644.         g1.drawString("Current Lvl: " + skills.getCurrentLevel(Skills.MINING), 17, 405);
  645.         g1.drawString("Lvl's Gained: " + gainedLvl, 17, 420);
  646.             g1.drawString("XP/TNL: " + skills.getExpToNextLevel(Skills.MINING), 17, 435);
  647.         g1.drawString("Ores Mined: " + oresMined, 250, 390);
  648.         g1.drawString("Ores/H: " + (int) orehour, 250, 405);
  649.             g1.setColor(color4);
  650.         g1.fillRect(8, 459, 98, 12);
  651.         g1.setColor(color2);
  652.             g1.drawRect(8, 459, 98, 12);
  653.         g1.setColor(color4);
  654.         g1.fillRect(396, 459, 98, 12);
  655.             g1.setColor(color2);
  656.         g1.drawRect(396, 459, 98, 12);
  657.         g1.setColor(color3);
  658.         g1.drawString("XP/H: " + (int) xphour, 250, 435);
  659.         g1.drawString("Gems Found: " + gemsMined, 250, 450);
  660.             g1.drawString("%/TNL: " + skills.getPercentToNextLevel(Skills.MINING) + "%", 17, 450);
  661.         g1.drawString("XP Gained: " + expGained, 250, 420);
  662.         g1.setFont(font4);
  663.                 g1.drawString("Hide/Show Paint.", 396, 470);
  664.         }
  665.         }
  666.        
  667.         public void drawModel(Graphics g, RSObject o, Color c, String s, Color tc)      {
  668.                 if(o != null) {
  669.                         Polygon[] model = o.getModel().getTriangles();
  670.                         Point point = calc.tileToScreen(o.getLocation());
  671.                         for(Polygon p : model)  {
  672.                                 g.setColor(c);
  673.                                 g.fillPolygon(p);
  674.                                 g.setColor(c.darker());
  675.                                 g.drawPolygon(p);
  676.                         }
  677.  
  678.                         g.setColor(tc);
  679.                         g.drawString(s, point.x - 75, point.y - 35);
  680.                         }
  681.                 }
  682.                         public RSTile[] reversePath(RSTile[] other) {
  683.                         RSTile[] t = new RSTile[other.length];
  684.                         for (int i = 0; i < t.length; i++) {
  685.                                 t[i] = other[other.length - i - 1];
  686.                         }
  687.                         return t;
  688.                 }
  689.                        
  690.                         @Override
  691.                     public void mouseEntered(MouseEvent e) {
  692.                         // TODO Auto-generated method stub
  693.                        
  694.                     }
  695.  
  696.                     @Override
  697.                     public void mouseExited(MouseEvent e) {
  698.                         // TODO Auto-generated method stub
  699.                        
  700.                     }
  701.  
  702.                     @Override
  703.                     public void mousePressed(MouseEvent e) {
  704.                         // TODO Auto-generated method stub
  705.                        
  706.                     }
  707.  
  708.                     @Override
  709.                     public void mouseReleased(MouseEvent e) {
  710.                         // TODO Auto-generated method stub
  711.                        
  712.                     }
  713.  
  714.  
  715.                 @Override
  716.         public void messageReceived(MessageEvent e) {
  717.                 String txt = e.getMessage().toLowerCase();
  718.                 if(txt.contains("you manage to mine some")) {
  719.                         oresMined++;
  720.                 }
  721.                 if(txt.contains("just found")) {
  722.                         gemsMined++;
  723.                 }
  724.                 if(txt.contains("mining level")) {
  725.                         gainedLvl++;
  726.                 }
  727.         }
  728.        
  729.         //////////////
  730.                 ///AntiBan///
  731.                 ////////////
  732.           @SuppressWarnings("deprecation")
  733.         private void AntiBan() {
  734.                     int randomProd = random(1, 60);
  735.                     if (randomProd == 1) {
  736.                       int randomMore = random(1, 5);
  737.                       if (randomMore == 1) {
  738.                         if (game.getCurrentTab() != 2) {
  739.                           game.openTab(2);
  740.                           Status = "Checking Mining XP + Level.";
  741.                           sleep(350, 500);
  742.                           mouse.move(random(678, 728), random(213, 232));
  743.                           sleep(2000, 3500);
  744.                         } else {
  745.                           mouse.move(random(678, 728), random(213, 232));
  746.                           sleep(2000, 3500);
  747.                         }
  748.                       } else {
  749.                         sleep(1200, 2500);
  750.                       }
  751.                     }
  752.                     if (randomProd == 2 || randomProd == 3 || randomProd == 4) {
  753.                       sleep(1000, 2500);
  754.                     }
  755.                     if (randomProd >= 52) {
  756.                       mouse.moveRandomly(65, 350);
  757.                     } else
  758.                       sleep(10, 30);
  759.                   }
  760.  
  761.                   private void AntiBanCamera() {
  762.                     int randomNum = random(1, 50);
  763.                     if (randomNum == 1 || randomNum == 2 || randomNum == 3) {
  764.                       camera.moveRandomly(random(2000, 5500));
  765.                     }
  766.                     if (randomNum == 4 || randomNum == 5) {
  767.                       camera.setAngle(random(10, 40));
  768.                     }
  769.                     if (randomNum == 6) {
  770.                       camera.setPitch(random(40, 68));
  771.                     }
  772.                     if (randomNum == 7) {
  773.                       camera.setPitch(random(20, 45));
  774.                     }
  775.                     if (randomNum == 8) {
  776.                       camera.setPitch(random(68, 90));
  777.                     } else
  778.                       sleep(50, 70);
  779.                   }
  780.        
  781.                
  782.           //////////
  783.                   ///GUI///
  784.                   ////////
  785.                   class GUI extends JFrame {
  786.                                 /**
  787.                          *
  788.                          */
  789.                         private static final long serialVersionUID = 1L;
  790.                                 public GUI() {
  791.                                         initComponents();
  792.                                 }
  793.  
  794.                                 private void button1ActionPerformed(ActionEvent e) {
  795.                                         String chosennnnnnn = comboBox7.getSelectedItem().toString();
  796.                                         if(chosennnnnnn.equals("Iron")) {
  797.                                                 oreID = iron_ORE;
  798.                                                 oresToMine = iron_ID;
  799.                                         }
  800.                                         guiWait = false;
  801.                                         g.dispose();
  802.                                 }
  803.  
  804.                                 private void button2ActionPerformed(ActionEvent e) {
  805.                                         String chosennnnnn = comboBox6.getSelectedItem().toString();
  806.                                         if(chosennnnnn.equals("Clay")) {
  807.                                                 oreID = clay_ORE;
  808.                                                 oresToMine = clay_ID;
  809.                                         }
  810.                                         guiWait = false;
  811.                                         g.dispose();
  812.                                 }
  813.  
  814.                                 private void button3ActionPerformed(ActionEvent e) {
  815.                                         String chosennnnn = comboBox5.getSelectedItem().toString();
  816.                                         if(chosennnnn.equals("Coal")) {
  817.                                                 oreID = coal_ORE;
  818.                                                 oresToMine = coal_ID;
  819.                                         } else {
  820.                                                 oreID = iron_ORE;
  821.                                                 oresToMine = iron_ID;
  822.                                         }
  823.                                         guiWait = false;
  824.                                         g.dispose();
  825.                                 }
  826.  
  827.                                 private void button4ActionPerformed(ActionEvent e) {
  828.                                         String chosennnn = comboBox4.getSelectedItem().toString();
  829.                                         if(chosennnn.equals("Coal")) {
  830.                                                 oreID = coal_ORE;
  831.                                                 oresToMine = coal_ID;
  832.                                         } else if(chosennnn.equals("Iron")) {
  833.                                                 oreID = iron_ORE;
  834.                                                 oresToMine = iron_ID;
  835.                                         } else {
  836.                                                 oreID = gold_ORE;
  837.                                                 oresToMine = gold_ID;
  838.                                         }
  839.                                         guiWait = false;
  840.                                         g.dispose();
  841.                                 }
  842.  
  843.                                 private void button5ActionPerformed(ActionEvent e) {
  844.                                         String chosennn = comboBox3.getSelectedItem().toString();
  845.                                         if(chosennn.equals("Clay")) {
  846.                                                 oreID = clay_ORE;
  847.                                                 oresToMine = clay_ID;
  848.                                         } else if(chosennn.equals("Tin")) {
  849.                                                 oreID = tin_ORE;
  850.                                                 oresToMine = tin_ID;
  851.                                         } else if(chosennn.equals("Iron")) {
  852.                                                 oreID = iron_ORE;
  853.                                                 oresToMine = iron_ID;
  854.                                         } else {
  855.                                                 oreID = silver_ORE;
  856.                                                 oresToMine = silver_ID;
  857.                                         }
  858.                                         guiWait = false;
  859.                                         g.dispose();
  860.                                 }
  861.  
  862.                                 private void button6ActionPerformed(ActionEvent e) {
  863.                                         String chosenn = comboBox2.getSelectedItem().toString();
  864.                                         if(chosenn.equals("Coal")) {
  865.                                                 oreID = coal_ORE;
  866.                                                 oresToMine = coal_ID;
  867.                                         } else if(chosenn.equals("Tin")) {
  868.                                                 oreID = tin_ORE;
  869.                                                 oresToMine = tin_ID;
  870.                                         } else {
  871.                                                 oreID = clay_ORE;
  872.                                                 oresToMine = clay_ID;
  873.                                         }
  874.                                         guiWait = false;
  875.                                         g.dispose();
  876.                                 }
  877.  
  878.                                 private void button7ActionPerformed(ActionEvent e) {
  879.                                         String chosen = comboBox1.getSelectedItem().toString();
  880.                                         if(chosen.equals("Coal")) {
  881.                                                 oreID = coal_ORE;
  882.                                                 oresToMine = coal_ID;
  883.                                         }
  884.                                         guiWait = false;
  885.                                         g.dispose();
  886.                                 }
  887.  
  888.                                 private void button8ActionPerformed(ActionEvent e) {
  889.                                         log(Color.RED, "Essence mine will be added later go mine somewhere else.");
  890.                                 }
  891.  
  892.                                 private void initComponents() {
  893.                                         // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
  894.                                         // Generated using JFormDesigner Evaluation license - Loliejap poepjes
  895.                                         tabbedPane3 = new JTabbedPane();
  896.                                         panel2 = new JPanel();
  897.                                         label2 = new JLabel();
  898.                                         label3 = new JLabel();
  899.                                         comboBox1 = new JComboBox();
  900.                                         label4 = new JLabel();
  901.                                         comboBox2 = new JComboBox();
  902.                                         label5 = new JLabel();
  903.                                         comboBox3 = new JComboBox();
  904.                                         label6 = new JLabel();
  905.                                         comboBox4 = new JComboBox();
  906.                                         label7 = new JLabel();
  907.                                         comboBox5 = new JComboBox();
  908.                                         label8 = new JLabel();
  909.                                         comboBox6 = new JComboBox();
  910.                                         label9 = new JLabel();
  911.                                         comboBox7 = new JComboBox();
  912.                                         button1 = new JButton();
  913.                                         button2 = new JButton();
  914.                                         button3 = new JButton();
  915.                                         button4 = new JButton();
  916.                                         button5 = new JButton();
  917.                                         button6 = new JButton();
  918.                                         button7 = new JButton();
  919.                                         label1 = new JLabel();
  920.                                         comboBox8 = new JComboBox();
  921.                                         button8 = new JButton();
  922.                                         panel3 = new JPanel();
  923.                                         label10 = new JLabel();
  924.                                         textField1 = new JTextField();
  925.                                         label11 = new JLabel();
  926.  
  927.                                         //======== this ========
  928.                                         setTitle("MultiMiner GUI");
  929.                                         Container contentPane = getContentPane();
  930.  
  931.                                         //======== tabbedPane3 ========
  932.                                         {
  933.  
  934.                                                 //======== panel2 ========
  935.                                                 {
  936.  
  937.                                                         // JFormDesigner evaluation mark
  938.                                                         panel2.setBorder(new javax.swing.border.CompoundBorder(
  939.                                                                 new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
  940.                                                                         "MultiMiner GUI", javax.swing.border.TitledBorder.LEFT,
  941.                                                                         javax.swing.border.TitledBorder.BOTTOM, new java.awt.Font("Arial", java.awt.Font.BOLD, 12),
  942.                                                                         java.awt.Color.red), panel2.getBorder())); panel2.addPropertyChangeListener(new java.beans.PropertyChangeListener(){public void propertyChange(java.beans.PropertyChangeEvent e){if("border".equals(e.getPropertyName()))throw new RuntimeException();}});
  943.  
  944.  
  945.                                                         //---- label2 ----
  946.                                                         label2.setText("MultiMiner by Rudie");
  947.                                                         label2.setForeground(Color.red);
  948.                                                         label2.setFont(new Font("Comic Sans MS", Font.BOLD, 28));
  949.  
  950.                                                         //---- label3 ----
  951.                                                         label3.setText("Mining Guild");
  952.                                                         label3.setFont(label3.getFont().deriveFont(label3.getFont().getSize() + 2f));
  953.  
  954.                                                         //---- comboBox1 ----
  955.                                                         comboBox1.setModel(new DefaultComboBoxModel(new String[] {
  956.                                                                 "Coal"
  957.                                                         }));
  958.  
  959.                                                         //---- label4 ----
  960.                                                         label4.setText("Barbarian Village");
  961.                                                         label4.setFont(label4.getFont().deriveFont(label4.getFont().getSize() + 2f));
  962.  
  963.                                                         //---- comboBox2 ----
  964.                                                         comboBox2.setModel(new DefaultComboBoxModel(new String[] {
  965.                                                                 "Coal",
  966.                                                                 "Tin",
  967.                                                                 "Clay"
  968.                                                         }));
  969.  
  970.                                                         //---- label5 ----
  971.                                                         label5.setText("Varrock West");
  972.                                                         label5.setFont(label5.getFont().deriveFont(label5.getFont().getSize() + 2f));
  973.  
  974.                                                         //---- comboBox3 ----
  975.                                                         comboBox3.setModel(new DefaultComboBoxModel(new String[] {
  976.                                                                 "Clay",
  977.                                                                 "Tin",
  978.                                                                 "Iron",
  979.                                                                 "Silver"
  980.                                                         }));
  981.  
  982.                                                         //---- label6 ----
  983.                                                         label6.setText("Al Kharid");
  984.                                                         label6.setFont(label6.getFont().deriveFont(label6.getFont().getSize() + 2f));
  985.  
  986.                                                         //---- comboBox4 ----
  987.                                                         comboBox4.setModel(new DefaultComboBoxModel(new String[] {
  988.                                                                 "Coal",
  989.                                                                 "Iron",
  990.                                                                 "Gold"
  991.                                                         }));
  992.  
  993.                                                         //---- label7 ----
  994.                                                         label7.setText("Ardougne");
  995.                                                         label7.setFont(label7.getFont().deriveFont(label7.getFont().getSize() + 2f));
  996.  
  997.                                                         //---- comboBox5 ----
  998.                                                         comboBox5.setModel(new DefaultComboBoxModel(new String[] {
  999.                                                                 "Coal",
  1000.                                                                 "Iron"
  1001.                                                         }));
  1002.  
  1003.                                                         //---- label8 ----
  1004.                                                         label8.setText("Draynor Village");
  1005.                                                         label8.setFont(label8.getFont().deriveFont(label8.getFont().getSize() + 2f));
  1006.  
  1007.                                                         //---- comboBox6 ----
  1008.                                                         comboBox6.setModel(new DefaultComboBoxModel(new String[] {
  1009.                                                                 "Clay"
  1010.                                                         }));
  1011.  
  1012.                                                         //---- label9 ----
  1013.                                                         label9.setText("Yanille");
  1014.                                                         label9.setFont(label9.getFont().deriveFont(label9.getFont().getSize() + 2f));
  1015.  
  1016.                                                         //---- comboBox7 ----
  1017.                                                         comboBox7.setModel(new DefaultComboBoxModel(new String[] {
  1018.                                                                 "Iron"
  1019.                                                         }));
  1020.  
  1021.                                                         //---- button1 ----
  1022.                                                         button1.setText("Start For Yanille");
  1023.                                                         button1.addActionListener(new ActionListener() {
  1024.                                                                 @Override
  1025.                                                                 public void actionPerformed(ActionEvent e) {
  1026.                                                                         button1ActionPerformed(e);
  1027.                                                                 }
  1028.                                                         });
  1029.  
  1030.                                                         //---- button2 ----
  1031.                                                         button2.setText("Start For Draynor");
  1032.                                                         button2.addActionListener(new ActionListener() {
  1033.                                                                 @Override
  1034.                                                                 public void actionPerformed(ActionEvent e) {
  1035.                                                                         button2ActionPerformed(e);
  1036.                                                                 }
  1037.                                                         });
  1038.  
  1039.                                                         //---- button3 ----
  1040.                                                         button3.setText("Start For Ardougne");
  1041.                                                         button3.addActionListener(new ActionListener() {
  1042.                                                                 @Override
  1043.                                                                 public void actionPerformed(ActionEvent e) {
  1044.                                                                         button3ActionPerformed(e);
  1045.                                                                 }
  1046.                                                         });
  1047.  
  1048.                                                         //---- button4 ----
  1049.                                                         button4.setText("Start For Al Kharid");
  1050.                                                         button4.addActionListener(new ActionListener() {
  1051.                                                                 @Override
  1052.                                                                 public void actionPerformed(ActionEvent e) {
  1053.                                                                         button4ActionPerformed(e);
  1054.                                                                 }
  1055.                                                         });
  1056.  
  1057.                                                         //---- button5 ----
  1058.                                                         button5.setText("Start For Varrock West");
  1059.                                                         button5.addActionListener(new ActionListener() {
  1060.                                                                 @Override
  1061.                                                                 public void actionPerformed(ActionEvent e) {
  1062.                                                                         button5ActionPerformed(e);
  1063.                                                                 }
  1064.                                                         });
  1065.  
  1066.                                                         //---- button6 ----
  1067.                                                         button6.setText("Start For Barbarian Village");
  1068.                                                         button6.addActionListener(new ActionListener() {
  1069.                                                                 @Override
  1070.                                                                 public void actionPerformed(ActionEvent e) {
  1071.                                                                         button6ActionPerformed(e);
  1072.                                                                 }
  1073.                                                         });
  1074.  
  1075.                                                         //---- button7 ----
  1076.                                                         button7.setText("Start For Mining Guild");
  1077.                                                         button7.setSelectedIcon(null);
  1078.                                                         button7.addActionListener(new ActionListener() {
  1079.                                                                 @Override
  1080.                                                                 public void actionPerformed(ActionEvent e) {
  1081.                                                                         button7ActionPerformed(e);
  1082.                                                                 }
  1083.                                                         });
  1084.  
  1085.                                                         //---- label1 ----
  1086.                                                         label1.setText("Varrock West");
  1087.                                                         label1.setFont(label1.getFont().deriveFont(label1.getFont().getSize() + 2f));
  1088.  
  1089.                                                         //---- comboBox8 ----
  1090.                                                         comboBox8.setModel(new DefaultComboBoxModel(new String[] {
  1091.                                                                 "Essence"
  1092.                                                         }));
  1093.  
  1094.                                                         //---- button8 ----
  1095.                                                         button8.setText("Start For Varrock West");
  1096.                                                         button8.addActionListener(new ActionListener() {
  1097.                                                                 @Override
  1098.                                                                 public void actionPerformed(ActionEvent e) {
  1099.                                                                         button8ActionPerformed(e);
  1100.                                                                 }
  1101.                                                         });
  1102.  
  1103.                                                         GroupLayout panel2Layout = new GroupLayout(panel2);
  1104.                                                         panel2.setLayout(panel2Layout);
  1105.                                                         panel2Layout.setHorizontalGroup(
  1106.                                                                 panel2Layout.createParallelGroup()
  1107.                                                                         .addGroup(panel2Layout.createSequentialGroup()
  1108.                                                                                 .addGroup(panel2Layout.createParallelGroup()
  1109.                                                                                         .addGroup(panel2Layout.createSequentialGroup()
  1110.                                                                                                 .addGap(132, 132, 132)
  1111.                                                                                                 .addComponent(label2))
  1112.                                                                                         .addGroup(panel2Layout.createSequentialGroup()
  1113.                                                                                                 .addGap(20, 20, 20)
  1114.                                                                                                 .addGroup(panel2Layout.createParallelGroup()
  1115.                                                                                                         .addComponent(label3)
  1116.                                                                                                         .addComponent(label4)
  1117.                                                                                                         .addComponent(label5)
  1118.                                                                                                         .addComponent(label6)
  1119.                                                                                                         .addComponent(label7)
  1120.                                                                                                         .addComponent(label8)
  1121.                                                                                                         .addComponent(label9)
  1122.                                                                                                         .addComponent(label1))
  1123.                                                                                                 .addGap(55, 55, 55)
  1124.                                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
  1125.                                                                                                         .addComponent(comboBox8, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1126.                                                                                                         .addComponent(comboBox7, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1127.                                                                                                         .addComponent(comboBox6, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1128.                                                                                                         .addComponent(comboBox5, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1129.                                                                                                         .addComponent(comboBox4, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1130.                                                                                                         .addComponent(comboBox3, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1131.                                                                                                         .addComponent(comboBox2, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  1132.                                                                                                         .addComponent(comboBox1, 0, 83, Short.MAX_VALUE))
  1133.                                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  1134.                                                                                                 .addGroup(panel2Layout.createParallelGroup()
  1135.                                                                                                         .addComponent(button8)
  1136.                                                                                                         .addComponent(button7)
  1137.                                                                                                         .addComponent(button6)
  1138.                                                                                                         .addComponent(button5)
  1139.                                                                                                         .addComponent(button4)
  1140.                                                                                                         .addComponent(button3)
  1141.                                                                                                         .addComponent(button2)
  1142.                                                                                                         .addComponent(button1))))
  1143.                                                                                 .addContainerGap(15, Short.MAX_VALUE))
  1144.                                                         );
  1145.                                                         panel2Layout.setVerticalGroup(
  1146.                                                                 panel2Layout.createParallelGroup()
  1147.                                                                         .addGroup(panel2Layout.createSequentialGroup()
  1148.                                                                                 .addContainerGap()
  1149.                                                                                 .addComponent(label2)
  1150.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  1151.                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1152.                                                                                         .addComponent(label3)
  1153.                                                                                         .addComponent(comboBox1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1154.                                                                                         .addComponent(button7))
  1155.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1156.                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1157.                                                                                         .addComponent(label4)
  1158.                                                                                         .addComponent(comboBox2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1159.                                                                                         .addComponent(button6))
  1160.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1161.                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1162.                                                                                         .addComponent(label5)
  1163.                                                                                         .addComponent(comboBox3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1164.                                                                                         .addComponent(button5))
  1165.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1166.                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1167.                                                                                         .addComponent(label6)
  1168.                                                                                         .addComponent(comboBox4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1169.                                                                                         .addComponent(button4))
  1170.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1171.                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1172.                                                                                         .addComponent(label7)
  1173.                                                                                         .addComponent(comboBox5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1174.                                                                                         .addComponent(button3))
  1175.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1176.                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1177.                                                                                         .addComponent(label8)
  1178.                                                                                         .addComponent(comboBox6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1179.                                                                                         .addComponent(button2))
  1180.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1181.                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1182.                                                                                         .addComponent(label9)
  1183.                                                                                         .addComponent(comboBox7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1184.                                                                                         .addComponent(button1))
  1185.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1186.                                                                                 .addGroup(panel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1187.                                                                                         .addComponent(label1)
  1188.                                                                                         .addComponent(comboBox8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1189.                                                                                         .addComponent(button8))
  1190.                                                                                 .addContainerGap(12, Short.MAX_VALUE))
  1191.                                                         );
  1192.                                                 }
  1193.                                                 tabbedPane3.addTab("Settings", panel2);
  1194.  
  1195.  
  1196.                                                 //======== panel3 ========
  1197.                                                 {
  1198.  
  1199.                                                         //---- label10 ----
  1200.                                                         label10.setText("More information is in the powerbot thread");
  1201.  
  1202.                                                         //---- textField1 ----
  1203.                                                         textField1.setText("http://www.powerbot.org/community/topic/438062-multiminer-mines-at-many-mining-spots-fast-flawless-always-banks/#entry5662592");
  1204.  
  1205.                                                         //---- label11 ----
  1206.                                                         label11.setText("Copy and paste this in your internet browser to see the powerbot thread");
  1207.  
  1208.                                                         GroupLayout panel3Layout = new GroupLayout(panel3);
  1209.                                                         panel3.setLayout(panel3Layout);
  1210.                                                         panel3Layout.setHorizontalGroup(
  1211.                                                                 panel3Layout.createParallelGroup()
  1212.                                                                         .addGroup(panel3Layout.createSequentialGroup()
  1213.                                                                                 .addGroup(panel3Layout.createParallelGroup()
  1214.                                                                                         .addGroup(panel3Layout.createSequentialGroup()
  1215.                                                                                                 .addContainerGap()
  1216.                                                                                                 .addComponent(label10))
  1217.                                                                                         .addGroup(panel3Layout.createSequentialGroup()
  1218.                                                                                                 .addGap(75, 75, 75)
  1219.                                                                                                 .addGroup(panel3Layout.createParallelGroup()
  1220.                                                                                                         .addComponent(label11)
  1221.                                                                                                         .addComponent(textField1, GroupLayout.PREFERRED_SIZE, 294, GroupLayout.PREFERRED_SIZE))))
  1222.                                                                                 .addContainerGap(11, Short.MAX_VALUE))
  1223.                                                         );
  1224.                                                         panel3Layout.setVerticalGroup(
  1225.                                                                 panel3Layout.createParallelGroup()
  1226.                                                                         .addGroup(panel3Layout.createSequentialGroup()
  1227.                                                                                 .addContainerGap()
  1228.                                                                                 .addComponent(label10)
  1229.                                                                                 .addGap(41, 41, 41)
  1230.                                                                                 .addComponent(label11)
  1231.                                                                                 .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1232.                                                                                 .addComponent(textField1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1233.                                                                                 .addContainerGap(194, Short.MAX_VALUE))
  1234.                                                         );
  1235.                                                 }
  1236.                                                 tabbedPane3.addTab("Info", panel3);
  1237.  
  1238.                                         }
  1239.  
  1240.                                         GroupLayout contentPaneLayout = new GroupLayout(contentPane);
  1241.                                         contentPane.setLayout(contentPaneLayout);
  1242.                                         contentPaneLayout.setHorizontalGroup(
  1243.                                                 contentPaneLayout.createParallelGroup()
  1244.                                                         .addComponent(tabbedPane3, GroupLayout.DEFAULT_SIZE, 442, Short.MAX_VALUE)
  1245.                                         );
  1246.                                         contentPaneLayout.setVerticalGroup(
  1247.                                                 contentPaneLayout.createParallelGroup()
  1248.                                                         .addGroup(contentPaneLayout.createSequentialGroup()
  1249.                                                                 .addComponent(tabbedPane3, GroupLayout.PREFERRED_SIZE, 328, GroupLayout.PREFERRED_SIZE)
  1250.                                                                 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  1251.                                         );
  1252.                                         pack();
  1253.                                         setLocationRelativeTo(getOwner());
  1254.                                         // JFormDesigner - End of component initialization  //GEN-END:initComponents
  1255.                                 }
  1256.  
  1257.                                 // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
  1258.                                 // Generated using JFormDesigner Evaluation license - Loliejap poepjes
  1259.                                 private JTabbedPane tabbedPane3;
  1260.                                 private JPanel panel2;
  1261.                                 private JLabel label2;
  1262.                                 private JLabel label3;
  1263.                                 private JComboBox comboBox1;
  1264.                                 private JLabel label4;
  1265.                                 private JComboBox comboBox2;
  1266.                                 private JLabel label5;
  1267.                                 private JComboBox comboBox3;
  1268.                                 private JLabel label6;
  1269.                                 private JComboBox comboBox4;
  1270.                                 private JLabel label7;
  1271.                                 private JComboBox comboBox5;
  1272.                                 private JLabel label8;
  1273.                                 private JComboBox comboBox6;
  1274.                                 private JLabel label9;
  1275.                                 private JComboBox comboBox7;
  1276.                                 private JButton button1;
  1277.                                 private JButton button2;
  1278.                                 private JButton button3;
  1279.                                 private JButton button4;
  1280.                                 private JButton button5;
  1281.                                 private JButton button6;
  1282.                                 private JButton button7;
  1283.                                 private JLabel label1;
  1284.                                 private JComboBox comboBox8;
  1285.                                 private JButton button8;
  1286.                                 private JPanel panel3;
  1287.                                 private JLabel label10;
  1288.                                 private JTextField textField1;
  1289.                                 private JLabel label11;
  1290.                                 // JFormDesigner - End of variables declaration  //GEN-END:variables
  1291.                         }
  1292. }
clone this paste RAW Paste Data