Update /mchud and /xplock to use the Bukkit CommandAPI

This commit is contained in:
GJ
2013-02-07 08:25:54 -05:00
parent b67a308a34
commit 59219e3f33
6 changed files with 73 additions and 56 deletions

View File

@ -12,30 +12,21 @@ import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.spout.SpoutConfig;
import com.gmail.nossr50.spout.huds.HudType;
import com.gmail.nossr50.spout.huds.SpoutHud;
import com.gmail.nossr50.util.Permissions;
import com.gmail.nossr50.util.Users;
public class MchudCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
String usage = LocaleLoader.getString("Commands.Usage.1", "mchud", "<DISABLED | STANDARD | SMALL | RETRO>");
String invalid = LocaleLoader.getString("Commands.mchud.Invalid");
if (CommandHelper.noConsoleUsage(sender)) {
return true;
}
if (!Permissions.hasPermission(sender, "mcmmo.commands.mchud")) {
return true;
}
if (!mcMMO.spoutEnabled || !SpoutConfig.getInstance().getXPBarEnabled()) {
sender.sendMessage(LocaleLoader.getString("Commands.Disabled"));
return true;
}
Player player = (Player) sender;
PlayerProfile playerProfile = Users.getPlayer(player).getProfile();
PlayerProfile playerProfile = Users.getPlayer((Player) sender).getProfile();
SpoutHud spoutHud = playerProfile.getSpoutHud();
if (spoutHud == null) {
@ -55,12 +46,11 @@ public class MchudCommand implements CommandExecutor {
}
}
player.sendMessage(invalid);
sender.sendMessage(LocaleLoader.getString("Commands.mchud.Invalid"));
return true;
default:
player.sendMessage(usage);
return true;
return false;
}
}
}

View File

@ -20,24 +20,18 @@ import com.gmail.nossr50.util.Users;
public class XplockCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
String usage = LocaleLoader.getString("Commands.Usage.1", "xplock", "[skill]");
if (CommandHelper.noConsoleUsage(sender)) {
return true;
}
if (!Permissions.hasPermission(sender, "mcmmo.commands.xplock")) {
return true;
}
if (!mcMMO.spoutEnabled || !SpoutConfig.getInstance().getXPBarEnabled()) {
sender.sendMessage(LocaleLoader.getString("Commands.Disabled"));
return true;
}
Player player = (Player) sender;
PlayerProfile playerProfile = Users.getPlayer(player).getProfile();
PlayerProfile playerProfile = Users.getPlayer((Player) sender).getProfile();
SpoutHud spoutHud = playerProfile.getSpoutHud();
SkillType lastGained;
if (spoutHud == null) {
sender.sendMessage(LocaleLoader.getString("Commands.Disabled"));
@ -48,45 +42,59 @@ public class XplockCommand implements CommandExecutor {
case 0:
if (spoutHud.getXpBarLocked()) {
spoutHud.toggleXpBarLocked();
player.sendMessage(LocaleLoader.getString("Commands.xplock.unlocked"));
sender.sendMessage(LocaleLoader.getString("Commands.xplock.unlocked"));
return true;
}
SkillType lastGained = spoutHud.getLastGained();
lastGained = spoutHud.getLastGained();
if (lastGained != null) {
spoutHud.toggleXpBarLocked();
spoutHud.setSkillLock(lastGained);
player.sendMessage(LocaleLoader.getString("Commands.xplock.locked", Misc.getCapitalized(lastGained.toString())));
}
else {
player.sendMessage(usage);
if (lastGained == null) {
return false;
}
spoutHud.toggleXpBarLocked();
spoutHud.setSkillLock(lastGained);
spoutHud.updateXpBar();
sender.sendMessage(LocaleLoader.getString("Commands.xplock.locked", Misc.getCapitalized(lastGained.toString())));
return true;
case 1:
if (SkillTools.isSkill(args[0])) {
if (Permissions.hasPermission(player, "mcmmo.commands.xplock." + args[0].toLowerCase())) {
spoutHud.setXpBarLocked(true);
spoutHud.setSkillLock(SkillTools.getSkillType(args[0]));
spoutHud.updateXpBar();
if (args[0].equalsIgnoreCase("on")) {
lastGained = spoutHud.getLastGained();
player.sendMessage(LocaleLoader.getString("Commands.xplock.locked", Misc.getCapitalized(args[0])));
}
else {
player.sendMessage(LocaleLoader.getString("mcMMO.NoPermission"));
}
}
else {
player.sendMessage(LocaleLoader.getString("Commands.Skill.Invalid"));
spoutHud.setXpBarLocked(true);
spoutHud.setSkillLock(lastGained);
spoutHud.updateXpBar();
sender.sendMessage(LocaleLoader.getString("Commands.xplock.locked", Misc.getCapitalized(lastGained.toString())));
return true;
}
if (args[0].equalsIgnoreCase("off")) {
spoutHud.setXpBarLocked(false);
sender.sendMessage(LocaleLoader.getString("Commands.xplock.unlocked"));
return true;
}
if (!SkillTools.isSkill(args[0])) {
sender.sendMessage(LocaleLoader.getString("Commands.Skill.Invalid"));
return true;
}
if (!Permissions.hasPermission(sender, "mcmmo.commands.xplock." + args[0].toLowerCase())) {
sender.sendMessage(command.getPermissionMessage());
}
spoutHud.setXpBarLocked(true);
spoutHud.setSkillLock(SkillTools.getSkillType(args[0]));
spoutHud.updateXpBar();
sender.sendMessage(LocaleLoader.getString("Commands.xplock.locked", Misc.getCapitalized(args[0])));
return true;
default:
player.sendMessage(usage);
return true;
return false;
}
}
}