summaryrefslogtreecommitdiffstats
path: root/src/Protocol/Protocol_1_8.cpp
diff options
context:
space:
mode:
authorLogicParrot <LogicParrot@users.noreply.github.com>2017-08-30 16:42:58 +0200
committerLogicParrot <LogicParrot@users.noreply.github.com>2017-08-30 16:42:58 +0200
commitf0d14229706eca615198c888bd8d3b95b663cfb4 (patch)
treedfcb7fb092091b69a80b3b362adf862f80ba1ba0 /src/Protocol/Protocol_1_8.cpp
parentInitial zombies (diff)
parentMerge pull request #3969 from peterbell10/cuboid (diff)
downloadcuberite-f0d14229706eca615198c888bd8d3b95b663cfb4.tar
cuberite-f0d14229706eca615198c888bd8d3b95b663cfb4.tar.gz
cuberite-f0d14229706eca615198c888bd8d3b95b663cfb4.tar.bz2
cuberite-f0d14229706eca615198c888bd8d3b95b663cfb4.tar.lz
cuberite-f0d14229706eca615198c888bd8d3b95b663cfb4.tar.xz
cuberite-f0d14229706eca615198c888bd8d3b95b663cfb4.tar.zst
cuberite-f0d14229706eca615198c888bd8d3b95b663cfb4.zip
Diffstat (limited to 'src/Protocol/Protocol_1_8.cpp')
-rw-r--r--src/Protocol/Protocol_1_8.cpp30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/Protocol/Protocol_1_8.cpp b/src/Protocol/Protocol_1_8.cpp
index a0afe8c15..053aa75e5 100644
--- a/src/Protocol/Protocol_1_8.cpp
+++ b/src/Protocol/Protocol_1_8.cpp
@@ -11,7 +11,7 @@ Implements the 1.8 protocol classes:
#include "json/json.h"
#include "Protocol_1_8.h"
#include "ChunkDataSerializer.h"
-#include "PolarSSL++/Sha1Checksum.h"
+#include "mbedTLS++/Sha1Checksum.h"
#include "Packetizer.h"
#include "../ClientHandle.h"
@@ -1077,9 +1077,10 @@ void cProtocol_1_8_0::SendPlayerSpawn(const cPlayer & a_Player)
cPacketizer Pkt(*this, 0x0c); // Spawn Player packet
Pkt.WriteVarInt32(a_Player.GetUniqueID());
Pkt.WriteUUID(a_Player.GetUUID());
- Pkt.WriteFPInt(a_Player.GetPosX());
- Pkt.WriteFPInt(a_Player.GetPosY() + 0.001); // The "+ 0.001" is there because otherwise the player falls through the block they were standing on.
- Pkt.WriteFPInt(a_Player.GetPosZ());
+ Vector3d LastSentPos = a_Player.GetLastSentPos();
+ Pkt.WriteFPInt(LastSentPos.x);
+ Pkt.WriteFPInt(LastSentPos.y + 0.001); // The "+ 0.001" is there because otherwise the player falls through the block they were standing on.
+ Pkt.WriteFPInt(LastSentPos.z);
Pkt.WriteByteAngle(a_Player.GetYaw());
Pkt.WriteByteAngle(a_Player.GetPitch());
short ItemType = a_Player.GetEquippedItem().IsEmpty() ? 0 : a_Player.GetEquippedItem().m_ItemType;
@@ -1314,9 +1315,10 @@ void cProtocol_1_8_0::SendSpawnFallingBlock(const cFallingBlock & a_FallingBlock
cPacketizer Pkt(*this, 0x0e); // Spawn Object packet
Pkt.WriteVarInt32(a_FallingBlock.GetUniqueID());
Pkt.WriteBEUInt8(70); // Falling block
- Pkt.WriteFPInt(a_FallingBlock.GetPosX());
- Pkt.WriteFPInt(a_FallingBlock.GetPosY());
- Pkt.WriteFPInt(a_FallingBlock.GetPosZ());
+ Vector3d LastSentPos = a_FallingBlock.GetLastSentPos();
+ Pkt.WriteFPInt(LastSentPos.x);
+ Pkt.WriteFPInt(LastSentPos.y);
+ Pkt.WriteFPInt(LastSentPos.z);
Pkt.WriteByteAngle(a_FallingBlock.GetYaw());
Pkt.WriteByteAngle(a_FallingBlock.GetPitch());
Pkt.WriteBEInt32(static_cast<Int32>(a_FallingBlock.GetBlockType()) | (static_cast<Int32>(a_FallingBlock.GetBlockMeta()) << 12));
@@ -1336,9 +1338,10 @@ void cProtocol_1_8_0::SendSpawnMob(const cMonster & a_Mob)
cPacketizer Pkt(*this, 0x0f); // Spawn Mob packet
Pkt.WriteVarInt32(a_Mob.GetUniqueID());
Pkt.WriteBEUInt8(static_cast<Byte>(a_Mob.GetMobType()));
- Pkt.WriteFPInt(a_Mob.GetPosX());
- Pkt.WriteFPInt(a_Mob.GetPosY());
- Pkt.WriteFPInt(a_Mob.GetPosZ());
+ Vector3d LastSentPos = a_Mob.GetLastSentPos();
+ Pkt.WriteFPInt(LastSentPos.x);
+ Pkt.WriteFPInt(LastSentPos.y);
+ Pkt.WriteFPInt(LastSentPos.z);
Pkt.WriteByteAngle(a_Mob.GetPitch());
Pkt.WriteByteAngle(a_Mob.GetHeadYaw());
Pkt.WriteByteAngle(a_Mob.GetYaw());
@@ -1392,9 +1395,10 @@ void cProtocol_1_8_0::SendSpawnVehicle(const cEntity & a_Vehicle, char a_Vehicle
cPacketizer Pkt(*this, 0xe); // Spawn Object packet
Pkt.WriteVarInt32(a_Vehicle.GetUniqueID());
Pkt.WriteBEUInt8(static_cast<UInt8>(a_VehicleType));
- Pkt.WriteFPInt(a_Vehicle.GetPosX());
- Pkt.WriteFPInt(a_Vehicle.GetPosY());
- Pkt.WriteFPInt(a_Vehicle.GetPosZ());
+ Vector3d LastSentPos = a_Vehicle.GetLastSentPos();
+ Pkt.WriteFPInt(LastSentPos.x);
+ Pkt.WriteFPInt(LastSentPos.y);
+ Pkt.WriteFPInt(LastSentPos.z);
Pkt.WriteByteAngle(a_Vehicle.GetPitch());
Pkt.WriteByteAngle(a_Vehicle.GetYaw());
Pkt.WriteBEInt32(a_VehicleSubType);