patison234

Untitled

Jul 31st, 2015
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. package com.gmail.filoghost.touchscreen;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import org.bukkit.entity.Player;
  8.  
  9. public class TouchHologram
  10. {
  11. private String linkedHologramName;
  12. private List<Command> commands;
  13. private static Map<String, Long> cooldowns = new HashMap();
  14.  
  15. public TouchHologram(String linkedHologram)
  16. {
  17. this(linkedHologram, new ArrayList());
  18. }
  19.  
  20. public TouchHologram(String linkedHologram, List<Command> commands)
  21. {
  22. this.linkedHologramName = linkedHologram;
  23. this.commands = commands;
  24. }
  25.  
  26. public List<Command> getCommands()
  27. {
  28. return this.commands;
  29. }
  30.  
  31. public String getLinkedHologramName()
  32. {
  33. return this.linkedHologramName;
  34. }
  35.  
  36. public void onTouch(Player whoClicked)
  37. {
  38. Long oldCooldown = (Long)cooldowns.get(whoClicked.getName());
  39. if ((oldCooldown != null) &&
  40. (System.currentTimeMillis() < oldCooldown.longValue())) {
  41. return;
  42. }
  43. cooldowns.put(whoClicked.getName(), Long.valueOf(System.currentTimeMillis() + 500L));
  44. if (this.commands.size() > 0) {
  45. for (Command cmd : this.commands) {
  46. cmd.execute(whoClicked);
  47. }
  48. }
  49. }
  50.  
  51. public static void removeCooldown(String name)
  52. {
  53. cooldowns.remove(name);
  54. }
  55.  
  56. public boolean equals(Object obj)
  57. {
  58. if ((obj instanceof TouchHologram)) {
  59. return ((TouchHologram)obj).linkedHologramName.equals(this.linkedHologramName);
  60. }
  61. return false;
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment