summaryrefslogtreecommitdiffstats
path: root/src/network/Packet.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/Packet.hpp')
-rw-r--r--src/network/Packet.hpp54
1 files changed, 41 insertions, 13 deletions
diff --git a/src/network/Packet.hpp b/src/network/Packet.hpp
index 9249a34..3cf4d26 100644
--- a/src/network/Packet.hpp
+++ b/src/network/Packet.hpp
@@ -237,7 +237,7 @@ struct PacketJoinGame : Packet {
struct PacketDisconnectPlay : Packet {
void ToStream(StreamOutput *stream) override {
-
+ stream->WriteString(Reason); //TODO: Implement chat-wrapper
}
void FromStream(StreamInput *stream) override {
@@ -253,7 +253,7 @@ struct PacketDisconnectPlay : Packet {
struct PacketSpawnPosition : Packet {
void ToStream(StreamOutput *stream) override {
-
+ stream->WritePosition(Location);
}
void FromStream(StreamInput *stream) override {
@@ -303,7 +303,13 @@ struct PacketKeepAliveSB : Packet {
struct PacketPlayerPositionAndLookCB : Packet {
void ToStream(StreamOutput *stream) override {
-
+ stream->WriteDouble(X);
+ stream->WriteDouble(Y);
+ stream->WriteDouble(Z);
+ stream->WriteFloat(Yaw);
+ stream->WriteFloat(Pitch);
+ stream->WriteUByte(Flags);
+ stream->WriteVarInt(TeleportId);
}
void FromStream(StreamInput *stream) override {
@@ -376,7 +382,12 @@ struct PacketPlayerPositionAndLookSB : Packet {
}
void FromStream(StreamInput *stream) override {
-
+ X = stream->ReadDouble();
+ FeetY = stream->ReadDouble();
+ Z = stream->ReadDouble();
+ Yaw = stream->ReadFloat();
+ Pitch = stream->ReadFloat();
+ OnGround = stream->ReadBool();
}
int GetPacketId() override {
@@ -398,7 +409,14 @@ struct PacketPlayerPositionAndLookSB : Packet {
struct PacketChunkData : Packet {
void ToStream(StreamOutput *stream) override {
-
+ stream->WriteInt(ChunkX);
+ stream->WriteInt(ChunkZ);
+ stream->WriteBool(GroundUpContinuous);
+ stream->WriteInt(PrimaryBitMask);
+ stream->WriteVarInt(Data.size());
+ stream->WriteByteArray(Data);
+ stream->WriteVarInt(BlockEntities.size());
+ LOG(FATAL) << "Serializing unimplemented packet";
}
void FromStream(StreamInput *stream) override {
@@ -406,9 +424,12 @@ struct PacketChunkData : Packet {
ChunkZ = stream->ReadInt();
GroundUpContinuous = stream->ReadBool();
PrimaryBitMask = stream->ReadVarInt();
- Size = stream->ReadVarInt();
+ int Size = stream->ReadVarInt();
Data = stream->ReadByteArray(Size);
- NumberOfBlockEntities = stream->ReadVarInt();
+ int NumberOfBlockEntities = stream->ReadVarInt(); //TODO: Need NBT
+ for (int i = 0; i < NumberOfBlockEntities; i++) {
+ //BlockEntities[i] = stream->ReadNbt();
+ }
}
int GetPacketId() override {
@@ -419,10 +440,10 @@ struct PacketChunkData : Packet {
int ChunkZ;
bool GroundUpContinuous;
int PrimaryBitMask;
- int Size;
+ //int Size;
std::vector<unsigned char> Data;
- int NumberOfBlockEntities;
- //std::vector<NbtTag> BlockEntities;
+ //int NumberOfBlockEntities;
+ std::vector<int> BlockEntities; //TODO: Replace int with NbtTag and implement NbtTree
};
struct PacketPlayerPosition : Packet {
@@ -434,7 +455,10 @@ struct PacketPlayerPosition : Packet {
}
void FromStream(StreamInput *stream) override {
-
+ X = stream->ReadDouble();
+ FeetY = stream->ReadDouble();
+ Z = stream->ReadDouble();
+ OnGround = stream->ReadBool();
}
int GetPacketId() override {
@@ -457,7 +481,9 @@ struct PacketPlayerLook : Packet {
}
void FromStream(StreamInput *stream) override {
-
+ Yaw = stream->ReadFloat();
+ Pitch = stream->ReadFloat();
+ OnGround = stream->ReadBool();
}
int GetPacketId() override {
@@ -473,7 +499,9 @@ struct PacketPlayerLook : Packet {
struct PacketUpdateHealth : Packet {
void ToStream(StreamOutput *stream) override {
-
+ stream->WriteFloat(Health);
+ stream->WriteVarInt(Food);
+ stream->WriteFloat(FoodSaturation);
}
void FromStream(StreamInput *stream) override {