AddXPCommand.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.gmail.nossr50.commands.experience;
  2. import com.gmail.nossr50.datatypes.experience.XPGainReason;
  3. import com.gmail.nossr50.datatypes.experience.XPGainSource;
  4. import com.gmail.nossr50.datatypes.player.PlayerProfile;
  5. import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
  6. import com.gmail.nossr50.mcMMO;
  7. import com.gmail.nossr50.util.Permissions;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.entity.Player;
  10. public class AddXPCommand extends ExperienceCommand {
  11. public AddXPCommand(mcMMO pluginRef) {
  12. super(pluginRef);
  13. }
  14. @Override
  15. protected boolean permissionsCheckSelf(CommandSender sender) {
  16. return Permissions.addxp(sender);
  17. }
  18. @Override
  19. protected boolean permissionsCheckOthers(CommandSender sender) {
  20. return Permissions.addxpOthers(sender);
  21. }
  22. @Override
  23. protected void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
  24. if (player != null) {
  25. //Check if player profile is loaded
  26. if (pluginRef.getUserManager().getPlayer(player) == null)
  27. return;
  28. pluginRef.getUserManager().getPlayer(player).applyXpGain(skill, value, XPGainReason.COMMAND, XPGainSource.COMMAND);
  29. } else {
  30. profile.addXp(skill, value);
  31. profile.scheduleAsyncSave();
  32. }
  33. }
  34. @Override
  35. protected void handlePlayerMessageAll(Player player, int value) {
  36. player.sendMessage(pluginRef.getLocaleManager().getString("Commands.addxp.AwardAll", value));
  37. }
  38. @Override
  39. protected void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill) {
  40. player.sendMessage(pluginRef.getLocaleManager().getString("Commands.addxp.AwardSkill", value, skill.getName()));
  41. }
  42. }