content: package net.minecraft.command.server;
  
  import net.minecraft.command.CommandBase;
  import net.minecraft.command.CommandException;
  import net.minecraft.command.ICommandSender;
  import net.minecraft.command.WrongUsageException;
  import net.minecraft.entity.player.EntityPlayer;
  import net.minecraft.server.MinecraftServer;
  import net.minecraft.util.BlockPos;
  import net.minecraft.util.ChatComponentTranslation;
  import net.minecraft.util.IChatComponent;
  
  import java.util.List;
  
  public class CommandEmote extends CommandBase {
      public String getCommandName() {
          return "me";
      }
  
      public int getRequiredPermissionLevel() {
          return 0;
      }
  
      public String getCommandUsage(ICommandSender sender) {
          return "commands.me.usage";
      }
  
      public void processCommand(ICommandSender sender, String[] args) throws CommandException {
          if (args.length <= 0) {
              throw new WrongUsageException("commands.me.usage");
          } else {
              IChatComponent ichatcomponent = getChatComponentFromNthArg(sender, args, 0, !(sender instanceof EntityPlayer));
              MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentTranslation("chat.type.emote", sender.getDisplayName(), ichatcomponent));
          }
      }
  
      public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
          return getListOfStringsMatchingLastWord(args, MinecraftServer.getServer().getAllUsernames());
      }
  }
  