TrueCraft/TrueCraft.API/MetadataString.cs
2014-12-27 00:21:19 -07:00

44 lines
1.1 KiB
C#

using System;
using System.Text;
using TrueCraft.API.Networking;
namespace TrueCraft.API
{
public class MetadataString : MetadataEntry
{
public override byte Identifier { get { return 4; } }
public override string FriendlyName { get { return "string"; } }
public string Value;
public static implicit operator MetadataString(string value)
{
return new MetadataString(value);
}
public MetadataString()
{
}
public MetadataString(string value)
{
if (value.Length > 16)
throw new ArgumentOutOfRangeException("value", "Maximum string length is 16 characters");
while (value.Length < 16)
value = value + "\0";
Value = value;
}
public override void FromStream(IMinecraftStream stream)
{
Value = stream.ReadString();
}
public override void WriteTo(IMinecraftStream stream, byte index)
{
stream.WriteUInt8(GetKey(index));
stream.WriteString(Value);
}
}
}