|
@@ -0,0 +1,59 @@
|
|
|
|
+package com.gmail.nossr50.commands.general;
|
|
|
|
+
|
|
|
|
+import org.bukkit.command.Command;
|
|
|
|
+import org.bukkit.command.CommandExecutor;
|
|
|
|
+import org.bukkit.command.CommandSender;
|
|
|
|
+import org.bukkit.entity.Player;
|
|
|
|
+
|
|
|
|
+import com.gmail.nossr50.commands.CommandHelper;
|
|
|
|
+import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
|
|
+import com.gmail.nossr50.datatypes.SkillType;
|
|
|
|
+import com.gmail.nossr50.locale.LocaleLoader;
|
|
|
|
+import com.gmail.nossr50.util.Users;
|
|
|
|
+
|
|
|
|
+public class SkillResetCommand implements CommandExecutor {
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
|
|
+ if (CommandHelper.noConsoleUsage(sender)) {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //ensure they have the skillreset perm
|
|
|
|
+ if (CommandHelper.noCommandPermissions(sender, "mcmmo.skillreset")) {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ SkillType skillType = null; //simple initialization
|
|
|
|
+
|
|
|
|
+ //make sure there's only one argument. output at least some kind of error if not
|
|
|
|
+ if (args.length != 1 && args[0] != null) {
|
|
|
|
+ sender.sendMessage(LocaleLoader.getString("Commands.Skill.Invalid"));
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //parse the skilltype that they sent
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ skillType = SkillType.valueOf(args[0].toUpperCase().trim()); //ucase needed to match enum since it's case sensitive. trim to be nice
|
|
|
|
+ }catch(IllegalArgumentException ex)
|
|
|
|
+ {
|
|
|
|
+ sender.sendMessage(LocaleLoader.getString("Commands.Skill.Invalid"));
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //reset the values in the hash table and persist them
|
|
|
|
+ PlayerProfile profile = Users.getProfile((Player)sender);
|
|
|
|
+ profile.resetSkill(skillType);
|
|
|
|
+ profile.save();
|
|
|
|
+
|
|
|
|
+ //display a success message to the user
|
|
|
|
+ if (skillType == SkillType.ALL)
|
|
|
|
+ sender.sendMessage(LocaleLoader.getString("Commands.Reset.All"));
|
|
|
|
+ else
|
|
|
|
+ sender.sendMessage(LocaleLoader.getString("Commands.Reset.Single", new Object[] { args[0] }));
|
|
|
|
+
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+}
|