44 lines
1.1 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|