/// <summary> /// Send the TagCompound in binary over the network to the client, make thing easier /// </summary> /// <param name="writer"></param> /// <param name="lightSend"></param> public sealed override void NetSend(BinaryWriter writer, bool lightSend) { MemoryStream stream = new MemoryStream(65536); EnergyContainer.WriteTagCompound(tag); TagIO.ToStream(tag, stream, true); writer.Write((ushort)stream.Length); writer.Write(stream.ToArray()); }
/// <summary> /// The client receive the tag compound from the server and sync it /// </summary> /// <param name="trueReader"></param> /// <param name="lightReceive"></param> public sealed override void NetReceive(BinaryReader trueReader, bool lightReceive) { int len = trueReader.ReadUInt16(); MemoryStream stream = new MemoryStream(trueReader.ReadBytes(len)); tag = TagIO.FromStream(stream, true); ErrorLogger.Log(tag.Count); EnergyContainer.ReadTagCompound(tag); }
public TileEntityEnergyHandler(long capacity, long maxTransfer, long maxReceive) { tag = new TagCompound(); _energyContainer = new EnergyContainer(capacity, maxTransfer, maxReceive); }