AddxpCommand.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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.locale.LocaleLoader;
  7. import com.gmail.nossr50.util.Permissions;
  8. import com.gmail.nossr50.util.player.UserManager;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. public class AddxpCommand extends ExperienceCommand {
  12. @Override
  13. protected boolean permissionsCheckSelf(CommandSender sender) {
  14. return Permissions.addxp(sender);
  15. }
  16. @Override
  17. protected boolean permissionsCheckOthers(CommandSender sender) {
  18. return Permissions.addxpOthers(sender);
  19. }
  20. @Override
  21. protected void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
  22. if (player != null) {
  23. //Check if player profile is loaded
  24. if(UserManager.getPlayer(player) == null)
  25. return;
  26. UserManager.getPlayer(player).applyXpGain(skill, value, XPGainReason.COMMAND, XPGainSource.COMMAND);
  27. }
  28. else {
  29. profile.addXp(skill, value);
  30. profile.scheduleAsyncSave();
  31. }
  32. }
  33. @Override
  34. protected void handlePlayerMessageAll(Player player, int value, boolean isSilent) {
  35. if(isSilent)
  36. return;
  37. player.sendMessage(LocaleLoader.getString("Commands.addxp.AwardAll", value));
  38. }
  39. @Override
  40. protected void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill, boolean isSilent) {
  41. if(isSilent)
  42. return;
  43. player.sendMessage(LocaleLoader.getString("Commands.addxp.AwardSkill", value, skill.getName()));
  44. }
  45. }