@Override
	public boolean onCommand(CommandSender sender, Command cmd, String label,
			String[] args) {
		if(cmd.getName().equalsIgnoreCase("Prefix")) {
			if(sender instanceof Player) {
				Player p = (Player) sender;
				PlayerUtil pu = new PlayerUtil(p);
				if(pu.hasPermission("Nostalgia.Command.prefix", PermissionType.NORMAL)) {
					if(args.length == 0) {
						String buildprefix = StringUtil.arrangeString(args, " ", 0);
						String prefix = StringUtil.colorize(buildprefix);
						pu.setPrefix(prefix);
						pu.updateName();
						p.sendMessage(LangUtil.prefixChanged(p.getDisplayName()));
					} else if (args.length >= 1) {
						if(StringUtil.startsWithIgnoreCase(args[0], "p:")) {
							if(pu.hasPermission("Nostalgia.Command.prefix.others", PermissionType.NORMAL)) {
								String playerName = StringUtil.removePrefix(args[0], 2);
								Player t = Nostalgia.getPlayer(playerName);
								if(t != null) {
									PlayerUtil tu = new PlayerUtil(t);
									String buildprefix = StringUtil.arrangeString(args, " ", 1);
									String prefix = StringUtil.colorize(buildprefix, p, "prefix", PermissionType.NORMAL);
									tu.setPrefix(prefix);
									tu.updateName();
									t.sendMessage(LangUtil.prefixChanged(t.getDisplayName()));
								} else {
									p.sendMessage(LangUtil.mustBeOnline(playerName));
								}
							} else {
								MessageUtil.noPermission(p, "Nostalgia.Command.prefix.others");
							}
						} else {
							String buildprefix = StringUtil.arrangeString(args, " ", 0);
							String prefix = StringUtil.colorize(buildprefix, p, "prefix", PermissionType.NORMAL);
							pu.setPrefix(prefix);
							pu.updateName();
							p.sendMessage(LangUtil.prefixChanged(p.getDisplayName()));
						}
					} else {
						p.sendMessage(LangUtil.fourthWall());
					}
				} else {
					MessageUtil.noPermission(p, "Nostalgia.Command.prefix");
				}
			} else {
				sender.sendMessage(LangUtil.mustBePlayer());
			}
		}
		return false;
	}