    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}