summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-03-02 14:41:42 +0100
committerfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-03-02 14:41:42 +0100
commiteceead8394188af25c97af1c129bb66a3aa8c0a6 (patch)
treedfffe052679e760bfe11581c51443f21762bcdff
parentMultiBlock packet is working partly.. I really don't understand what's wrong with this packet :/ (diff)
downloadcuberite-eceead8394188af25c97af1c129bb66a3aa8c0a6.tar
cuberite-eceead8394188af25c97af1c129bb66a3aa8c0a6.tar.gz
cuberite-eceead8394188af25c97af1c129bb66a3aa8c0a6.tar.bz2
cuberite-eceead8394188af25c97af1c129bb66a3aa8c0a6.tar.lz
cuberite-eceead8394188af25c97af1c129bb66a3aa8c0a6.tar.xz
cuberite-eceead8394188af25c97af1c129bb66a3aa8c0a6.tar.zst
cuberite-eceead8394188af25c97af1c129bb66a3aa8c0a6.zip
-rw-r--r--source/cChunk.cpp8
-rw-r--r--source/packets/cPacket_MultiBlock.cpp3
2 files changed, 5 insertions, 6 deletions
diff --git a/source/cChunk.cpp b/source/cChunk.cpp
index 9a18ab0fe..0578f3d20 100644
--- a/source/cChunk.cpp
+++ b/source/cChunk.cpp
@@ -358,11 +358,9 @@ void cChunk::Tick(float a_Dt, MTRand & a_TickRandom)
unsigned int X = (index / (128*16));
#if (MINECRAFT_1_2_2 == 1)
- unsigned int Coords = Z | (X << 4) | (Y << 8);
- unsigned int Blocks = E_BLOCK_DIRT;//E_BLOCK_STONE;
- MultiBlock.m_Data[i].Data = Coords | (E_BLOCK_STONE) << 16;
-// MultiBlock.m_Data[i].Coords = E_BLOCK_STONE;//(Z&0xf) | (X&0xf)<<4 | (Y&0xff)<<8;//(Y&0xff) | (Z&0xf) << 8 | (X&0xf) << 12;
-
+ unsigned int Coords = Y | Z << 8 | X << 12;
+ unsigned int Blocks = GetLight( m_BlockMeta, index ) | (m_BlockType[index]<<4);
+ MultiBlock.m_Data[i].Data = Coords << 16 | Blocks;
#else
MultiBlock.m_BlockCoordinates[i] = (Z&0xf) | (X&0xf)<<4 | (Y&0xff)<<8;
//LOG("X: %i Y: %i Z: %i Combo: 0x%04x", X, Y, Z, MultiBlock.m_BlockCoordinates[i] );
diff --git a/source/packets/cPacket_MultiBlock.cpp b/source/packets/cPacket_MultiBlock.cpp
index 2c9165d0b..0d73254ed 100644
--- a/source/packets/cPacket_MultiBlock.cpp
+++ b/source/packets/cPacket_MultiBlock.cpp
@@ -57,7 +57,8 @@ void cPacket_MultiBlock::Serialize(AString & a_Data) const
#if (MINECRAFT_1_2_2 == 1)
AppendInteger(a_Data, m_DataSize);
- AppendData (a_Data, (const char*)m_Data, m_DataSize);
+ for( int i = 0; i < m_NumBlocks; ++i )
+ AppendInteger(a_Data, m_Data[i].Data);
#else
AppendData (a_Data, (char *)m_BlockCoordinates, sizeof(short) * m_NumBlocks);
AppendData (a_Data, m_BlockTypes, m_NumBlocks);