From 389f2bf50e6d9e3b4988609b5e61c6b67fa145af Mon Sep 17 00:00:00 2001 From: Eric-Turner Date: Fri, 20 May 2016 02:35:05 -0400 Subject: [PATCH 1/8] Added screenshot feature --- .../java/org/parabot/core/Directories.java | 11 + src/main/java/org/parabot/core/ui/BotUI.java | 452 +++++++++--------- 2 files changed, 243 insertions(+), 220 deletions(-) diff --git a/src/main/java/org/parabot/core/Directories.java b/src/main/java/org/parabot/core/Directories.java index 8b04584..e4e5204 100644 --- a/src/main/java/org/parabot/core/Directories.java +++ b/src/main/java/org/parabot/core/Directories.java @@ -40,6 +40,7 @@ public class Directories { cached.put("Settings", new File(cached.get("Root"), "/Parabot/settings/")); cached.put("Servers", new File(cached.get("Root"), "/Parabot/servers/")); cached.put("Cache", new File(cached.get("Root"), "/Parabot/cache/")); + cached.put("Screenshots", new File(cached.get("Root"), "/Parabot/screenshots/")); Core.verbose("Directories cached."); clearCache(259200); @@ -192,6 +193,16 @@ public class Directories { return cached.get("Home"); } + + /** + * Returns the screenshot folder. + * + * @return + */ + public static File getScreenshotDir() { + return cached.get("Screenshots"); + } + /** * Validates all directories and makes them if necessary */ diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 0456cf9..d65c7c5 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -7,13 +7,17 @@ import org.parabot.core.ui.components.VerboseLoader; import org.parabot.core.ui.images.Images; import org.parabot.core.ui.utils.SwingUtil; import org.parabot.environment.OperatingSystem; +import org.parabot.environment.api.utils.StringUtils; import org.parabot.environment.scripts.Script; import org.parabot.environment.scripts.randoms.Random; +import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.event.*; +import java.awt.image.BufferedImage; import java.io.File; +import java.io.IOException; import java.util.ArrayList; /** @@ -23,272 +27,280 @@ import java.util.ArrayList; */ public class BotUI extends JFrame implements ActionListener, ComponentListener, WindowListener { - private static final long serialVersionUID = -2126184292879805519L; - private static BotUI instance; - private static JDialog dialog; + private static final long serialVersionUID = -2126184292879805519L; + private static BotUI instance; + private static JDialog dialog; - private JMenuItem run, pause, stop, cacheClear; - private boolean runScript, pauseScript; + private JMenuItem run, pause, stop, cacheClear; + private boolean runScript, pauseScript; - public BotUI(String username, String password) { - if (instance != null) { - throw new IllegalStateException("BotUI already created"); - } - instance = this; - //WebLookAndFeel.install(); - JPopupMenu.setDefaultLightWeightPopupEnabled(false); + public BotUI(String username, String password) { + if (instance != null) { + throw new IllegalStateException("BotUI already created"); + } + instance = this; + //WebLookAndFeel.install(); + JPopupMenu.setDefaultLightWeightPopupEnabled(false); - setTitle("Parabot"); - setResizable(false); - setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); - createMenu(); + setTitle("Parabot"); + setResizable(false); + setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + createMenu(); - setLayout(new BorderLayout()); - addComponentListener(this); - addWindowListener(this); + setLayout(new BorderLayout()); + addComponentListener(this); + addWindowListener(this); - add(GamePanel.getInstance()); - GamePanel.getInstance().add(VerboseLoader.get(username, password), BorderLayout.CENTER); - add(Logger.getInstance(), BorderLayout.SOUTH); + add(GamePanel.getInstance()); + GamePanel.getInstance().add(VerboseLoader.get(username, password), BorderLayout.CENTER); + add(Logger.getInstance(), BorderLayout.SOUTH); - SwingUtil.setParabotIcons(this); + SwingUtil.setParabotIcons(this); - pack(); - setLocationRelativeTo(null); - BotDialog.getInstance(this); + pack(); + setLocationRelativeTo(null); + BotDialog.getInstance(this); - if (!OperatingSystem.getOS().equals(OperatingSystem.WINDOWS)) { - BotDialog.getInstance().setVisible(false); - } - } + if (!OperatingSystem.getOS().equals(OperatingSystem.WINDOWS)) { + BotDialog.getInstance().setVisible(false); + } + } - public static BotUI getInstance() { - return instance; - } + public static BotUI getInstance() { + return instance; + } + private void createMenu() { + JMenuBar menuBar = new JMenuBar(); - private void createMenu() { - JMenuBar menuBar = new JMenuBar(); + JMenu file = new JMenu("File"); + JMenu scripts = new JMenu("Script"); + JMenu features = new JMenu("Features"); - JMenu file = new JMenu("File"); - JMenu scripts = new JMenu("Script"); - JMenu features = new JMenu("Features"); + JMenuItem screenshot = new JMenuItem("Create screenshot"); + JMenuItem proxy = new JMenuItem("Network"); + JMenuItem randoms = new JMenuItem("Randoms"); + JMenuItem dialog = new JCheckBoxMenuItem("Disable dialog"); + JMenuItem logger = new JCheckBoxMenuItem("Logger"); - JMenuItem screenshot = new JMenuItem("Create screenshot"); - JMenuItem proxy = new JMenuItem("Network"); - JMenuItem randoms = new JMenuItem("Randoms"); - JMenuItem dialog = new JCheckBoxMenuItem("Disable dialog"); - JMenuItem logger = new JCheckBoxMenuItem("Logger"); + if (!OperatingSystem.getOS().equals(OperatingSystem.WINDOWS)) { + dialog.setSelected(true); + } - if (!OperatingSystem.getOS().equals(OperatingSystem.WINDOWS)) { - dialog.setSelected(true); - } + JMenuItem explorer = new JMenuItem("Reflection explorer"); + JMenuItem exit = new JMenuItem("Exit"); - JMenuItem explorer = new JMenuItem("Reflection explorer"); - JMenuItem exit = new JMenuItem("Exit"); + run = new JMenuItem("Run"); + run.setIcon(new ImageIcon(Images.getResource("/storage/images/run.png"))); - run = new JMenuItem("Run"); - run.setIcon(new ImageIcon(Images.getResource("/storage/images/run.png"))); + pause = new JMenuItem("Pause"); + pause.setEnabled(false); + pause.setIcon(new ImageIcon(Images.getResource("/storage/images/pause.png"))); - pause = new JMenuItem("Pause"); - pause.setEnabled(false); - pause.setIcon(new ImageIcon(Images.getResource("/storage/images/pause.png"))); + stop = new JMenuItem("Stop"); + stop.setEnabled(false); + stop.setIcon(new ImageIcon(Images.getResource("/storage/images/stop.png"))); - stop = new JMenuItem("Stop"); - stop.setEnabled(false); - stop.setIcon(new ImageIcon(Images.getResource("/storage/images/stop.png"))); + cacheClear = new JMenuItem("Clear cache"); + cacheClear.setIcon(new ImageIcon(Images.getResource("/storage/images/trash.png"))); - cacheClear = new JMenuItem("Clear cache"); - cacheClear.setIcon(new ImageIcon(Images.getResource("/storage/images/trash.png"))); + screenshot.addActionListener(this); + proxy.addActionListener(this); + randoms.addActionListener(this); + dialog.addActionListener(this); + logger.addActionListener(this); + explorer.addActionListener(this); + exit.addActionListener(this); + cacheClear.addActionListener(this); - screenshot.addActionListener(this); - proxy.addActionListener(this); - randoms.addActionListener(this); - dialog.addActionListener(this); - logger.addActionListener(this); - explorer.addActionListener(this); - exit.addActionListener(this); - cacheClear.addActionListener(this); + run.addActionListener(this); + pause.addActionListener(this); + stop.addActionListener(this); - run.addActionListener(this); - pause.addActionListener(this); - stop.addActionListener(this); + file.add(screenshot); + file.add(proxy); + file.add(randoms); + file.add(dialog); + file.add(logger); + file.add(explorer); + file.add(exit); - file.add(screenshot); - file.add(proxy); - file.add(randoms); - file.add(dialog); - file.add(logger); - file.add(explorer); - file.add(exit); + scripts.add(run); + scripts.add(pause); + scripts.add(stop); - scripts.add(run); - scripts.add(pause); - scripts.add(stop); + features.add(cacheClear); - features.add(cacheClear); - - menuBar.add(file); - menuBar.add(scripts); - menuBar.add(features); + menuBar.add(file); + menuBar.add(scripts); + menuBar.add(features); - setJMenuBar(menuBar); - } + setJMenuBar(menuBar); + } - @Override - public void actionPerformed(ActionEvent e) { - String command = e.getActionCommand(); + @Override + public void actionPerformed(ActionEvent e) { + String command = e.getActionCommand(); - switch (command) { - case "Create screenshot": - JOptionPane.showMessageDialog(this, "We are still working on this..."); - break; - case "Exit": - System.exit(0); - break; - case "Network": - NetworkUI.getInstance().setVisible(true); - break; - case "Randoms": - ArrayList randoms = new ArrayList<>(); - for (Random r : Context.getInstance().getRandomHandler().getRandoms()) { - randoms.add(r.getName()); - } - RandomUI.getInstance().openFrame(randoms); - break; - case "Reflection explorer": - new ReflectUI().setVisible(true); - break; - case "Run": - if (pauseScript) { - pauseScript = false; - pause.setEnabled(true); - run.setEnabled(false); - setScriptState(Script.STATE_RUNNING); - break; - } - new ScriptSelector().setVisible(true); - break; - case "Pause": - setScriptState(Script.STATE_PAUSE); - pause.setEnabled(false); - run.setEnabled(true); - pauseScript = true; - break; - case "Stop": - setScriptState(Script.STATE_STOPPED); - break; - case "Logger": - Logger.getInstance().setVisible(!Logger.getInstance().isVisible()); - BotUI.getInstance().pack(); - BotUI.getInstance().revalidate(); - if (!Logger.getInstance().isClearable()) { - Logger.getInstance().setClearable(); - } else if (Logger.getInstance().isClearable() && !Logger.getInstance().isVisible()) { - Logger.clearLogger(); - Logger.addMessage("Logger started", false); - } - break; - case "Disable dialog": - BotDialog.getInstance().setVisible(!dialog.isVisible()); - break; - case "Clear cache": - Directories.clearCache(); - break; - default: - System.out.println("Invalid command: " + command); - } - } + switch (command) { + case "Create screenshot": + try { + Robot robot = new Robot(); + Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight()); + BufferedImage image = robot.createScreenCapture(parabotScreen); + ImageIO.write(image, "png", new File(Directories.getScreenshotDir().getPath() + "/" + StringUtils.randomString(10) + ".png")); + } catch (IOException k) { + k.printStackTrace(); + } catch (AWTException e1) { + e1.printStackTrace(); + } + break; + case "Exit": + System.exit(0); + break; + case "Network": + NetworkUI.getInstance().setVisible(true); + break; + case "Randoms": + ArrayList randoms = new ArrayList<>(); + for (Random r : Context.getInstance().getRandomHandler().getRandoms()) { + randoms.add(r.getName()); + } + RandomUI.getInstance().openFrame(randoms); + break; + case "Reflection explorer": + new ReflectUI().setVisible(true); + break; + case "Run": + if (pauseScript) { + pauseScript = false; + pause.setEnabled(true); + run.setEnabled(false); + setScriptState(Script.STATE_RUNNING); + break; + } + new ScriptSelector().setVisible(true); + break; + case "Pause": + setScriptState(Script.STATE_PAUSE); + pause.setEnabled(false); + run.setEnabled(true); + pauseScript = true; + break; + case "Stop": + setScriptState(Script.STATE_STOPPED); + break; + case "Logger": + Logger.getInstance().setVisible(!Logger.getInstance().isVisible()); + BotUI.getInstance().pack(); + BotUI.getInstance().revalidate(); + if (!Logger.getInstance().isClearable()) { + Logger.getInstance().setClearable(); + } else if (Logger.getInstance().isClearable() && !Logger.getInstance().isVisible()) { + Logger.clearLogger(); + Logger.addMessage("Logger started", false); + } + break; + case "Disable dialog": + BotDialog.getInstance().setVisible(!dialog.isVisible()); + break; + case "Clear cache": + Directories.clearCache(); + break; + default: + System.out.println("Invalid command: " + command); + } + } - protected void setDialog(JDialog dialog) { - BotUI.dialog = dialog; - } + protected void setDialog(JDialog dialog) { + BotUI.dialog = dialog; + } - @Override - public void componentMoved(ComponentEvent e) { - if (dialog == null || !isVisible()) { - return; - } - Point gameLocation = GamePanel.getInstance().getLocationOnScreen(); - dialog.setLocation(gameLocation.x, gameLocation.y); - } + @Override + public void componentMoved(ComponentEvent e) { + if (dialog == null || !isVisible()) { + return; + } + Point gameLocation = GamePanel.getInstance().getLocationOnScreen(); + dialog.setLocation(gameLocation.x, gameLocation.y); + } - public void toggleRun() { - runScript = !runScript; - if (runScript) { - scriptRunning(); - } else { - scriptStopped(); - } - } + public void toggleRun() { + runScript = !runScript; + if (runScript) { + scriptRunning(); + } else { + scriptStopped(); + } + } - private void scriptRunning() { - run.setEnabled(false); - pause.setEnabled(true); - stop.setEnabled(true); - } + private void scriptRunning() { + run.setEnabled(false); + pause.setEnabled(true); + stop.setEnabled(true); + } - private void scriptStopped() { - run.setEnabled(true); - pause.setEnabled(false); - stop.setEnabled(false); - } + private void scriptStopped() { + run.setEnabled(true); + pause.setEnabled(false); + stop.setEnabled(false); + } - private void setScriptState(int state) { - if (Context.getInstance().getRunningScript() != null) { - Context.getInstance().getRunningScript().setState(state); - } - } + private void setScriptState(int state) { + if (Context.getInstance().getRunningScript() != null) { + Context.getInstance().getRunningScript().setState(state); + } + } - @Override - public void componentResized(ComponentEvent e) { - if (isVisible()) { - BotDialog.getInstance().setSize(getSize()); - } - } + @Override + public void componentResized(ComponentEvent e) { + if (isVisible()) { + BotDialog.getInstance().setSize(getSize()); + } + } - @Override - public void componentShown(ComponentEvent e) { - } + @Override + public void componentShown(ComponentEvent e) { + } - @Override - public void componentHidden(ComponentEvent e) { - } + @Override + public void componentHidden(ComponentEvent e) { + } - @Override - public void windowActivated(WindowEvent arg0) { - } + @Override + public void windowActivated(WindowEvent arg0) { + } - @Override - public void windowClosed(WindowEvent arg0) { - } + @Override + public void windowClosed(WindowEvent arg0) { + } - @Override - public void windowClosing(WindowEvent e) { - } + @Override + public void windowClosing(WindowEvent e) { + } - @Override - public void windowDeactivated(WindowEvent arg0) { + @Override + public void windowDeactivated(WindowEvent arg0) { - } + } - @Override - public void windowDeiconified(WindowEvent arg0) { - if (isVisible()) { - BotDialog.getInstance().setVisible(false); - BotDialog.getInstance().setVisible(true); - } - } + @Override + public void windowDeiconified(WindowEvent arg0) { + if (isVisible()) { + BotDialog.getInstance().setVisible(false); + BotDialog.getInstance().setVisible(true); + } + } - @Override - public void windowIconified(WindowEvent arg0) { + @Override + public void windowIconified(WindowEvent arg0) { - } + } - @Override - public void windowOpened(WindowEvent arg0) { - } + @Override + public void windowOpened(WindowEvent arg0) { + } } From bae14acfbab336d0e3d8a6d2dda7f74b84a2fdf3 Mon Sep 17 00:00:00 2001 From: Eric-Turner Date: Fri, 20 May 2016 05:55:28 -0400 Subject: [PATCH 2/8] Indentation fixerino --- src/main/java/org/parabot/core/Directories.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/Directories.java b/src/main/java/org/parabot/core/Directories.java index e4e5204..d18ae07 100644 --- a/src/main/java/org/parabot/core/Directories.java +++ b/src/main/java/org/parabot/core/Directories.java @@ -194,8 +194,8 @@ public class Directories { } - /** - * Returns the screenshot folder. + /** + * Returns the screenshot folder. * * @return */ From e8b1c28eae77eabd5344b32ff4ede4f6f50a1c1a Mon Sep 17 00:00:00 2001 From: Eric-Turner Date: Fri, 20 May 2016 05:59:30 -0400 Subject: [PATCH 3/8] Indention fix v2 --- src/main/java/org/parabot/core/ui/BotUI.java | 458 +++++++++---------- 1 file changed, 229 insertions(+), 229 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index d65c7c5..04c993b 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -27,280 +27,280 @@ import java.util.ArrayList; */ public class BotUI extends JFrame implements ActionListener, ComponentListener, WindowListener { - private static final long serialVersionUID = -2126184292879805519L; - private static BotUI instance; - private static JDialog dialog; + private static final long serialVersionUID = -2126184292879805519L; + private static BotUI instance; + private static JDialog dialog; - private JMenuItem run, pause, stop, cacheClear; - private boolean runScript, pauseScript; + private JMenuItem run, pause, stop, cacheClear; + private boolean runScript, pauseScript; - public BotUI(String username, String password) { - if (instance != null) { - throw new IllegalStateException("BotUI already created"); - } - instance = this; - //WebLookAndFeel.install(); - JPopupMenu.setDefaultLightWeightPopupEnabled(false); + public BotUI(String username, String password) { + if (instance != null) { + throw new IllegalStateException("BotUI already created"); + } + instance = this; + //WebLookAndFeel.install(); + JPopupMenu.setDefaultLightWeightPopupEnabled(false); - setTitle("Parabot"); - setResizable(false); - setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); - createMenu(); + setTitle("Parabot"); + setResizable(false); + setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); + createMenu(); - setLayout(new BorderLayout()); - addComponentListener(this); - addWindowListener(this); + setLayout(new BorderLayout()); + addComponentListener(this); + addWindowListener(this); - add(GamePanel.getInstance()); - GamePanel.getInstance().add(VerboseLoader.get(username, password), BorderLayout.CENTER); - add(Logger.getInstance(), BorderLayout.SOUTH); + add(GamePanel.getInstance()); + GamePanel.getInstance().add(VerboseLoader.get(username, password), BorderLayout.CENTER); + add(Logger.getInstance(), BorderLayout.SOUTH); - SwingUtil.setParabotIcons(this); + SwingUtil.setParabotIcons(this); - pack(); - setLocationRelativeTo(null); - BotDialog.getInstance(this); + pack(); + setLocationRelativeTo(null); + BotDialog.getInstance(this); - if (!OperatingSystem.getOS().equals(OperatingSystem.WINDOWS)) { - BotDialog.getInstance().setVisible(false); - } - } + if (!OperatingSystem.getOS().equals(OperatingSystem.WINDOWS)) { + BotDialog.getInstance().setVisible(false); + } + } - public static BotUI getInstance() { - return instance; - } + public static BotUI getInstance() { + return instance; + } - private void createMenu() { - JMenuBar menuBar = new JMenuBar(); + private void createMenu() { + JMenuBar menuBar = new JMenuBar(); - JMenu file = new JMenu("File"); - JMenu scripts = new JMenu("Script"); - JMenu features = new JMenu("Features"); + JMenu file = new JMenu("File"); + JMenu scripts = new JMenu("Script"); + JMenu features = new JMenu("Features"); - JMenuItem screenshot = new JMenuItem("Create screenshot"); - JMenuItem proxy = new JMenuItem("Network"); - JMenuItem randoms = new JMenuItem("Randoms"); - JMenuItem dialog = new JCheckBoxMenuItem("Disable dialog"); - JMenuItem logger = new JCheckBoxMenuItem("Logger"); + JMenuItem screenshot = new JMenuItem("Create screenshot"); + JMenuItem proxy = new JMenuItem("Network"); + JMenuItem randoms = new JMenuItem("Randoms"); + JMenuItem dialog = new JCheckBoxMenuItem("Disable dialog"); + JMenuItem logger = new JCheckBoxMenuItem("Logger"); - if (!OperatingSystem.getOS().equals(OperatingSystem.WINDOWS)) { - dialog.setSelected(true); - } + if (!OperatingSystem.getOS().equals(OperatingSystem.WINDOWS)) { + dialog.setSelected(true); + } - JMenuItem explorer = new JMenuItem("Reflection explorer"); - JMenuItem exit = new JMenuItem("Exit"); + JMenuItem explorer = new JMenuItem("Reflection explorer"); + JMenuItem exit = new JMenuItem("Exit"); - run = new JMenuItem("Run"); - run.setIcon(new ImageIcon(Images.getResource("/storage/images/run.png"))); + run = new JMenuItem("Run"); + run.setIcon(new ImageIcon(Images.getResource("/storage/images/run.png"))); - pause = new JMenuItem("Pause"); - pause.setEnabled(false); - pause.setIcon(new ImageIcon(Images.getResource("/storage/images/pause.png"))); + pause = new JMenuItem("Pause"); + pause.setEnabled(false); + pause.setIcon(new ImageIcon(Images.getResource("/storage/images/pause.png"))); - stop = new JMenuItem("Stop"); - stop.setEnabled(false); - stop.setIcon(new ImageIcon(Images.getResource("/storage/images/stop.png"))); + stop = new JMenuItem("Stop"); + stop.setEnabled(false); + stop.setIcon(new ImageIcon(Images.getResource("/storage/images/stop.png"))); - cacheClear = new JMenuItem("Clear cache"); - cacheClear.setIcon(new ImageIcon(Images.getResource("/storage/images/trash.png"))); + cacheClear = new JMenuItem("Clear cache"); + cacheClear.setIcon(new ImageIcon(Images.getResource("/storage/images/trash.png"))); - screenshot.addActionListener(this); - proxy.addActionListener(this); - randoms.addActionListener(this); - dialog.addActionListener(this); - logger.addActionListener(this); - explorer.addActionListener(this); - exit.addActionListener(this); - cacheClear.addActionListener(this); + screenshot.addActionListener(this); + proxy.addActionListener(this); + randoms.addActionListener(this); + dialog.addActionListener(this); + logger.addActionListener(this); + explorer.addActionListener(this); + exit.addActionListener(this); + cacheClear.addActionListener(this); - run.addActionListener(this); - pause.addActionListener(this); - stop.addActionListener(this); + run.addActionListener(this); + pause.addActionListener(this); + stop.addActionListener(this); - file.add(screenshot); - file.add(proxy); - file.add(randoms); - file.add(dialog); - file.add(logger); - file.add(explorer); - file.add(exit); + file.add(screenshot); + file.add(proxy); + file.add(randoms); + file.add(dialog); + file.add(logger); + file.add(explorer); + file.add(exit); - scripts.add(run); - scripts.add(pause); - scripts.add(stop); + scripts.add(run); + scripts.add(pause); + scripts.add(stop); - features.add(cacheClear); + features.add(cacheClear); - menuBar.add(file); - menuBar.add(scripts); - menuBar.add(features); + menuBar.add(file); + menuBar.add(scripts); + menuBar.add(features); - setJMenuBar(menuBar); - } + setJMenuBar(menuBar); + } - @Override - public void actionPerformed(ActionEvent e) { - String command = e.getActionCommand(); + @Override + public void actionPerformed(ActionEvent e) { + String command = e.getActionCommand(); - switch (command) { - case "Create screenshot": - try { - Robot robot = new Robot(); - Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight()); - BufferedImage image = robot.createScreenCapture(parabotScreen); - ImageIO.write(image, "png", new File(Directories.getScreenshotDir().getPath() + "/" + StringUtils.randomString(10) + ".png")); - } catch (IOException k) { - k.printStackTrace(); - } catch (AWTException e1) { - e1.printStackTrace(); - } - break; - case "Exit": - System.exit(0); - break; - case "Network": - NetworkUI.getInstance().setVisible(true); - break; - case "Randoms": - ArrayList randoms = new ArrayList<>(); - for (Random r : Context.getInstance().getRandomHandler().getRandoms()) { - randoms.add(r.getName()); - } - RandomUI.getInstance().openFrame(randoms); - break; - case "Reflection explorer": - new ReflectUI().setVisible(true); - break; - case "Run": - if (pauseScript) { - pauseScript = false; - pause.setEnabled(true); - run.setEnabled(false); - setScriptState(Script.STATE_RUNNING); - break; - } - new ScriptSelector().setVisible(true); - break; - case "Pause": - setScriptState(Script.STATE_PAUSE); - pause.setEnabled(false); - run.setEnabled(true); - pauseScript = true; - break; - case "Stop": - setScriptState(Script.STATE_STOPPED); - break; - case "Logger": - Logger.getInstance().setVisible(!Logger.getInstance().isVisible()); - BotUI.getInstance().pack(); - BotUI.getInstance().revalidate(); - if (!Logger.getInstance().isClearable()) { - Logger.getInstance().setClearable(); - } else if (Logger.getInstance().isClearable() && !Logger.getInstance().isVisible()) { - Logger.clearLogger(); - Logger.addMessage("Logger started", false); - } - break; - case "Disable dialog": - BotDialog.getInstance().setVisible(!dialog.isVisible()); - break; - case "Clear cache": - Directories.clearCache(); - break; - default: - System.out.println("Invalid command: " + command); - } - } + switch (command) { + case "Create screenshot": + try { + Robot robot = new Robot(); + Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight()); + BufferedImage image = robot.createScreenCapture(parabotScreen); + ImageIO.write(image, "png", new File(Directories.getScreenshotDir().getPath() + "/" + StringUtils.randomString(10) + ".png")); + } catch (IOException k) { + k.printStackTrace(); + } catch (AWTException e1) { + e1.printStackTrace(); + } + break; + case "Exit": + System.exit(0); + break; + case "Network": + NetworkUI.getInstance().setVisible(true); + break; + case "Randoms": + ArrayList randoms = new ArrayList<>(); + for (Random r : Context.getInstance().getRandomHandler().getRandoms()) { + randoms.add(r.getName()); + } + RandomUI.getInstance().openFrame(randoms); + break; + case "Reflection explorer": + new ReflectUI().setVisible(true); + break; + case "Run": + if (pauseScript) { + pauseScript = false; + pause.setEnabled(true); + run.setEnabled(false); + setScriptState(Script.STATE_RUNNING); + break; + } + new ScriptSelector().setVisible(true); + break; + case "Pause": + setScriptState(Script.STATE_PAUSE); + pause.setEnabled(false); + run.setEnabled(true); + pauseScript = true; + break; + case "Stop": + setScriptState(Script.STATE_STOPPED); + break; + case "Logger": + Logger.getInstance().setVisible(!Logger.getInstance().isVisible()); + BotUI.getInstance().pack(); + BotUI.getInstance().revalidate(); + if (!Logger.getInstance().isClearable()) { + Logger.getInstance().setClearable(); + } else if (Logger.getInstance().isClearable() && !Logger.getInstance().isVisible()) { + Logger.clearLogger(); + Logger.addMessage("Logger started", false); + } + break; + case "Disable dialog": + BotDialog.getInstance().setVisible(!dialog.isVisible()); + break; + case "Clear cache": + Directories.clearCache(); + break; + default: + System.out.println("Invalid command: " + command); + } + } - protected void setDialog(JDialog dialog) { - BotUI.dialog = dialog; - } + protected void setDialog(JDialog dialog) { + BotUI.dialog = dialog; + } - @Override - public void componentMoved(ComponentEvent e) { - if (dialog == null || !isVisible()) { - return; - } - Point gameLocation = GamePanel.getInstance().getLocationOnScreen(); - dialog.setLocation(gameLocation.x, gameLocation.y); - } + @Override + public void componentMoved(ComponentEvent e) { + if (dialog == null || !isVisible()) { + return; + } + Point gameLocation = GamePanel.getInstance().getLocationOnScreen(); + dialog.setLocation(gameLocation.x, gameLocation.y); + } - public void toggleRun() { - runScript = !runScript; - if (runScript) { - scriptRunning(); - } else { - scriptStopped(); - } - } + public void toggleRun() { + runScript = !runScript; + if (runScript) { + scriptRunning(); + } else { + scriptStopped(); + } + } - private void scriptRunning() { - run.setEnabled(false); - pause.setEnabled(true); - stop.setEnabled(true); - } + private void scriptRunning() { + run.setEnabled(false); + pause.setEnabled(true); + stop.setEnabled(true); + } - private void scriptStopped() { - run.setEnabled(true); - pause.setEnabled(false); - stop.setEnabled(false); - } + private void scriptStopped() { + run.setEnabled(true); + pause.setEnabled(false); + stop.setEnabled(false); + } - private void setScriptState(int state) { - if (Context.getInstance().getRunningScript() != null) { - Context.getInstance().getRunningScript().setState(state); - } - } + private void setScriptState(int state) { + if (Context.getInstance().getRunningScript() != null) { + Context.getInstance().getRunningScript().setState(state); + } + } - @Override - public void componentResized(ComponentEvent e) { - if (isVisible()) { - BotDialog.getInstance().setSize(getSize()); - } - } + @Override + public void componentResized(ComponentEvent e) { + if (isVisible()) { + BotDialog.getInstance().setSize(getSize()); + } + } - @Override - public void componentShown(ComponentEvent e) { - } + @Override + public void componentShown(ComponentEvent e) { + } - @Override - public void componentHidden(ComponentEvent e) { - } + @Override + public void componentHidden(ComponentEvent e) { + } - @Override - public void windowActivated(WindowEvent arg0) { - } + @Override + public void windowActivated(WindowEvent arg0) { + } - @Override - public void windowClosed(WindowEvent arg0) { - } + @Override + public void windowClosed(WindowEvent arg0) { + } - @Override - public void windowClosing(WindowEvent e) { - } + @Override + public void windowClosing(WindowEvent e) { + } - @Override - public void windowDeactivated(WindowEvent arg0) { + @Override + public void windowDeactivated(WindowEvent arg0) { - } + } - @Override - public void windowDeiconified(WindowEvent arg0) { - if (isVisible()) { - BotDialog.getInstance().setVisible(false); - BotDialog.getInstance().setVisible(true); - } - } + @Override + public void windowDeiconified(WindowEvent arg0) { + if (isVisible()) { + BotDialog.getInstance().setVisible(false); + BotDialog.getInstance().setVisible(true); + } + } - @Override - public void windowIconified(WindowEvent arg0) { + @Override + public void windowIconified(WindowEvent arg0) { - } + } - @Override - public void windowOpened(WindowEvent arg0) { - } + @Override + public void windowOpened(WindowEvent arg0) { + } -} +} \ No newline at end of file From df6a34420f409f3921c28aaad643c615a249fe95 Mon Sep 17 00:00:00 2001 From: Eric-Turner Date: Fri, 20 May 2016 06:24:36 -0400 Subject: [PATCH 4/8] Merged the two stacktraces --- src/main/java/org/parabot/core/ui/BotUI.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 04c993b..3a0d669 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -151,10 +151,8 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight()); BufferedImage image = robot.createScreenCapture(parabotScreen); ImageIO.write(image, "png", new File(Directories.getScreenshotDir().getPath() + "/" + StringUtils.randomString(10) + ".png")); - } catch (IOException k) { + } catch (IOException | AWTException k) { k.printStackTrace(); - } catch (AWTException e1) { - e1.printStackTrace(); } break; case "Exit": From 0dfc4d854e2c0c459a1379eca659bfb4f8375f6b Mon Sep 17 00:00:00 2001 From: Eric-Turner Date: Fri, 20 May 2016 22:03:01 -0400 Subject: [PATCH 5/8] Made a file name duplication prevention --- src/main/java/org/parabot/core/ui/BotUI.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 3a0d669..9ec3a56 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -150,7 +150,15 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, Robot robot = new Robot(); Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight()); BufferedImage image = robot.createScreenCapture(parabotScreen); - ImageIO.write(image, "png", new File(Directories.getScreenshotDir().getPath() + "/" + StringUtils.randomString(10) + ".png")); + String randString = StringUtils.randomString(10); + for (int x = 0; x < Directories.getScreenshotDir().listFiles().length; x++) { + if (Directories.getScreenshotDir().listFiles()[x].getAbsoluteFile().getName().contains(randString)) { + randString = randString + StringUtils.randomString(4); + } + } + File file = new File(Directories.getScreenshotDir().getPath() + "/" + randString + ".png"); + ImageIO.write(image, "png", file); + } catch (IOException | AWTException k) { k.printStackTrace(); } From 327d0ca8f93ffb8e215ce80f66a12ab597e749e6 Mon Sep 17 00:00:00 2001 From: Eric-Turner Date: Sun, 22 May 2016 09:13:47 -0400 Subject: [PATCH 6/8] Fixed the dupe check code --- src/main/java/org/parabot/core/ui/BotUI.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 9ec3a56..0adb473 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -151,11 +151,22 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight()); BufferedImage image = robot.createScreenCapture(parabotScreen); String randString = StringUtils.randomString(10); - for (int x = 0; x < Directories.getScreenshotDir().listFiles().length; x++) { - if (Directories.getScreenshotDir().listFiles()[x].getAbsoluteFile().getName().contains(randString)) { - randString = randString + StringUtils.randomString(4); + boolean search = true; + boolean duplicate = false; + while(search == true){ + for (File f : Directories.getScreenshotDir().listFiles()){ + if (f.getAbsoluteFile().getName().contains(randString)) { + duplicate = true; + break; + } + } + if (!duplicate){ + search = false; + } else { + randString = StringUtils.randomString(10); + duplicate = false; + } } - } File file = new File(Directories.getScreenshotDir().getPath() + "/" + randString + ".png"); ImageIO.write(image, "png", file); From 6ac2df4555f41113c16986cd0e3a879edc12eeb2 Mon Sep 17 00:00:00 2001 From: Eric-Turner Date: Sun, 22 May 2016 09:16:54 -0400 Subject: [PATCH 7/8] FukinBitch --- src/main/java/org/parabot/core/ui/BotUI.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 0adb473..14a775a 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -151,8 +151,8 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, Rectangle parabotScreen = new Rectangle((int) getLocation().getX(), (int) getLocation().getY(), getWidth(), getHeight()); BufferedImage image = robot.createScreenCapture(parabotScreen); String randString = StringUtils.randomString(10); - boolean search = true; - boolean duplicate = false; + boolean search = true; + boolean duplicate = false; while(search == true){ for (File f : Directories.getScreenshotDir().listFiles()){ if (f.getAbsoluteFile().getName().contains(randString)) { From c7dc9a466139fdeae33d646cc722cbb8f8ef32ce Mon Sep 17 00:00:00 2001 From: Eric-Turner Date: Sun, 22 May 2016 09:19:11 -0400 Subject: [PATCH 8/8] Its finished --- src/main/java/org/parabot/core/ui/BotUI.java | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 14a775a..532e52b 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -153,20 +153,20 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, String randString = StringUtils.randomString(10); boolean search = true; boolean duplicate = false; - while(search == true){ - for (File f : Directories.getScreenshotDir().listFiles()){ - if (f.getAbsoluteFile().getName().contains(randString)) { - duplicate = true; - break; - } - } - if (!duplicate){ - search = false; - } else { - randString = StringUtils.randomString(10); - duplicate = false; + while (search == true) { + for (File f : Directories.getScreenshotDir().listFiles()) { + if (f.getAbsoluteFile().getName().contains(randString)) { + duplicate = true; + break; } } + if (!duplicate) { + search = false; + } else { + randString = StringUtils.randomString(10); + duplicate = false; + } + } File file = new File(Directories.getScreenshotDir().getPath() + "/" + randString + ".png"); ImageIO.write(image, "png", file);