ExperienceBarHideTask.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.gmail.nossr50.runnables.skills;
  2. import com.gmail.nossr50.datatypes.player.McMMOPlayer;
  3. import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
  4. import com.gmail.nossr50.util.experience.ExperienceBarManager;
  5. import org.bukkit.scheduler.BukkitRunnable;
  6. public class ExperienceBarHideTask extends BukkitRunnable {
  7. private final McMMOPlayer mcMMOPlayer;
  8. private final PrimarySkillType primarySkillType;
  9. private final ExperienceBarManager experienceBarManagerRef;
  10. public ExperienceBarHideTask(ExperienceBarManager experienceBarManagerRef, McMMOPlayer mcMMOPlayer, PrimarySkillType primarySkillType) {
  11. this.experienceBarManagerRef = experienceBarManagerRef;
  12. this.mcMMOPlayer = mcMMOPlayer;
  13. this.primarySkillType = primarySkillType;
  14. }
  15. /**
  16. * When an object implementing interface <code>Runnable</code> is used
  17. * to create a thread, starting the thread causes the object's
  18. * <code>run</code> method to be called in that separately executing
  19. * thread.
  20. * <p>
  21. * The general contract of the method <code>run</code> is that it may
  22. * take any action whatsoever.
  23. *
  24. * @see Thread#run()
  25. */
  26. @Override
  27. public void run() {
  28. if (experienceBarManagerRef == null || mcMMOPlayer == null)
  29. return;
  30. experienceBarManagerRef.hideExperienceBar(primarySkillType);
  31. experienceBarManagerRef.clearTask(primarySkillType);
  32. }
  33. }