Advertisement
Guest User

Commad

a guest
Feb 28th, 2015
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Feel free to change/modify this if you know how,
  3.  * but please don't distribute it without giving me credit!
  4.  * Do the right thing!
  5.  *
  6.  * Creator: dankydrank
  7.  * Jan 11, 2014
  8.  */
  9.  
  10. import javax.swing.*;
  11. import java.awt.*;
  12. import java.awt.event.*;
  13. import java.awt.datatransfer.*;
  14.  
  15. public class CommandCompressor implements KeyListener, ActionListener
  16. {
  17.     private JFrame frame;
  18.     private JTextArea input, output;
  19.    
  20.     public static void main(String[]args)
  21.     {
  22.         //call CommandCompressor's constructor
  23.         new CommandCompressor();
  24.     }
  25.  
  26.     public CommandCompressor()
  27.     {
  28.         //instructions
  29.         JLabel instructions = new JLabel("Press the Button to Convert Your Text and Copy It. Place each command on a new line.");
  30.         JLabel outputLabel = new JLabel("Output:");
  31.         //button
  32.         JButton copy = new JButton("Convert and Copy to Clipboard");
  33.         //frame
  34.         frame = new JFrame("Command Compressor");
  35.         //Just the sizes I found best
  36.         input = new JTextArea(13, 31);
  37.         output = new JTextArea(13, 23);
  38.         //turn JTextAreas into JScrollPanes for window scrolling
  39.         JScrollPane outPane = new JScrollPane(output);
  40.         JScrollPane inPane = new JScrollPane(input);
  41.         //add Key Listeners
  42.         input.addKeyListener(this);
  43.         output.addKeyListener(this);
  44.         //user can't edit output pane
  45.         output.setEditable(false);
  46.         //output text wraps within the pane
  47.         output.setLineWrap(true);
  48.         //add listener to button
  49.         copy.addActionListener(this);
  50.         //FlowLayout works best
  51.         frame.setLayout(new FlowLayout());
  52.         //add components
  53.         frame.add(instructions);
  54.         frame.add(inPane);
  55.         frame.add(outputLabel);
  56.         frame.add(outPane);
  57.         frame.add(copy);
  58.         //set frame size and visibility
  59.         frame.setSize(675, 325);
  60.         frame.setVisible(true);
  61.         //set default close operation
  62.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  63.     }
  64.  
  65.     public void keyPressed(KeyEvent e) {
  66.         //I updated the app so you no longer need to press F3, but it still works. F3's key code is 114
  67.         int key = e.getKeyCode();
  68.         //check for F3
  69.         if(key==114)
  70.             generateAndCopy();
  71.     }
  72.  
  73.     public void actionPerformed(ActionEvent e)
  74.     {
  75.         generateAndCopy();
  76.     }
  77.    
  78.     public void generateAndCopy()
  79.     {
  80.         //instantiate string
  81.         String s = "summon MinecartCommandBlock ~ ~1 ~ {";
  82.         //split text from input window into array--each element is one line of input
  83.         String[] lines = input.getText().split("\n");
  84.         //for each command the player entered, add "Riding:}id:MinecartCommandBlock," to the output string
  85.         for(int i = 0; i < lines.length; i++)
  86.             s+= "Riding:{id:MinecartCommandBlock,";
  87.         //rail
  88.         s+= "Riding:{id:FallingSand,TileID:157,Time:1}";
  89.         //loop over output string and add commands from lines[]
  90.         for(String temp : lines)
  91.         {
  92.             if(temp != null)
  93.                 s+= ",Command:" + temp + "}";
  94.         }
  95.         //add lava to the end
  96.         s+= ",Command:setblock ~ ~ ~ lava 7}";
  97.         //set text in window to the output string
  98.         output.setText(s);
  99.         //copy text to clipboard
  100.         StringSelection selection = new StringSelection(output.getText());
  101.         Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
  102.         clipboard.setContents(selection, selection);
  103.     }
  104.  
  105.     public void keyReleased(KeyEvent e)
  106.     {
  107.         //Do nothing
  108.     }
  109.  
  110.     public void keyTyped(KeyEvent e)
  111.     {
  112.         //Do nothing
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement