public override void ToStream(IMinecraftStream stream, byte index)
 {
     stream.WriteByte(GetKey(index));
     stream.WriteInt(Coordinates.X);
     stream.WriteInt(Coordinates.Y);
     stream.WriteInt(Coordinates.Z);
 }
예제 #2
0
 public void ReadPacket(IMinecraftStream stream)
 {
     ProtocolVersion = stream.ReadInt32();
     Username        = stream.ReadString();
     stream.ReadInt64(); // Unused
     stream.ReadInt8();  // Unused
 }
예제 #3
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID = stream.ReadInt32();
     Slot = stream.ReadInt16();
     ItemID = stream.ReadInt16();
     Metadata = stream.ReadInt16();
 }
예제 #4
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteInt16(Slot);
     stream.WriteInt16(ItemID);
     stream.WriteInt16(Metadata);
 }
예제 #5
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt8(WindowID);
     stream.WriteInt8(Type);
     stream.WriteString8(Title);
     stream.WriteInt8(TotalSlots);
 }
예제 #6
0
 public void ReadPacket(IMinecraftStream stream)
 {
     WindowID = stream.ReadInt8();
     Type = stream.ReadInt8();
     Title = stream.ReadString8();
     TotalSlots = stream.ReadInt8();
 }
예제 #7
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt16(ItemID);
     stream.WriteInt16(Metadata);
     stream.WriteUInt8((byte)Data.Length);
     stream.WriteUInt8Array(Data);
 }
예제 #8
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(ProtocolVersion);
     stream.WriteString(Username);
     stream.WriteInt64(0); // Unused
     stream.WriteInt8(0);  // Unused
 }
예제 #9
0
        /// <summary>
        /// Creates and returns a new item stack read from a Minecraft stream.
        /// </summary>
        /// <param name="stream">The stream to read from.</param>
        /// <returns></returns>
        public static ItemStack FromStream(IMinecraftStream stream)
        {
            var slot = ItemStack.EmptyStack;

            slot.ID = stream.ReadInt16();
            if (slot.Empty)
            {
                return(slot);
            }
            slot.Count    = stream.ReadInt8();
            slot.Metadata = stream.ReadInt16();
            var length = stream.ReadInt16();

            if (length == -1)
            {
                return(slot);
            }
            slot.Nbt = new NbtCompound();
            var buffer = stream.ReadUInt8Array(length);
            var nbt    = new NbtFile();

            nbt.LoadFromBuffer(buffer, 0, length, NbtCompression.GZip, null);
            slot.Nbt = nbt.RootTag;
            return(slot);
        }
예제 #10
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID = stream.ReadInt32();
     XVelocity = stream.ReadInt16();
     YVelocity = stream.ReadInt16();
     ZVelocity = stream.ReadInt16();
 }
예제 #11
0
 public void ReadPacket(IMinecraftStream stream)
 {
     ItemID = stream.ReadInt16();
     Metadata = stream.ReadInt16();
     byte length = stream.ReadUInt8();
     Data = stream.ReadUInt8Array(length);
 }
예제 #12
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteInt16(Slot);
     stream.WriteInt16(ItemID);
     stream.WriteInt16(Metadata);
 }
예제 #13
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt16(ItemID);
     stream.WriteInt16(Metadata);
     stream.WriteUInt8((byte)Data.Length);
     stream.WriteUInt8Array(Data);
 }
예제 #14
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID = stream.ReadInt32();
     Slot     = stream.ReadInt16();
     ItemID   = stream.ReadInt16();
     Metadata = stream.ReadInt16();
 }
예제 #15
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(ProtocolVersion);
     stream.WriteString(Username);
     stream.WriteInt64(0); // Unused
     stream.WriteInt8(0);  // Unused
 }
예제 #16
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteVarInt(ID);
            stream.Purge();

            return this;
        }
예제 #17
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID = stream.ReadInt32();
     DeltaX   = stream.ReadInt8();
     DeltaY   = stream.ReadInt8();
     DeltaZ   = stream.ReadInt8();
 }
예제 #18
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteInt8(DeltaX);
     stream.WriteInt8(DeltaY);
     stream.WriteInt8(DeltaZ);
 }
예제 #19
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt8(WindowID);
     stream.WriteInt8(Type);
     stream.WriteString8(Title);
     stream.WriteInt8(TotalSlots);
 }
예제 #20
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteInt8(DeltaX);
     stream.WriteInt8(DeltaY);
     stream.WriteInt8(DeltaZ);
 }
예제 #21
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteVarInt(ID);
            stream.Purge();

            return(this);
        }
 public override void ToStream(IMinecraftStream stream, byte index)
 {
     stream.WriteByte(GetKey(index));
     stream.WriteFloat(Rotation.Pitch);
     stream.WriteFloat(Rotation.Yaw);
     stream.WriteFloat(Rotation.Roll);
 }
예제 #23
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteString(""); // Unused
     stream.WriteInt64(Seed);
     stream.WriteInt8((sbyte)Dimension);
 }
예제 #24
0
 public void ReadPacket(IMinecraftStream stream)
 {
     ProtocolVersion = stream.ReadInt32();
     Username = stream.ReadString();
     stream.ReadInt64(); // Unused
     stream.ReadInt8();  // Unused
 }
예제 #25
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID = stream.ReadInt32();
     stream.ReadString(); // Unused
     Seed = stream.ReadInt64();
     Dimension = (Dimension)stream.ReadInt8();
 }
예제 #26
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteString(""); // Unused
     stream.WriteInt64(Seed);
     stream.WriteInt8((sbyte)Dimension);
 }
예제 #27
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteInt16(XVelocity);
     stream.WriteInt16(YVelocity);
     stream.WriteInt16(ZVelocity);
 }
 public override void ToStream(IMinecraftStream stream, byte index)
 {
     stream.WriteByte(GetKey(index));
     stream.WriteFloat(Rotation.Pitch);
     stream.WriteFloat(Rotation.Yaw);
     stream.WriteFloat(Rotation.Roll);
 }
예제 #29
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID = stream.ReadInt32();
     DeltaX = stream.ReadInt8();
     DeltaY = stream.ReadInt8();
     DeltaZ = stream.ReadInt8();
 }
 public override void ToStream(IMinecraftStream stream, byte index)
 {
     stream.WriteByte(GetKey(index));
     stream.WriteInt(Coordinates.X);
     stream.WriteInt(Coordinates.Y);
     stream.WriteInt(Coordinates.Z);
 }
예제 #31
0
 public void ReadPacket(IMinecraftStream stream)
 {
     WindowID   = stream.ReadInt8();
     Type       = stream.ReadInt8();
     Title      = stream.ReadString8();
     TotalSlots = stream.ReadInt8();
 }
예제 #32
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID = stream.ReadInt32();
     stream.ReadString(); // Unused
     Seed      = stream.ReadInt64();
     Dimension = (Dimension)stream.ReadInt8();
 }
예제 #33
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID  = stream.ReadInt32();
     XVelocity = stream.ReadInt16();
     YVelocity = stream.ReadInt16();
     ZVelocity = stream.ReadInt16();
 }
예제 #34
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteInt16(XVelocity);
     stream.WriteInt16(YVelocity);
     stream.WriteInt16(ZVelocity);
 }
예제 #35
0
 public void ReadPacket(IMinecraftStream stream)
 {
     X        = stream.ReadDouble();
     Y        = stream.ReadDouble();
     Stance   = stream.ReadDouble();
     Z        = stream.ReadDouble();
     OnGround = stream.ReadBoolean();
 }
예제 #36
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(EntityID);
     stream.WriteBoolean(InBed);
     stream.WriteInt32(X);
     stream.WriteInt8(Y);
     stream.WriteInt32(Z);
 }
예제 #37
0
 public void ReadPacket(IMinecraftStream stream)
 {
     EntityID = stream.ReadInt32();
     InBed = stream.ReadBoolean();
     X = stream.ReadInt32();
     Y = stream.ReadInt8();
     Z = stream.ReadInt32();
 }
예제 #38
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteByte(ID);
            stream.WriteByte((byte)UserType);
            stream.Purge();

            return(this);
        }
예제 #39
0
 public void ReadPacket(IMinecraftStream stream)
 {
     PlayerAction = (Action)stream.ReadInt8();
     X = stream.ReadInt32();
     Y = stream.ReadInt8();
     Z = stream.ReadInt32();
     Face = (BlockFace)stream.ReadInt8();
 }
예제 #40
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteByte(ID);
            stream.WriteString(Reason);
            stream.Purge();

            return(this);
        }
예제 #41
0
 public void WriteTo(IMinecraftStream stream)
 {
     foreach (var entry in entries)
     {
         entry.Value.WriteTo(stream, entry.Key);
     }
     stream.WriteUInt8(0x7F);
 }
예제 #42
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteVarInt(ID);
            stream.WriteByte((byte)Difficulty);
            stream.Purge();

            return(this);
        }
예제 #43
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt8((sbyte)PlayerAction);
     stream.WriteInt32(X);
     stream.WriteInt8(Y);
     stream.WriteInt32(Z);
     stream.WriteInt8((sbyte)Face);
 }
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteByte(ID);
            stream.WriteByte(SelectionID);
            stream.Purge();

            return this;
        }
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteByte(ID);
            stream.WriteByte((byte) WeatherType);
            stream.Purge();

            return this;
        }
예제 #46
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteByte(ID);
            stream.WriteString(Reason);
            stream.Purge();

            return this;
        }
예제 #47
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteDouble(X);
     stream.WriteDouble(Y);
     stream.WriteDouble(Stance);
     stream.WriteDouble(Z);
     stream.WriteBoolean(OnGround);
 }
예제 #48
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32((int)Effect);
     stream.WriteInt32(X);
     stream.WriteInt8(Y);
     stream.WriteInt32(Z);
     stream.WriteInt32(Data);
 }
예제 #49
0
        public void ToStream(IMinecraftStream stream)
        {
            stream.WriteVarInt(Count);

            foreach (var entry in _entries)
            {
            }
        }
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteByte(ID);
            stream.WriteShort(Distance);
            stream.Purge();

            return this;
        }
예제 #51
0
 public void ReadPacket(IMinecraftStream stream)
 {
     Effect = (EffectType)stream.ReadInt32();
     X      = stream.ReadInt32();
     Y      = stream.ReadInt8();
     Z      = stream.ReadInt32();
     Data   = stream.ReadInt32();
 }
예제 #52
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteByte(ID);
            Coordinates.ToStreamShort(stream);
            stream.Purge();

            return this;
        }
예제 #53
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt32(X);
     stream.WriteInt32(Y);
     stream.WriteInt32(Z);
     stream.WriteInt8(State);
     stream.WriteInt8(Data);
 }
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteByte(ID);
            stream.WriteShort(Distance);
            stream.Purge();

            return(this);
        }
예제 #55
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteVarInt(ID);
            StatisticsEntryList.ToStream(stream);
            stream.Purge();

            return(this);
        }
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteVarInt(ID);
            stream.WriteByte((byte) Difficulty);
            stream.Purge();

            return this;
        }
예제 #57
0
 public void ReadPacket(IMinecraftStream stream)
 {
     PlayerAction = (Action)stream.ReadInt8();
     X            = stream.ReadInt32();
     Y            = stream.ReadInt8();
     Z            = stream.ReadInt32();
     Face         = (BlockFace)stream.ReadInt8();
 }
예제 #58
0
 public void WritePacket(IMinecraftStream stream)
 {
     stream.WriteInt8((sbyte)PlayerAction);
     stream.WriteInt32(X);
     stream.WriteInt8(Y);
     stream.WriteInt32(Z);
     stream.WriteInt8((sbyte)Face);
 }
예제 #59
0
        public IPacket WritePacket(IMinecraftStream stream)
        {
            stream.WriteVarInt(ID);
            StatisticsEntryList.ToStream(stream);
            stream.Purge();

            return this;
        }
예제 #60
0
 public void ReadPacket(IMinecraftStream stream)
 {
     X = stream.ReadInt32();
     Y = stream.ReadInt16();
     Z = stream.ReadInt32();
     State = stream.ReadInt8();
     Data = stream.ReadInt8();
 }