001package net.minecraft.network.rcon;
002
003import net.minecraft.command.ICommandSender;
004import net.minecraft.util.ChunkCoordinates;
005import net.minecraft.util.StringTranslate;
006
007public class RConConsoleSource implements ICommandSender
008{
009    /** only ever used by MinecraftServer.executeCommand */
010    public static final RConConsoleSource consoleBuffer = new RConConsoleSource();
011    private StringBuffer chatBuffer = new StringBuffer();
012
013    /**
014     * Clears the RCon log
015     */
016    public void resetLog()
017    {
018        this.chatBuffer.setLength(0);
019    }
020
021    public String getChatBuffer()
022    {
023        return this.chatBuffer.toString();
024    }
025
026    /**
027     * Gets the name of this command sender (usually username, but possibly "Rcon")
028     */
029    public String getCommandSenderName()
030    {
031        return "Rcon";
032    }
033
034    public void sendChatToPlayer(String par1Str)
035    {
036        this.chatBuffer.append(par1Str);
037    }
038
039    /**
040     * Returns true if the command sender is allowed to use the given command.
041     */
042    public boolean canCommandSenderUseCommand(int par1, String par2Str)
043    {
044        return true;
045    }
046
047    /**
048     * Translates and formats the given string key with the given arguments.
049     */
050    public String translateString(String par1Str, Object ... par2ArrayOfObj)
051    {
052        return StringTranslate.getInstance().translateKeyFormat(par1Str, par2ArrayOfObj);
053    }
054
055    /**
056     * Return the position for this command sender.
057     */
058    public ChunkCoordinates getPlayerCoordinates()
059    {
060        return new ChunkCoordinates(0, 0, 0);
061    }
062}