summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMat <mail@mathias.is>2020-03-05 11:58:46 +0100
committerGitHub <noreply@github.com>2020-03-05 11:58:46 +0100
commitcff9f7571baa8a2258d5faedb918d7889fe68f9d (patch)
tree199d529aa4eeda8052ca160b9523a16488040788
parentStabilise MoveToWorld (#4004) (diff)
downloadcuberite-cff9f7571baa8a2258d5faedb918d7889fe68f9d.tar
cuberite-cff9f7571baa8a2258d5faedb918d7889fe68f9d.tar.gz
cuberite-cff9f7571baa8a2258d5faedb918d7889fe68f9d.tar.bz2
cuberite-cff9f7571baa8a2258d5faedb918d7889fe68f9d.tar.lz
cuberite-cff9f7571baa8a2258d5faedb918d7889fe68f9d.tar.xz
cuberite-cff9f7571baa8a2258d5faedb918d7889fe68f9d.tar.zst
cuberite-cff9f7571baa8a2258d5faedb918d7889fe68f9d.zip
-rw-r--r--src/Protocol/Protocol_1_11.cpp7
-rw-r--r--src/Protocol/Protocol_1_12.cpp100
-rw-r--r--src/Protocol/Protocol_1_12.h6
3 files changed, 4 insertions, 109 deletions
diff --git a/src/Protocol/Protocol_1_11.cpp b/src/Protocol/Protocol_1_11.cpp
index 9c8e0c544..9aea81cc3 100644
--- a/src/Protocol/Protocol_1_11.cpp
+++ b/src/Protocol/Protocol_1_11.cpp
@@ -389,9 +389,10 @@ void cProtocol_1_11_0::SendSpawnMob(const cMonster & a_Mob)
Pkt.WriteBEUInt64(0);
Pkt.WriteBEUInt64(a_Mob.GetUniqueID());
Pkt.WriteVarInt32(static_cast<UInt32>(a_Mob.GetMobType()));
- Pkt.WriteBEDouble(a_Mob.GetPosX());
- Pkt.WriteBEDouble(a_Mob.GetPosY());
- Pkt.WriteBEDouble(a_Mob.GetPosZ());
+ Vector3d LastSentPos = a_Mob.GetLastSentPos();
+ Pkt.WriteBEDouble(LastSentPos.x);
+ Pkt.WriteBEDouble(LastSentPos.y);
+ Pkt.WriteBEDouble(LastSentPos.z);
Pkt.WriteByteAngle(a_Mob.GetPitch());
Pkt.WriteByteAngle(a_Mob.GetHeadYaw());
Pkt.WriteByteAngle(a_Mob.GetYaw());
diff --git a/src/Protocol/Protocol_1_12.cpp b/src/Protocol/Protocol_1_12.cpp
index deb0ee7a5..b67a244d6 100644
--- a/src/Protocol/Protocol_1_12.cpp
+++ b/src/Protocol/Protocol_1_12.cpp
@@ -325,53 +325,6 @@ cProtocol_1_12::cProtocol_1_12(cClientHandle * a_Client, const AString & a_Serve
-void cProtocol_1_12::SendSpawnMob(const cMonster & a_Mob)
-{
- ASSERT(m_State == 3); // In game mode?
-
- cPacketizer Pkt(*this, pktSpawnMob);
- Pkt.WriteVarInt32(a_Mob.GetUniqueID());
- // TODO: Bad way to write a UUID, and it's not a true UUID, but this is functional for now.
- Pkt.WriteBEUInt64(0);
- Pkt.WriteBEUInt64(a_Mob.GetUniqueID());
- Pkt.WriteVarInt32(static_cast<UInt32>(a_Mob.GetMobType()));
- Pkt.WriteBEDouble(a_Mob.GetPosX());
- Pkt.WriteBEDouble(a_Mob.GetPosY());
- Pkt.WriteBEDouble(a_Mob.GetPosZ());
- Pkt.WriteByteAngle(a_Mob.GetPitch());
- Pkt.WriteByteAngle(a_Mob.GetHeadYaw());
- Pkt.WriteByteAngle(a_Mob.GetYaw());
- Pkt.WriteBEInt16(static_cast<Int16>(a_Mob.GetSpeedX() * 400));
- Pkt.WriteBEInt16(static_cast<Int16>(a_Mob.GetSpeedY() * 400));
- Pkt.WriteBEInt16(static_cast<Int16>(a_Mob.GetSpeedZ() * 400));
- WriteEntityMetadata(Pkt, a_Mob);
- Pkt.WriteBEUInt8(0xff); // Metadata terminator
-}
-
-
-
-
-
-void cProtocol_1_12::HandlePacketBlockPlace(cByteBuffer & a_ByteBuffer)
-{
- int BlockX, BlockY, BlockZ;
- if (!a_ByteBuffer.ReadPosition64(BlockX, BlockY, BlockZ))
- {
- return;
- }
-
- HANDLE_READ(a_ByteBuffer, ReadVarInt, Int32, Face);
- HANDLE_READ(a_ByteBuffer, ReadVarInt, Int32, Hand);
- HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, CursorX);
- HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, CursorY);
- HANDLE_READ(a_ByteBuffer, ReadBEFloat, float, CursorZ);
- m_Client->HandleRightClick(BlockX, BlockY, BlockZ, FaceIntToBlockFace(Face), FloorC(CursorX * 16), FloorC(CursorY * 16), FloorC(CursorZ * 16), HandIntToEnum(Hand));
-}
-
-
-
-
-
void cProtocol_1_12::HandlePacketStatusRequest(cByteBuffer & a_ByteBuffer)
{
cServer * Server = cRoot::Get()->GetServer();
@@ -1080,59 +1033,6 @@ void cProtocol_1_12::HandlePacketAdvancementTab(cByteBuffer & a_ByteBuffer)
-void cProtocol_1_12::SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks)
-{
- ASSERT(m_State == 3); // In game mode?
-
- cPacketizer Pkt(*this, pktTitle);
- Pkt.WriteVarInt32(3); // Set title display times
- Pkt.WriteBEInt32(a_FadeInTicks);
- Pkt.WriteBEInt32(a_DisplayTicks);
- Pkt.WriteBEInt32(a_FadeOutTicks);
-}
-
-
-
-
-
-void cProtocol_1_12::SendHideTitle(void)
-{
- ASSERT(m_State == 3); // In game mode?
-
- cPacketizer Pkt(*this, pktTitle);
- Pkt.WriteVarInt32(4); // Hide title
-}
-
-
-
-
-
-void cProtocol_1_12::SendResetTitle(void)
-{
- ASSERT(m_State == 3); // In game mode?
-
- cPacketizer Pkt(*this, pktTitle);
- Pkt.WriteVarInt32(5); // Reset title
-}
-
-
-
-
-
-void cProtocol_1_12::SendCollectEntity(const cEntity & a_Entity, const cPlayer & a_Player, int a_Count)
-{
- ASSERT(m_State == 3); // In game mode?
-
- cPacketizer Pkt(*this, pktCollectEntity);
- Pkt.WriteVarInt32(a_Entity.GetUniqueID());
- Pkt.WriteVarInt32(a_Player.GetUniqueID());
- Pkt.WriteVarInt32(static_cast<UInt32>(a_Count));
-}
-
-
-
-
-
bool cProtocol_1_12::HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketType)
{
switch (m_State)
diff --git a/src/Protocol/Protocol_1_12.h b/src/Protocol/Protocol_1_12.h
index 25a103801..56a7b5341 100644
--- a/src/Protocol/Protocol_1_12.h
+++ b/src/Protocol/Protocol_1_12.h
@@ -32,16 +32,10 @@ class cProtocol_1_12 :
public:
cProtocol_1_12(cClientHandle * a_Client, const AString &a_ServerAddress, UInt16 a_ServerPort, UInt32 a_State);
- virtual void SendCollectEntity(const cEntity & a_Entity, const cPlayer & a_Player, int a_Count) override;
- virtual void SendHideTitle(void) override;
- virtual void SendResetTitle(void) override;
- virtual void SendSpawnMob(const cMonster & a_Mob) override;
- virtual void SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) override;
protected:
virtual bool HandlePacket(cByteBuffer & a_ByteBuffer, UInt32 a_PacketType) override;
virtual void HandlePacketAdvancementTab(cByteBuffer & a_ByteBuffer);
virtual void HandlePacketCraftingBookData(cByteBuffer & a_ByteBuffer);
- virtual void HandlePacketBlockPlace(cByteBuffer & a_ByteBuffer) override;
virtual void HandlePacketStatusRequest(cByteBuffer & a_ByteBuffer) override;
virtual void WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a_Entity) override;
virtual void WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mob) override;