001 package net.minecraft.command; 002 003 import java.util.ArrayList; 004 import java.util.List; 005 import net.minecraft.server.MinecraftServer; 006 007 public class CommandServerOp extends CommandBase 008 { 009 public String getCommandName() 010 { 011 return "op"; 012 } 013 014 /** 015 * Return the required permission level for this command. 016 */ 017 public int getRequiredPermissionLevel() 018 { 019 return 3; 020 } 021 022 public String getCommandUsage(ICommandSender par1ICommandSender) 023 { 024 return par1ICommandSender.translateString("commands.op.usage", new Object[0]); 025 } 026 027 public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) 028 { 029 if (par2ArrayOfStr.length == 1 && par2ArrayOfStr[0].length() > 0) 030 { 031 MinecraftServer.getServer().getConfigurationManager().addOp(par2ArrayOfStr[0]); 032 notifyAdmins(par1ICommandSender, "commands.op.success", new Object[] {par2ArrayOfStr[0]}); 033 } 034 else 035 { 036 throw new WrongUsageException("commands.op.usage", new Object[0]); 037 } 038 } 039 040 /** 041 * Adds the strings available in this command to the given list of tab completion options. 042 */ 043 public List addTabCompletionOptions(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) 044 { 045 if (par2ArrayOfStr.length == 1) 046 { 047 String var3 = par2ArrayOfStr[par2ArrayOfStr.length - 1]; 048 ArrayList var4 = new ArrayList(); 049 String[] var5 = MinecraftServer.getServer().getAllUsernames(); 050 int var6 = var5.length; 051 052 for (int var7 = 0; var7 < var6; ++var7) 053 { 054 String var8 = var5[var7]; 055 056 if (!MinecraftServer.getServer().getConfigurationManager().areCommandsAllowed(var8) && doesStringStartWith(var3, var8)) 057 { 058 var4.add(var8); 059 } 060 } 061 062 return var4; 063 } 064 else 065 { 066 return null; 067 } 068 } 069 }