|
@@ -1,6 +1,7 @@
|
|
package com.gmail.nossr50.commands.mc;
|
|
package com.gmail.nossr50.commands.mc;
|
|
|
|
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.ChatColor;
|
|
|
|
+import org.bukkit.OfflinePlayer;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandExecutor;
|
|
import org.bukkit.command.CommandExecutor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.command.CommandSender;
|
|
@@ -8,61 +9,67 @@ import org.bukkit.entity.Player;
|
|
|
|
|
|
import com.gmail.nossr50.Users;
|
|
import com.gmail.nossr50.Users;
|
|
import com.gmail.nossr50.mcMMO;
|
|
import com.gmail.nossr50.mcMMO;
|
|
-import com.gmail.nossr50.mcPermissions;
|
|
|
|
-import com.gmail.nossr50.datatypes.AbilityType;
|
|
|
|
|
|
+import com.gmail.nossr50.commands.CommandHelper;
|
|
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
-import com.gmail.nossr50.datatypes.ToolType;
|
|
|
|
import com.gmail.nossr50.locale.mcLocale;
|
|
import com.gmail.nossr50.locale.mcLocale;
|
|
|
|
|
|
public class McrefreshCommand implements CommandExecutor {
|
|
public class McrefreshCommand implements CommandExecutor {
|
|
- private final mcMMO plugin;
|
|
|
|
|
|
+ private final mcMMO plugin;
|
|
|
|
|
|
- public McrefreshCommand(mcMMO instance) {
|
|
|
|
- this.plugin = instance;
|
|
|
|
- }
|
|
|
|
|
|
+ public McrefreshCommand(mcMMO instance) {
|
|
|
|
+ this.plugin = instance;
|
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
|
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
|
|
+ OfflinePlayer player;
|
|
|
|
+ PlayerProfile PP;
|
|
|
|
+ String usage = ChatColor.RED + "Proper usage is /mcrefresh [playername]"; //TODO: Needs more locale
|
|
|
|
|
|
- if (!(sender instanceof Player)) {
|
|
|
|
- sender.sendMessage("This command does not support console useage."); //TODO: Needs more locale.
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
|
|
+ if (CommandHelper.noCommandPermissions(sender, "mcmmo.tools.mcrefresh")) {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
|
|
- Player player = (Player) sender;
|
|
|
|
- PlayerProfile PP = Users.getProfile(player);
|
|
|
|
|
|
+ switch (args.length) {
|
|
|
|
+ case 0:
|
|
|
|
+ if (sender instanceof Player) {
|
|
|
|
+ player = (Player) sender;
|
|
|
|
+ PP = Users.getProfile(player);
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ sender.sendMessage(usage);
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
|
|
- if (!mcPermissions.getInstance().mcrefresh(player)) {
|
|
|
|
- player.sendMessage(ChatColor.YELLOW + "[mcMMO] " + ChatColor.DARK_RED + mcLocale.getString("mcPlayerListener.NoPermission"));
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
- if (args.length >= 1 && (plugin.getServer().getPlayer(args[0]) != null)) {
|
|
|
|
- player.sendMessage("You have refreshed " + args[0] + "'s cooldowns!"); //TODO: Needs more locale.
|
|
|
|
- player = plugin.getServer().getPlayer(args[0]);
|
|
|
|
- }
|
|
|
|
|
|
+ case 1:
|
|
|
|
+ player = plugin.getServer().getOfflinePlayer(args[0]);
|
|
|
|
+ PP = Users.getProfile(player);
|
|
|
|
+ String playerName = player.getName();
|
|
|
|
|
|
- /*
|
|
|
|
- * PREP MODES
|
|
|
|
- */
|
|
|
|
- PP = Users.getProfile(player);
|
|
|
|
- PP.setRecentlyHurt((long) 0);
|
|
|
|
- PP.setToolPreparationMode(ToolType.AXE, false);
|
|
|
|
- PP.setToolPreparationMode(ToolType.FISTS, false);
|
|
|
|
- PP.setToolPreparationMode(ToolType.HOE, false);
|
|
|
|
- PP.setToolPreparationMode(ToolType.PICKAXE, false);
|
|
|
|
- PP.setToolPreparationMode(ToolType.SWORD, false);
|
|
|
|
|
|
+ if (!PP.isLoaded()) {
|
|
|
|
+ sender.sendMessage(mcLocale.getString("Commands.DoesNotExist"));
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
|
|
- //RESET COOLDOWNS
|
|
|
|
- PP.resetCooldowns();
|
|
|
|
- PP.setAbilityMode(AbilityType.GREEN_TERRA, false);
|
|
|
|
- PP.setAbilityMode(AbilityType.GIGA_DRILL_BREAKER, false);
|
|
|
|
- PP.setAbilityMode(AbilityType.SERRATED_STRIKES, false);
|
|
|
|
- PP.setAbilityMode(AbilityType.SUPER_BREAKER, false);
|
|
|
|
- PP.setAbilityMode(AbilityType.TREE_FELLER, false);
|
|
|
|
- PP.setAbilityMode(AbilityType.BERSERK, false);
|
|
|
|
|
|
+ sender.sendMessage("You have refreshed " + playerName + "'s cooldowns!"); //TODO: Use locale
|
|
|
|
|
|
- player.sendMessage(mcLocale.getString("mcPlayerListener.AbilitiesRefreshed"));
|
|
|
|
|
|
+ break;
|
|
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
|
|
+ default:
|
|
|
|
+ sender.sendMessage(usage);
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ PP.setRecentlyHurt((long) 0);
|
|
|
|
+ PP.resetCooldowns();
|
|
|
|
+ PP.resetToolPrepMode();
|
|
|
|
+ PP.resetAbilityMode();
|
|
|
|
+
|
|
|
|
+ if (player.isOnline()) {
|
|
|
|
+ ((Player) player).sendMessage(mcLocale.getString("Ability.Generic.Refresh"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
}
|
|
}
|