MmoeditCommand.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.player.PlayerProfile;
  4. import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
  5. import com.gmail.nossr50.mcMMO;
  6. import com.gmail.nossr50.util.Permissions;
  7. import org.bukkit.command.CommandSender;
  8. import org.bukkit.entity.Player;
  9. public class MmoeditCommand extends ExperienceCommand {
  10. public MmoeditCommand(mcMMO pluginRef) {
  11. super(pluginRef);
  12. }
  13. @Override
  14. protected boolean permissionsCheckSelf(CommandSender sender) {
  15. return Permissions.mmoedit(sender);
  16. }
  17. @Override
  18. protected boolean permissionsCheckOthers(CommandSender sender) {
  19. return Permissions.mmoeditOthers(sender);
  20. }
  21. @Override
  22. protected void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
  23. int skillLevel = profile.getSkillLevel(skill);
  24. double xpRemoved = profile.getSkillXpLevelRaw(skill);
  25. profile.modifySkill(skill, value);
  26. if (player == null) {
  27. profile.scheduleAsyncSave();
  28. return;
  29. }
  30. if (value == skillLevel) {
  31. return;
  32. }
  33. pluginRef.getEventManager().tryLevelEditEvent(player, skill, value, xpRemoved, value > skillLevel, XPGainReason.COMMAND, skillLevel);
  34. }
  35. @Override
  36. protected void handlePlayerMessageAll(Player player, int value) {
  37. player.sendMessage(pluginRef.getLocaleManager().getString("Commands.mmoedit.AllSkills.1", value));
  38. }
  39. @Override
  40. protected void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill) {
  41. player.sendMessage(pluginRef.getLocaleManager().getString("Commands.mmoedit.Modified.1", skill.getName(), value));
  42. }
  43. }