Fire no longer goes out when on top of nether rack
This commit is contained in:
parent
53d5eb09e0
commit
30906a597c
@ -94,7 +94,9 @@ void cFireSimulator::SimulateChunk(float a_Dt, int a_ChunkX, int a_ChunkZ, cChun
|
|||||||
for (cCoordWithIntList::iterator itr = Data.begin(); itr != Data.end();)
|
for (cCoordWithIntList::iterator itr = Data.begin(); itr != Data.end();)
|
||||||
{
|
{
|
||||||
int idx = cChunkDef::MakeIndexNoCheck(itr->x, itr->y, itr->z);
|
int idx = cChunkDef::MakeIndexNoCheck(itr->x, itr->y, itr->z);
|
||||||
|
int idb = cChunkDef::MakeIndexNoCheck(itr->x, itr->y - 1, itr->z);
|
||||||
BLOCKTYPE BlockType = a_Chunk->GetBlock(idx);
|
BLOCKTYPE BlockType = a_Chunk->GetBlock(idx);
|
||||||
|
BLOCKTYPE Burnee = a_Chunk->GetBlock(idb);
|
||||||
|
|
||||||
if (!IsAllowedBlock(BlockType))
|
if (!IsAllowedBlock(BlockType))
|
||||||
{
|
{
|
||||||
@ -135,7 +137,10 @@ void cFireSimulator::SimulateChunk(float a_Dt, int a_ChunkX, int a_ChunkZ, cChun
|
|||||||
itr = Data.erase(itr);
|
itr = Data.erase(itr);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if(Burnee != E_BLOCK_NETHERRACK)
|
||||||
|
{
|
||||||
a_Chunk->SetMeta(idx, BlockMeta + 1);
|
a_Chunk->SetMeta(idx, BlockMeta + 1);
|
||||||
|
}
|
||||||
itr->Data = GetBurnStepTime(a_Chunk, itr->x, itr->y, itr->z); // TODO: Add some randomness into this
|
itr->Data = GetBurnStepTime(a_Chunk, itr->x, itr->y, itr->z); // TODO: Add some randomness into this
|
||||||
} // for itr - Data[]
|
} // for itr - Data[]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user