package net.minecraft.network.rcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
@SideOnly(Side.SERVER)
public class RConOutputStream
{
/** Output stream */
private ByteArrayOutputStream byteArrayOutput;
/** ByteArrayOutputStream wrapper */
private DataOutputStream output;
private static final String __OBFID = "CL_00001798";
public RConOutputStream(int size)
{
this.byteArrayOutput = new ByteArrayOutputStream(size);
this.output = new DataOutputStream(this.byteArrayOutput);
}
/**
* Writes the given byte array to the output stream
*/
public void writeByteArray(byte[] data) throws IOException
{
this.output.write(data, 0, data.length);
}
/**
* Writes the given String to the output stream
*/
public void writeString(String data) throws IOException
{
this.output.writeBytes(data);
this.output.write(0);
}
/**
* Writes the given int to the output stream
*/
public void writeInt(int data) throws IOException
{
this.output.write(data);
}
/**
* Writes the given short to the output stream
*/
public void writeShort(short data) throws IOException
{
this.output.writeShort(Short.reverseBytes(data));
}
/**
* Returns the contents of the output stream as a byte array
*/
public byte[] toByteArray()
{
return this.byteArrayOutput.toByteArray();
}
/**
* Resets the byte array output.
*/
public void reset()
{
this.byteArrayOutput.reset();
}
}