OutputHandler.chatNotification(sender, "Possible capabilities:");
OutputHandler.chatNotification(sender, StringUtils.join(names.toArray(), ", "));
}
else if (args.length == 1)
{
EntityPlayerMP player = UserIdent.getPlayerByMatchOrUsername(sender, args[0]);
if (player != null)
{
OutputHandler.chatNotification(sender, String.format("Capabilities for %s:", player.getCommandSenderName()));
OutputHandler.chatNotification(sender, names.get(0) + " = " + player.capabilities.disableDamage);
OutputHandler.chatNotification(sender, names.get(1) + " = " + player.capabilities.isFlying);
OutputHandler.chatNotification(sender, names.get(2) + " = " + player.capabilities.allowFlying);
OutputHandler.chatNotification(sender, names.get(3) + " = " + player.capabilities.isCreativeMode);
OutputHandler.chatNotification(sender, names.get(4) + " = " + player.capabilities.allowEdit);
}
else
{
OutputHandler.chatError(sender, String.format("Player %s does not exist, or is not online.", args[0]));
}
}
else if (args.length == 2)
{
if (sender instanceof EntityPlayer)
{
if (!PermissionsManager.checkPermission((EntityPlayer) sender, getPermissionNode() + ".others"))
{
OutputHandler.chatError(sender, "You don't have permissions for that.");
return;
}
}
EntityPlayerMP player = UserIdent.getPlayerByMatchOrUsername(sender, args[0]);
if (player != null)
{
if (args[1].equalsIgnoreCase(names.get(0)))
{
OutputHandler.chatNotification(sender, player.getCommandSenderName() + " => " + names.get(0) + " = " + player.capabilities.disableDamage);
}
else if (args[1].equalsIgnoreCase(names.get(1)))
{
OutputHandler.chatNotification(sender, player.getCommandSenderName() + " => " + names.get(1) + " = " + player.capabilities.isFlying);
}
else if (args[1].equalsIgnoreCase(names.get(2)))
{
OutputHandler.chatNotification(sender, player.getCommandSenderName() + " => " + names.get(2) + " = " + player.capabilities.allowFlying);
}
else if (args[1].equalsIgnoreCase(names.get(3)))
{
OutputHandler.chatNotification(sender, player.getCommandSenderName() + " => " + names.get(3) + " = " + player.capabilities.isCreativeMode);
}
else if (args[1].equalsIgnoreCase(names.get(4)))
{
OutputHandler.chatNotification(sender, player.getCommandSenderName() + " => " + names.get(4) + " = " + player.capabilities.allowEdit);
}
else
{
OutputHandler.chatError(sender, String.format("Capability '%s' unknown.", args[1]));
return;
}
}
}
else if (args.length == 3)
{
if (sender instanceof EntityPlayer)
{
if (!PermissionsManager.checkPermission((EntityPlayer) sender, getPermissionNode() + ".others"))
{
OutputHandler.chatError(sender, "You don't have permissions for that.");
return;
}
}
EntityPlayerMP player = UserIdent.getPlayerByMatchOrUsername(sender, args[0]);
if (player != null)
{
if (args[1].equalsIgnoreCase(names.get(0)))
{
boolean bln = Boolean.parseBoolean(args[2]);
player.capabilities.disableDamage = bln;
OutputHandler.chatNotification(sender, names.get(0) + " = " + player.capabilities.disableDamage);
}
else if (args[1].equalsIgnoreCase(names.get(1)))
{
boolean bln = Boolean.parseBoolean(args[2]);
player.capabilities.isFlying = bln;
OutputHandler.chatNotification(sender, names.get(1) + " = " + player.capabilities.isFlying);
}
else if (args[1].equalsIgnoreCase(names.get(2)))
{
boolean bln = Boolean.parseBoolean(args[2]);
player.capabilities.allowFlying = bln;
OutputHandler.chatNotification(sender, names.get(2) + " = " + player.capabilities.allowFlying);
}
else if (args[1].equalsIgnoreCase(names.get(3)))
{
boolean bln = Boolean.parseBoolean(args[2]);
player.capabilities.isCreativeMode = bln;
OutputHandler.chatNotification(sender, names.get(3) + " = " + player.capabilities.isCreativeMode);
}
else if (args[1].equalsIgnoreCase(names.get(4)))
{
boolean bln = Boolean.parseBoolean(args[2]);
player.capabilities.allowEdit = bln;
OutputHandler.chatNotification(sender, names.get(4) + " = " + player.capabilities.allowEdit);
}
else
{
OutputHandler.chatError(sender, String.format("command.capabilities.capabilityUnknown", args[1]));
return;
}
player.sendPlayerAbilities();
}
}
}