Avoid silent command failures on /hat (ie typing /hat fish will no longer silently return as if broken)

This commit is contained in:
KHobbits 2012-06-16 14:02:13 +01:00
parent 4638c5ab55
commit af7e427545
2 changed files with 22 additions and 23 deletions

View file

@ -17,9 +17,25 @@ public class Commandhat extends EssentialsCommand
} }
@Override @Override
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{ {
if (args.length < 1) if (args.length > 0 && (args[0].contains("rem") || args[0].contains("off") || args[0].equalsIgnoreCase("0")))
{
final PlayerInventory inv = user.getInventory();
final ItemStack head = inv.getHelmet();
if (head == null || head.getType() == Material.AIR)
{
user.sendMessage(_("hatEmpty"));
}
else
{
final ItemStack air = new ItemStack(Material.AIR);
inv.setHelmet(air);
InventoryWorkaround.addItem(user.getInventory(), true, head);
user.sendMessage(_("hatRemoved"));
}
}
else
{ {
if (user.getItemInHand().getType() != Material.AIR) if (user.getItemInHand().getType() != Material.AIR)
{ {
@ -32,7 +48,9 @@ public class Commandhat extends EssentialsCommand
inv.setHelmet(hand); inv.setHelmet(hand);
inv.setItemInHand(head); inv.setItemInHand(head);
user.sendMessage(_("hatPlaced")); user.sendMessage(_("hatPlaced"));
} else { }
else
{
user.sendMessage(_("hatArmor")); user.sendMessage(_("hatArmor"));
} }
} }
@ -41,24 +59,5 @@ public class Commandhat extends EssentialsCommand
user.sendMessage(_("hatFail")); user.sendMessage(_("hatFail"));
} }
} }
else
{
if (args[0].contains("remove"))
{
final PlayerInventory inv = user.getInventory();
final ItemStack head = inv.getHelmet();
if (head == null)
{
user.sendMessage(_("hatEmpty"));
}
else if (head.getType() != Material.AIR)
{
final ItemStack air = new ItemStack(Material.AIR);
inv.setHelmet(air);
InventoryWorkaround.addItem(user.getInventory(), true, head);
user.sendMessage(_("hatRemoved"));
}
}
}
} }
} }

View file

@ -14,7 +14,7 @@ public class Commandvanish extends EssentialsCommand
} }
@Override @Override
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{ {
if (args.length < 1) if (args.length < 1)
{ {