Guest User

Untitled

a guest
Jul 30th, 2017
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. package ru.hyndo.cooldownsystem;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.UUID;
  5.  
  6. public class CoolDownManager {
  7.  
  8. ArrayList<CoolDown> cooldowns = new ArrayList<>();
  9.  
  10. private static CoolDownManager manager = new CoolDownManager();
  11. public static CoolDownManager getManager(){
  12. return manager;
  13. }
  14.  
  15. public void createCoolDown(UUID uuid, String cmd, long timeStart, long coolDownTime){
  16. CoolDown cd = new CoolDown(uuid, cmd, timeStart, coolDownTime);
  17. cooldowns.add(cd);
  18. }
  19.  
  20. public boolean hasPlayerCoolDown(UUID uuid, String cmd){
  21. for(CoolDown cd : cooldowns){
  22. if(cd.getUUID().equals(uuid) && cd.getCommand().equals(cmd)) return true;
  23. }
  24. return false;
  25. }
  26. public boolean hasCoolDownPassed(UUID uuid, String cmd){
  27. for(CoolDown cd : cooldowns){
  28. if(cd.getUUID().equals(uuid) && cd.getCommand().equals(cmd)){
  29. if(System.currentTimeMillis() > (cd.getTimeStart() + cd.getCoolDownTime())) return true;
  30. }
  31. }
  32. return false;
  33. }
  34.  
  35. public int howManySecondsLeft(UUID uuid, String cmd){
  36. for(CoolDown cd : cooldowns){
  37. if(cd.getUUID().equals(uuid) && cd.getCommand().equals(cmd)) {
  38. return (int) ((cd.getCoolDownTime() + cd.getTimeStart()) - System.currentTimeMillis());
  39. }
  40. }
  41. return 0;
  42. }
  43.  
  44. public CoolDown getCoolDown(UUID uuid, String cmd){
  45. for(CoolDown cd : cooldowns){
  46. if(cd.getUUID().equals(uuid) && cd.getCommand().equals(cmd)) return cd;
  47. }
  48. return null;
  49. }
  50. public void removeCoolDown(CoolDown cd){
  51. cooldowns.remove(cd);
  52. }
  53. public void removeCoolDown(UUID uuid, String cmd){
  54. cooldowns.remove(CoolDownManager.getManager().getCoolDown(uuid, cmd));
  55. }
  56. }
Add Comment
Please, Sign In to add comment