mcTimer.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.gmail.nossr50;
  2. import java.awt.Color;
  3. import java.util.TimerTask;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.entity.*;
  6. import com.gmail.nossr50.datatypes.PlayerProfile;
  7. import com.gmail.nossr50.skills.Skills;
  8. import com.gmail.nossr50.skills.Swords;
  9. public class mcTimer extends TimerTask{
  10. private final mcMMO plugin;
  11. int thecount = 1;
  12. public mcTimer(final mcMMO plugin) {
  13. this.plugin = plugin;
  14. }
  15. public void run() {
  16. Player[] playerlist = plugin.getServer().getOnlinePlayers();
  17. for(Player player : playerlist){
  18. PlayerProfile PP = Users.getProfile(player);
  19. if(player == null)
  20. continue;
  21. if(PP == null)
  22. Users.addUser(player);
  23. /*
  24. * MONITOR SKILLS
  25. */
  26. Skills.monitorSkills(player);
  27. /*
  28. * COOLDOWN MONITORING
  29. */
  30. Skills.watchCooldowns(player);
  31. /*
  32. * PLAYER BLEED MONITORING
  33. */
  34. if(thecount % 2 == 0 && player != null && PP.getBleedTicks() >= 1){
  35. player.damage(2);
  36. PP.decreaseBleedTicks();
  37. }
  38. if(mcPermissions.getInstance().regeneration(player) && System.currentTimeMillis() >= PP.getRecentlyHurt() + 60000){
  39. if(thecount == 10 || thecount == 20 || thecount == 30 || thecount == 40){
  40. if(player != null &&
  41. player.getHealth() > 0 && player.getHealth() < 20
  42. && m.getPowerLevel(player) >= 1000){
  43. player.setHealth(m.calculateHealth(player.getHealth(), 1));
  44. }
  45. }
  46. if(thecount == 20 || thecount == 40){
  47. if(player != null &&
  48. player.getHealth() > 0 && player.getHealth() < 20
  49. && m.getPowerLevel(player) >= 500
  50. && m.getPowerLevel(player) < 1000){
  51. player.setHealth(m.calculateHealth(player.getHealth(), 1));
  52. }
  53. }
  54. if(thecount == 40){
  55. if(player != null &&
  56. player.getHealth() > 0 && player.getHealth() < 20
  57. && m.getPowerLevel(player) < 500){
  58. player.setHealth(m.calculateHealth(player.getHealth(), 1));
  59. }
  60. }
  61. }
  62. }
  63. /*
  64. * NON-PLAYER BLEED MONITORING
  65. */
  66. if(thecount % 2 == 0)
  67. Swords.bleedSimulate();
  68. if(thecount < 40){
  69. thecount++;
  70. } else {
  71. thecount = 1;
  72. }
  73. }
  74. }