Players can now place blocks in creative mode. The blocks players select from the creative mode inventory are not stored in the players' inventory. (I kind of like that)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@37 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
parent
dda41a0406
commit
01246b27b0
@ -660,6 +660,7 @@ cChunkMap::cChunkLayer* cChunkMap::LoadLayer(int a_LayerX, int a_LayerZ )
|
|||||||
short NumChunks = 0;
|
short NumChunks = 0;
|
||||||
if( fread( &NumChunks, sizeof(NumChunks), 1, f) != 1 ) { LOGERROR("ERROR 3 READING FROM FILE %s", SourceFile); fclose(f); return false; }
|
if( fread( &NumChunks, sizeof(NumChunks), 1, f) != 1 ) { LOGERROR("ERROR 3 READING FROM FILE %s", SourceFile); fclose(f); return false; }
|
||||||
LOG("Num chunks: %i", NumChunks );
|
LOG("Num chunks: %i", NumChunks );
|
||||||
|
LOG("Source File: %s", SourceFile );
|
||||||
|
|
||||||
cChunkLayer* Layer = new cChunkLayer( LAYER_SIZE*LAYER_SIZE );
|
cChunkLayer* Layer = new cChunkLayer( LAYER_SIZE*LAYER_SIZE );
|
||||||
Layer->m_X = a_LayerX;
|
Layer->m_X = a_LayerX;
|
||||||
|
@ -581,7 +581,8 @@ void cClientHandle::HandlePacket( cPacket* a_Packet )
|
|||||||
{
|
{
|
||||||
cPacket_BlockPlace* PacketData = reinterpret_cast<cPacket_BlockPlace*>(a_Packet);
|
cPacket_BlockPlace* PacketData = reinterpret_cast<cPacket_BlockPlace*>(a_Packet);
|
||||||
cItem & Equipped = m_Player->GetInventory().GetEquippedItem();
|
cItem & Equipped = m_Player->GetInventory().GetEquippedItem();
|
||||||
if( (Equipped.m_ItemID != PacketData->m_ItemType) ) // Not valid
|
//if( (Equipped.m_ItemID != PacketData->m_ItemType) ) // Not valid
|
||||||
|
if( (Equipped.m_ItemID != PacketData->m_ItemType) && (cRoot::Get()->GetWorld()->GetGameMode() != 1) ) // Not valid
|
||||||
{
|
{
|
||||||
LOGWARN("Player %s tried to place a block that was not selected! (could indicate bot)", GetUsername() );
|
LOGWARN("Player %s tried to place a block that was not selected! (could indicate bot)", GetUsername() );
|
||||||
break;
|
break;
|
||||||
@ -592,7 +593,6 @@ void cClientHandle::HandlePacket( cPacket* a_Packet )
|
|||||||
if( PacketData->m_Direction > -1 )
|
if( PacketData->m_Direction > -1 )
|
||||||
{
|
{
|
||||||
AddDirection( PacketData->m_PosX, PacketData->m_PosY, PacketData->m_PosZ, PacketData->m_Direction );
|
AddDirection( PacketData->m_PosX, PacketData->m_PosY, PacketData->m_PosZ, PacketData->m_Direction );
|
||||||
|
|
||||||
m_Player->GetWorld()->SendBlockTo( PacketData->m_PosX, PacketData->m_PosY, PacketData->m_PosZ, m_Player );
|
m_Player->GetWorld()->SendBlockTo( PacketData->m_PosX, PacketData->m_PosY, PacketData->m_PosZ, m_Player );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -721,7 +721,7 @@ void cClientHandle::HandlePacket( cPacket* a_Packet )
|
|||||||
|
|
||||||
if( IsValidBlock( PacketData->m_ItemType) )
|
if( IsValidBlock( PacketData->m_ItemType) )
|
||||||
{
|
{
|
||||||
if( m_Player->GetInventory().RemoveItem( Item ) )
|
if( (m_Player->GetInventory().RemoveItem( Item )) || (cRoot::Get()->GetWorld()->GetGameMode() == 1) )
|
||||||
{
|
{
|
||||||
int X = PacketData->m_PosX;
|
int X = PacketData->m_PosX;
|
||||||
char Y = PacketData->m_PosY;
|
char Y = PacketData->m_PosY;
|
||||||
|
Loading…
Reference in New Issue
Block a user