AddXPCommand.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 org.bukkit.command.CommandSender;
  8. import org.bukkit.entity.Player;
  9. public class AddXPCommand extends ExperienceCommand {
  10. public AddXPCommand(mcMMO pluginRef) {
  11. super(pluginRef);
  12. }
  13. @Override
  14. protected boolean permissionsCheckSelf(CommandSender sender) {
  15. return pluginRef.getPermissionTools().addxp(sender);
  16. }
  17. @Override
  18. protected boolean permissionsCheckOthers(CommandSender sender) {
  19. return pluginRef.getPermissionTools().addxpOthers(sender);
  20. }
  21. @Override
  22. protected void handleCommand(Player player, PlayerProfile profile, PrimarySkillType skill, int value) {
  23. if (player != null) {
  24. //Check if player profile is loaded
  25. if (pluginRef.getUserManager().getPlayer(player) == null)
  26. return;
  27. pluginRef.getUserManager().getPlayer(player).applyXpGain(skill, value, XPGainReason.COMMAND, XPGainSource.COMMAND);
  28. } else {
  29. profile.addXp(skill, value);
  30. profile.scheduleAsyncSave();
  31. }
  32. }
  33. @Override
  34. protected void handlePlayerMessageAll(Player player, int value) {
  35. player.sendMessage(pluginRef.getLocaleManager().getString("Commands.addxp.AwardAll", value));
  36. }
  37. @Override
  38. protected void handlePlayerMessageSkill(Player player, int value, PrimarySkillType skill) {
  39. player.sendMessage(pluginRef.getLocaleManager().getString("Commands.addxp.AwardSkill", value, pluginRef.getSkillTools().getLocalizedSkillName(skill)));
  40. }
  41. }