Advertisement
Guest User

Main

a guest
Oct 4th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.17 KB | None | 0 0
  1. package scripts.Liam;
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.Graphics;
  5. import java.awt.Toolkit;
  6. import org.tribot.api.Timing;
  7. import org.tribot.api2007.Skills;
  8. import org.tribot.api2007.Banking;
  9. import org.tribot.api2007.Inventory;
  10. import org.tribot.api2007.Skills.SKILLS;
  11. import org.tribot.script.Script;
  12. import org.tribot.script.ScriptManifest;
  13. import org.tribot.script.interfaces.MessageListening07;
  14. import org.tribot.script.interfaces.Painting;
  15. import java.awt.*;
  16. import javax.imageio.ImageIO;
  17. import javax.swing.JFrame;
  18.  
  19. import java.io.IOException;
  20. import java.net.URL;
  21.  
  22. @ScriptManifest(authors = { "Netami" }, category = "Mining", name = "Netami's Coal Miner (Gold Farm)", version = 1.00, description = "Gets from 1-31 Mining using a bronze pick and tin in Lumbridge mine. Will then switch to an addy pick if available and mine coal, trading over to a mule every 2000 (supports worldhopping)!", gameMode = 1)
  23.  
  24.  
  25. public class Main extends Script implements Painting, MessageListening07{
  26.  
  27. public static int InitialXP = Skills.getXP(Skills.SKILLS.MINING);
  28. public static int InitialLevel = Skills.getCurrentLevel(Skills.SKILLS.MINING);
  29.  
  30. @Override
  31. public void run() {
  32. CoalMinerGUI GUI = new CoalMinerGUI();
  33. JFrame f = new JFrame();
  34. f.getContentPane();
  35. f.add(GUI);
  36. Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
  37. int screenW = (screensize.width) / 2;
  38. int screenH = (screensize.height / 2);
  39. f.setVisible(true);
  40. f.setLocation(screenW / 2, screenH / 2);
  41. f.setSize(500,200);
  42.  
  43. while(!Variables.GUI_COMPLETE){
  44. sleep(300);
  45. }
  46. f.setVisible(false);
  47. while(Variables.RunScript){
  48. sleep(100);
  49. stateHandler();
  50. }
  51. }
  52.  
  53. enum State {
  54. START_BANK,
  55. WALK_TO_MINE,
  56. MINE_TIN,
  57. DROP_TIN,
  58. WALK_TO_COAL_MINE,
  59. MINE_COAL,
  60. WALK_TO_BANK,
  61. DEPOSIT_COAL,
  62. WITHDRAW_COAL,
  63. TRADE_MULE;
  64. }
  65.  
  66. private static State getState(){
  67. if(Skills.getCurrentLevel(Skills.SKILLS.MINING) < 31){
  68. if(Inventory.find("Tinderbox").length > 0){
  69. return State.START_BANK;
  70. }else{
  71. if(Variables.IsAtRocks()){
  72. if(Inventory.isFull()){
  73. return State.DROP_TIN;
  74. }else{
  75. return State.MINE_TIN;
  76. }
  77. }else{
  78. return State.WALK_TO_MINE;
  79. }
  80. }
  81. }else if(Skills.getCurrentLevel(Skills.SKILLS.MINING) >= 31){
  82. if(Variables.NeedTrade){
  83. if(Inventory.find(454).length == 0){
  84. return State.WITHDRAW_COAL;
  85. }else{
  86. return State.TRADE_MULE;
  87. }
  88. }else{
  89. if(Variables.AtCoalMine()){
  90. if(Inventory.isFull()){
  91. return State.WALK_TO_BANK;
  92. }else{
  93. return State.MINE_COAL;
  94. }
  95. }else{
  96. if(Banking.isInBank()){
  97. if(Inventory.find("Coal").length == 0){
  98. return State.WALK_TO_COAL_MINE;
  99. }else{
  100. return State.DEPOSIT_COAL;
  101. }
  102. }
  103. }
  104. if(!Variables.AtCoalMine() && !Banking.isInBank()){
  105. if(Inventory.isFull()){
  106. return State.WALK_TO_BANK;
  107. }else{
  108. return State.WALK_TO_COAL_MINE;
  109. }
  110. }
  111. }
  112. }
  113. return null;
  114. }
  115.  
  116. public static void stateHandler(){
  117. switch (getState()) {
  118. case START_BANK:
  119. Variables.StartBank();
  120. break;
  121. case WALK_TO_MINE:
  122. Variables.WalkToRocks();
  123. break;
  124. case MINE_TIN:
  125. Variables.MineTin();
  126. break;
  127. case DROP_TIN:
  128. Variables.DropTin();
  129. break;
  130. case WALK_TO_COAL_MINE:
  131. Variables.WalkToCoalMine();
  132. break;
  133. case MINE_COAL:
  134. Variables.MineCoal();
  135. break;
  136. case WALK_TO_BANK:
  137. Variables.WalkToBank();
  138. break;
  139. case DEPOSIT_COAL:
  140. Variables.BankCoal();
  141. break;
  142. case WITHDRAW_COAL:
  143. Variables.WithdrawCoal();
  144. break;
  145. case TRADE_MULE:
  146. Variables.TradeMule();
  147. break;
  148. }
  149. }
  150.  
  151. //START: Code generated using Enfilade's Easel
  152. private Image getImage(String url) {
  153. try {
  154. return ImageIO.read(new URL(url));
  155. } catch(IOException e) {
  156. return null;
  157. }
  158. }
  159.  
  160. private final Color color1 = new Color(255, 204, 153);
  161. private final Color color2 = new Color(0, 0, 0);
  162.  
  163. private final BasicStroke stroke1 = new BasicStroke(1);
  164.  
  165. private final Font font1 = new Font("Arial", 0, 23);
  166. private final Font font2 = new Font("Arial", 0, 14);
  167.  
  168. private final Image img1 = getImage("http://ge.2007hq.com/img/items/large/1265.png");
  169.  
  170. public void onPaint(Graphics g1) {
  171. Graphics2D g = (Graphics2D)g1;
  172. g.setColor(color1);
  173. g.fillRoundRect(11, 348, 480, 105, 16, 16);
  174. g.setColor(color2);
  175. g.setStroke(stroke1);
  176. g.drawRoundRect(11, 348, 480, 105, 16, 16);
  177. g.drawImage(img1, 17, 353, null);
  178. g.setFont(font1);
  179. g.drawString("Netami's Lumby Coal Miner", 118, 373);
  180. g.setFont(font2);
  181. g.drawString("Runtime: " + Timing.msToString(getRunningTime()), 118, 393);
  182. g.drawString("XP Gained: " + (Skills.getXP(SKILLS.MINING) - InitialXP), 118, 408);
  183. if(getState() != null){
  184. g.drawString("Status: " + getState().toString(),300,393);
  185. }
  186. g.drawString("Mining level: " + Skills.getCurrentLevel(SKILLS.MINING), 300, 408);
  187. g.drawString("Ores Mined: " + Variables.OresMined,118, 423);
  188. }
  189. //END: Code generated using Enfilade's Easel
  190. public void serverMessageReceived(String message) {
  191. if(message.contains("manage")){
  192. Variables.OresMined = Variables.OresMined + 1;
  193. }
  194. }
  195.  
  196. public class CoalMinerGUI extends javax.swing.JPanel {
  197.  
  198. /**
  199. * Creates new form CoalMinerGUI
  200. */
  201. public CoalMinerGUI() {
  202. initComponents();
  203. }
  204.  
  205. /**
  206. * This method is called from within the constructor to initialize the form.
  207. * WARNING: Do NOT modify this code. The content of this method is always
  208. * regenerated by the Form Editor.
  209. */
  210. @SuppressWarnings("unchecked")
  211. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  212. private void initComponents() {
  213.  
  214. jLabel1 = new javax.swing.JLabel();
  215. jTextField1 = new javax.swing.JTextField();
  216. jLabel2 = new javax.swing.JLabel();
  217. jButton1 = new javax.swing.JButton();
  218. jTextField2 = new javax.swing.JTextField();
  219. jLabel3 = new javax.swing.JLabel();
  220.  
  221. jLabel1.setFont(new java.awt.Font("Segoe UI", 0, 36)); // NOI18N
  222. jLabel1.setText("Netami's Lumby Coal Miner");
  223.  
  224. jTextField1.setFont(new java.awt.Font("Segoe UI", 0, 11)); // NOI18N
  225.  
  226. jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
  227. jLabel2.setText("Mule Name:");
  228.  
  229. jButton1.setFont(new java.awt.Font("Segoe UI", 0, 11)); // NOI18N
  230. jButton1.setText("Start");
  231. jButton1.addActionListener(new java.awt.event.ActionListener() {
  232. public void actionPerformed(java.awt.event.ActionEvent evt) {
  233. jButton1ActionPerformed(evt);
  234. }
  235. });
  236.  
  237. jLabel3.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
  238. jLabel3.setText("Mule World:");
  239.  
  240. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
  241. this.setLayout(layout);
  242. layout.setHorizontalGroup(
  243. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  244. .addGroup(layout.createSequentialGroup()
  245. .addContainerGap()
  246. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  247. .addComponent(jLabel1)
  248. .addGroup(layout.createSequentialGroup()
  249. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  250. .addComponent(jLabel2)
  251. .addComponent(jLabel3))
  252. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  253. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  254. .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE)
  255. .addComponent(jTextField2))
  256. .addGap(77, 77, 77)
  257. .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)))
  258. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  259. );
  260. layout.setVerticalGroup(
  261. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  262. .addGroup(layout.createSequentialGroup()
  263. .addContainerGap()
  264. .addComponent(jLabel1)
  265. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  266. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  267. .addGroup(layout.createSequentialGroup()
  268. .addComponent(jTextField1)
  269. .addGap(1, 1, 1))
  270. .addComponent(jLabel2))
  271. .addGap(11, 11, 11)
  272. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  273. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  274. .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  275. .addComponent(jLabel3))
  276. .addGroup(layout.createSequentialGroup()
  277. .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
  278. .addGap(7, 7, 7)))
  279. .addContainerGap())
  280. );
  281. }// </editor-fold>
  282.  
  283. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  284. Variables.MuleName = jTextField1.getText();
  285. Variables.GUI_COMPLETE = true;
  286. Variables.MuleWorld = Integer.parseInt(jTextField2.getText());
  287. }
  288. private javax.swing.JButton jButton1;
  289. private javax.swing.JLabel jLabel1;
  290. private javax.swing.JLabel jLabel2;
  291. private javax.swing.JLabel jLabel3;
  292. private javax.swing.JTextField jTextField1;
  293. private javax.swing.JTextField jTextField2;
  294. }
  295.  
  296. public void clanMessageReceived(String arg0, String arg1) {
  297. }
  298. public void duelRequestReceived(String arg0, String arg1) {
  299. }
  300. public void personalMessageReceived(String arg0, String arg1) {
  301. }
  302. public void playerMessageReceived(String arg0, String arg1) {
  303. }
  304. public void tradeRequestReceived(String arg0) {
  305. }
  306. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement