1
0

Add lava and water check to block handlers.

This commit is contained in:
Howaner 2014-05-07 20:37:36 +02:00
parent 36a2aa2f21
commit bc4a51781e
2 changed files with 14 additions and 2 deletions

View File

@ -38,7 +38,7 @@ public:
BLOCKTYPE Above; BLOCKTYPE Above;
NIBBLETYPE AboveMeta; NIBBLETYPE AboveMeta;
a_Chunk.GetBlockTypeMeta(a_RelX, a_RelY + 1, a_RelZ, Above, AboveMeta); a_Chunk.GetBlockTypeMeta(a_RelX, a_RelY + 1, a_RelZ, Above, AboveMeta);
if ((IsBlockWater(Above)) || !cBlockInfo::GetHandler(Above)->CanDirtGrowGrass(AboveMeta)) if (!cBlockInfo::GetHandler(Above)->CanDirtGrowGrass(AboveMeta))
{ {
a_Chunk.FastSetBlock(a_RelX, a_RelY, a_RelZ, E_BLOCK_DIRT, E_META_DIRT_NORMAL); a_Chunk.FastSetBlock(a_RelX, a_RelY, a_RelZ, E_BLOCK_DIRT, E_META_DIRT_NORMAL);
return; return;
@ -79,7 +79,7 @@ public:
BLOCKTYPE AboveDest; BLOCKTYPE AboveDest;
NIBBLETYPE AboveMeta; NIBBLETYPE AboveMeta;
Chunk->GetBlockTypeMeta(BlockX, BlockY + 1, BlockZ, AboveDest, AboveMeta); Chunk->GetBlockTypeMeta(BlockX, BlockY + 1, BlockZ, AboveDest, AboveMeta);
if ((!IsBlockWater(AboveDest)) && (cBlockInfo::GetHandler(AboveDest)->CanDirtGrowGrass(AboveMeta))) if (cBlockInfo::GetHandler(AboveDest)->CanDirtGrowGrass(AboveMeta))
{ {
if (!cRoot::Get()->GetPluginManager()->CallHookBlockSpread((cWorld*) &a_WorldInterface, BlockX * cChunkDef::Width, BlockY, BlockZ * cChunkDef::Width, ssGrassSpread)) if (!cRoot::Get()->GetPluginManager()->CallHookBlockSpread((cWorld*) &a_WorldInterface, BlockX * cChunkDef::Width, BlockY, BlockZ * cChunkDef::Width, ssGrassSpread))
{ {

View File

@ -49,6 +49,12 @@ public:
} }
super::Check(a_ChunkInterface, a_PluginInterface, a_RelX, a_RelY, a_RelZ, a_Chunk); super::Check(a_ChunkInterface, a_PluginInterface, a_RelX, a_RelY, a_RelZ, a_Chunk);
} }
virtual bool CanDirtGrowGrass(NIBBLETYPE a_Meta) override
{
return false;
}
} ; } ;
@ -132,6 +138,12 @@ public:
} // for i - CrossCoords[] } // for i - CrossCoords[]
return false; return false;
} }
virtual bool CanDirtGrowGrass(NIBBLETYPE a_Meta) override
{
return false;
}
} ; } ;