McMMOPlayerExperienceEvent.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.gmail.nossr50.events.experience;
  2. import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
  3. import org.bukkit.entity.Player;
  4. import org.bukkit.event.Cancellable;
  5. import org.bukkit.event.HandlerList;
  6. import org.bukkit.event.player.PlayerEvent;
  7. import org.jetbrains.annotations.NotNull;
  8. /**
  9. * Generic event for mcMMO experience events.
  10. */
  11. public abstract class McMMOPlayerExperienceEvent extends PlayerEvent implements Cancellable {
  12. private boolean cancelled;
  13. protected PrimarySkillType skill;
  14. protected int skillLevel;
  15. protected XPGainReason xpGainReason;
  16. @Deprecated
  17. protected McMMOPlayerExperienceEvent(Player player, PrimarySkillType skill) {
  18. super(player);
  19. this.skill = skill;
  20. this.skillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(skill);
  21. this.xpGainReason = XPGainReason.UNKNOWN;
  22. }
  23. protected McMMOPlayerExperienceEvent(Player player, PrimarySkillType skill, XPGainReason xpGainReason) {
  24. super(player);
  25. this.skill = skill;
  26. if(UserManager.getPlayer(player) != null) {
  27. this.skillLevel = mcMMO.getUserManager().getPlayer(player).getSkillLevel(skill);
  28. } else {
  29. this.skillLevel = 0;
  30. }
  31. this.xpGainReason = xpGainReason;
  32. }
  33. /**
  34. * @return The skill involved in this event
  35. */
  36. public PrimarySkillType getSkill() {
  37. return skill;
  38. }
  39. /**
  40. * @return The skill level of the skill involved in this event
  41. */
  42. public int getSkillLevel() {
  43. return skillLevel;
  44. }
  45. /**
  46. * @return The combat type involved in this event
  47. */
  48. public XPGainReason getXpGainReason() {
  49. return xpGainReason;
  50. }
  51. /** Following are required for Cancellable **/
  52. @Override
  53. public boolean isCancelled() {
  54. return cancelled;
  55. }
  56. @Override
  57. public void setCancelled(boolean cancelled) {
  58. this.cancelled = cancelled;
  59. }
  60. private static final HandlerList handlers = new HandlerList();
  61. @Override
  62. public @NotNull HandlerList getHandlers() {
  63. return handlers;
  64. }
  65. public static HandlerList getHandlerList() {
  66. return handlers;
  67. }
  68. }