Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scripts.Liam;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Toolkit;
- import org.tribot.api.Timing;
- import org.tribot.api2007.Skills;
- import org.tribot.api2007.Banking;
- import org.tribot.api2007.Inventory;
- import org.tribot.api2007.Skills.SKILLS;
- import org.tribot.script.Script;
- import org.tribot.script.ScriptManifest;
- import org.tribot.script.interfaces.MessageListening07;
- import org.tribot.script.interfaces.Painting;
- import java.awt.*;
- import javax.imageio.ImageIO;
- import javax.swing.JFrame;
- import java.io.IOException;
- import java.net.URL;
- @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)
- public class Main extends Script implements Painting, MessageListening07{
- public static int InitialXP = Skills.getXP(Skills.SKILLS.MINING);
- public static int InitialLevel = Skills.getCurrentLevel(Skills.SKILLS.MINING);
- @Override
- public void run() {
- CoalMinerGUI GUI = new CoalMinerGUI();
- JFrame f = new JFrame();
- f.getContentPane();
- f.add(GUI);
- Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
- int screenW = (screensize.width) / 2;
- int screenH = (screensize.height / 2);
- f.setVisible(true);
- f.setLocation(screenW / 2, screenH / 2);
- f.setSize(500,200);
- while(!Variables.GUI_COMPLETE){
- sleep(300);
- }
- f.setVisible(false);
- while(Variables.RunScript){
- sleep(100);
- stateHandler();
- }
- }
- enum State {
- START_BANK,
- WALK_TO_MINE,
- MINE_TIN,
- DROP_TIN,
- WALK_TO_COAL_MINE,
- MINE_COAL,
- WALK_TO_BANK,
- DEPOSIT_COAL,
- WITHDRAW_COAL,
- TRADE_MULE;
- }
- private static State getState(){
- if(Skills.getCurrentLevel(Skills.SKILLS.MINING) < 31){
- if(Inventory.find("Tinderbox").length > 0){
- return State.START_BANK;
- }else{
- if(Variables.IsAtRocks()){
- if(Inventory.isFull()){
- return State.DROP_TIN;
- }else{
- return State.MINE_TIN;
- }
- }else{
- return State.WALK_TO_MINE;
- }
- }
- }else if(Skills.getCurrentLevel(Skills.SKILLS.MINING) >= 31){
- if(Variables.NeedTrade){
- if(Inventory.find(454).length == 0){
- return State.WITHDRAW_COAL;
- }else{
- return State.TRADE_MULE;
- }
- }else{
- if(Variables.AtCoalMine()){
- if(Inventory.isFull()){
- return State.WALK_TO_BANK;
- }else{
- return State.MINE_COAL;
- }
- }else{
- if(Banking.isInBank()){
- if(Inventory.find("Coal").length == 0){
- return State.WALK_TO_COAL_MINE;
- }else{
- return State.DEPOSIT_COAL;
- }
- }
- }
- if(!Variables.AtCoalMine() && !Banking.isInBank()){
- if(Inventory.isFull()){
- return State.WALK_TO_BANK;
- }else{
- return State.WALK_TO_COAL_MINE;
- }
- }
- }
- }
- return null;
- }
- public static void stateHandler(){
- switch (getState()) {
- case START_BANK:
- Variables.StartBank();
- break;
- case WALK_TO_MINE:
- Variables.WalkToRocks();
- break;
- case MINE_TIN:
- Variables.MineTin();
- break;
- case DROP_TIN:
- Variables.DropTin();
- break;
- case WALK_TO_COAL_MINE:
- Variables.WalkToCoalMine();
- break;
- case MINE_COAL:
- Variables.MineCoal();
- break;
- case WALK_TO_BANK:
- Variables.WalkToBank();
- break;
- case DEPOSIT_COAL:
- Variables.BankCoal();
- break;
- case WITHDRAW_COAL:
- Variables.WithdrawCoal();
- break;
- case TRADE_MULE:
- Variables.TradeMule();
- break;
- }
- }
- //START: Code generated using Enfilade's Easel
- private Image getImage(String url) {
- try {
- return ImageIO.read(new URL(url));
- } catch(IOException e) {
- return null;
- }
- }
- private final Color color1 = new Color(255, 204, 153);
- private final Color color2 = new Color(0, 0, 0);
- private final BasicStroke stroke1 = new BasicStroke(1);
- private final Font font1 = new Font("Arial", 0, 23);
- private final Font font2 = new Font("Arial", 0, 14);
- private final Image img1 = getImage("http://ge.2007hq.com/img/items/large/1265.png");
- public void onPaint(Graphics g1) {
- Graphics2D g = (Graphics2D)g1;
- g.setColor(color1);
- g.fillRoundRect(11, 348, 480, 105, 16, 16);
- g.setColor(color2);
- g.setStroke(stroke1);
- g.drawRoundRect(11, 348, 480, 105, 16, 16);
- g.drawImage(img1, 17, 353, null);
- g.setFont(font1);
- g.drawString("Netami's Lumby Coal Miner", 118, 373);
- g.setFont(font2);
- g.drawString("Runtime: " + Timing.msToString(getRunningTime()), 118, 393);
- g.drawString("XP Gained: " + (Skills.getXP(SKILLS.MINING) - InitialXP), 118, 408);
- if(getState() != null){
- g.drawString("Status: " + getState().toString(),300,393);
- }
- g.drawString("Mining level: " + Skills.getCurrentLevel(SKILLS.MINING), 300, 408);
- g.drawString("Ores Mined: " + Variables.OresMined,118, 423);
- }
- //END: Code generated using Enfilade's Easel
- public void serverMessageReceived(String message) {
- if(message.contains("manage")){
- Variables.OresMined = Variables.OresMined + 1;
- }
- }
- public class CoalMinerGUI extends javax.swing.JPanel {
- /**
- * Creates new form CoalMinerGUI
- */
- public CoalMinerGUI() {
- initComponents();
- }
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- jLabel1 = new javax.swing.JLabel();
- jTextField1 = new javax.swing.JTextField();
- jLabel2 = new javax.swing.JLabel();
- jButton1 = new javax.swing.JButton();
- jTextField2 = new javax.swing.JTextField();
- jLabel3 = new javax.swing.JLabel();
- jLabel1.setFont(new java.awt.Font("Segoe UI", 0, 36)); // NOI18N
- jLabel1.setText("Netami's Lumby Coal Miner");
- jTextField1.setFont(new java.awt.Font("Segoe UI", 0, 11)); // NOI18N
- jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
- jLabel2.setText("Mule Name:");
- jButton1.setFont(new java.awt.Font("Segoe UI", 0, 11)); // NOI18N
- jButton1.setText("Start");
- jButton1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton1ActionPerformed(evt);
- }
- });
- jLabel3.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
- jLabel3.setText("Mule World:");
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
- this.setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel1)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel2)
- .addComponent(jLabel3))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE)
- .addComponent(jTextField2))
- .addGap(77, 77, 77)
- .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jLabel1)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jTextField1)
- .addGap(1, 1, 1))
- .addComponent(jLabel2))
- .addGap(11, 11, 11)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel3))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(7, 7, 7)))
- .addContainerGap())
- );
- }// </editor-fold>
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
- Variables.MuleName = jTextField1.getText();
- Variables.GUI_COMPLETE = true;
- Variables.MuleWorld = Integer.parseInt(jTextField2.getText());
- }
- private javax.swing.JButton jButton1;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JTextField jTextField1;
- private javax.swing.JTextField jTextField2;
- }
- public void clanMessageReceived(String arg0, String arg1) {
- }
- public void duelRequestReceived(String arg0, String arg1) {
- }
- public void personalMessageReceived(String arg0, String arg1) {
- }
- public void playerMessageReceived(String arg0, String arg1) {
- }
- public void tradeRequestReceived(String arg0) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement