summaryrefslogtreecommitdiffstats
path: root/source/packets/cPacket_WholeInventory.cpp
diff options
context:
space:
mode:
authorlapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2011-12-21 21:42:34 +0100
committerlapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2011-12-21 21:42:34 +0100
commit02f05f749645d3ef211676e6745d3feda2cd0513 (patch)
tree2b4c08e1ff7eab1d69f1dad4a00ef2d4d4fbcd3c /source/packets/cPacket_WholeInventory.cpp
parentChanged chunk generation so any surface sand with air underneath it will turn into sandstone to prevent most sand cave-ins due to odd cave placement. (diff)
downloadcuberite-02f05f749645d3ef211676e6745d3feda2cd0513.tar
cuberite-02f05f749645d3ef211676e6745d3feda2cd0513.tar.gz
cuberite-02f05f749645d3ef211676e6745d3feda2cd0513.tar.bz2
cuberite-02f05f749645d3ef211676e6745d3feda2cd0513.tar.lz
cuberite-02f05f749645d3ef211676e6745d3feda2cd0513.tar.xz
cuberite-02f05f749645d3ef211676e6745d3feda2cd0513.tar.zst
cuberite-02f05f749645d3ef211676e6745d3feda2cd0513.zip
Diffstat (limited to '')
-rw-r--r--source/packets/cPacket_WholeInventory.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/source/packets/cPacket_WholeInventory.cpp b/source/packets/cPacket_WholeInventory.cpp
index 3ee047239..4bc68ed0b 100644
--- a/source/packets/cPacket_WholeInventory.cpp
+++ b/source/packets/cPacket_WholeInventory.cpp
@@ -2,6 +2,7 @@
#include "../cItem.h"
#include "../cInventory.h"
#include "../cWindow.h"
+#include "cPacket_ItemData.h"
cPacket_WholeInventory::cPacket_WholeInventory( const cPacket_WholeInventory & a_Clone )
{
@@ -39,11 +40,11 @@ bool cPacket_WholeInventory::Send(cSocket & a_Socket)
{
unsigned int TotalSize = c_Size;
+ cPacket_ItemData Item;
+
for(int i = 0; i < m_Count; i++)
{
- if( m_Items[i].m_ItemID > -1 )
- TotalSize+=3;
- TotalSize+=2;
+ TotalSize += Item.GetSize(m_Items[i].m_ItemID);
}
char* Message = new char[TotalSize];
@@ -51,18 +52,16 @@ bool cPacket_WholeInventory::Send(cSocket & a_Socket)
unsigned int i = 0;
AppendByte ( (char)m_PacketID, Message, i );
AppendByte ( m_WindowID, Message, i );
- AppendShort ( m_Count, Message, i );
+ AppendShort ( m_Count, Message, i );
+
for(int j = 0; j < m_Count; j++)
{
- AppendShort ( (short)m_Items[j].m_ItemID, Message, i );
- if( m_Items[j].m_ItemID > -1 )
- {
- AppendByte ( m_Items[j].m_ItemCount, Message, i );
- AppendShort ( m_Items[j].m_ItemHealth, Message, i );
- }
+ Item.AppendItem(Message, i, &(m_Items[j]));
}
bool RetVal = !cSocket::IsSocketError( SendData( a_Socket, Message, TotalSize, 0 ) );
delete [] Message;
return RetVal;
-} \ No newline at end of file
+}
+
+ \ No newline at end of file