diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-11-15 15:16:52 +0100 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-11-15 15:16:52 +0100 |
commit | 78fb7896313f2074fa814309901e30d4a4f218e2 (patch) | |
tree | efb2cee4c5e3defe04a05cae0e2f673ba21f7b90 /src/ClientHandle.cpp | |
parent | APIDump: Fixed example cCompositeChat URL (diff) | |
download | cuberite-78fb7896313f2074fa814309901e30d4a4f218e2.tar cuberite-78fb7896313f2074fa814309901e30d4a4f218e2.tar.gz cuberite-78fb7896313f2074fa814309901e30d4a4f218e2.tar.bz2 cuberite-78fb7896313f2074fa814309901e30d4a4f218e2.tar.lz cuberite-78fb7896313f2074fa814309901e30d4a4f218e2.tar.xz cuberite-78fb7896313f2074fa814309901e30d4a4f218e2.tar.zst cuberite-78fb7896313f2074fa814309901e30d4a4f218e2.zip |
Diffstat (limited to '')
-rw-r--r-- | src/ClientHandle.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index 94bace43a..9bf4875e2 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -93,6 +93,7 @@ cClientHandle::cClientHandle(const cSocket * a_Socket, int a_ViewDistance) : m_UniqueID(0), m_HasSentPlayerChunk(false), m_Locale("en_GB"), + m_LastPlacedBlock(0, -1, 0), m_ProtocolVersion(0) { m_Protocol = new cProtocolRecognizer(this); @@ -1500,6 +1501,8 @@ void cClientHandle::HandlePlaceBlock(int a_BlockX, int a_BlockY, int a_BlockZ, e { m_Player->GetInventory().RemoveOneEquippedItem(); } + m_LastPlacedBlock.Set(a_BlockX, a_BlockY, a_BlockZ); + cChunkInterface ChunkInterface(World->GetChunkMap()); NewBlock->OnPlacedByPlayer(ChunkInterface, *World, m_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_CursorX, a_CursorY, a_CursorZ, BlockType, BlockMeta); @@ -1677,8 +1680,10 @@ void cClientHandle::HandleUpdateSign( const AString & a_Line3, const AString & a_Line4 ) { - cWorld * World = m_Player->GetWorld(); - World->UpdateSign(a_BlockX, a_BlockY, a_BlockZ, a_Line1, a_Line2, a_Line3, a_Line4, m_Player); + if (m_LastPlacedBlock.Equals(Vector3i(a_BlockX, a_BlockY, a_BlockZ))) + { + m_Player->GetWorld()->SetSignLines(a_BlockX, a_BlockY, a_BlockZ, a_Line1, a_Line2, a_Line3, a_Line4, m_Player); + } } |