Advertisement
Guest User

XP Checker

a guest
Jan 28th, 2014
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. public class XPCheck {
  2.  
  3. private final Skill[] s;
  4.  
  5. private int[] lastXP;
  6. private Timer t;
  7. private boolean isInRandom, justExitedBreak;
  8.  
  9. public XPCheck(Skill... skills) {
  10. s = skills.clone();
  11. lastXP = new int[skills.length];
  12. }
  13.  
  14. /**
  15. * Starts the XP Checker with a default check interval of 10 minutes.
  16. */
  17. public void start() {
  18. start(600);
  19. }
  20.  
  21. /**
  22. * Starts the XP Checker.
  23. * @param interval The interval in seconds in between checks
  24. */
  25. public void start(int interval) {
  26. for (int i = 0; i < s.length; i++) {
  27. lastXP[i] = client.getSkills().getExperience(s[i]);
  28. }
  29. t = new Timer();
  30. t.schedule(check, interval*1000, interval*1000);
  31. }
  32.  
  33. /**
  34. * @return true if any of the specified skill(s) gained XP in the set interval, false if not.
  35. */
  36. public boolean hasGainedXP() {
  37. for (int i = 0; i < s.length; i++) {
  38. if (lastXP[i] < client.getSkills().getExperience(s[i])) return true;
  39. }
  40. return false;
  41. }
  42.  
  43. /**
  44. * Stop the XP Checker
  45. */
  46. public void cancel() {
  47. t.cancel();
  48. }
  49.  
  50. public TimerTask check = new TimerTask() {
  51. @Override
  52. public void run() {
  53. int randomID = -1;
  54. isInRandom = true;
  55. try {
  56. randomID = randomManager.getCurrent().id;
  57. } catch (NullPointerException e) {
  58. isInRandom = false;
  59. }
  60. if (isInRandom || justExitedBreak) {
  61. if (justExitedBreak) {
  62. log("Just exited a break, skipping xp check one last time.");
  63. justExitedBreak = false;
  64. return;
  65. }
  66. if (randomID == RandomManager.BREAK_MANAGER) {
  67. log("Breaking, skipping xp check");
  68. justExitedBreak = true;
  69. return;
  70. }
  71. }
  72. if (!justExitedBreak) {
  73. if (!hasGainedXP()) {
  74. try {
  75. stop();
  76. } catch (InterruptedException e) { }
  77. }
  78. for (int i = 0; i < s.length; i++) {
  79. lastXP[i] = client.getSkills().getExperience(s[i]);
  80. }
  81. }
  82. }
  83. };
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement