1
0

Merge pull request #1273 from Howaner/GlobalFixes

Added missing HOOK_BLOCK_SPREAD call.
This commit is contained in:
Mattes D 2014-08-01 22:30:44 +02:00
commit 00dace910f

View File

@ -359,18 +359,26 @@ void cFireSimulator::RemoveFuelNeighbors(cChunk * a_Chunk, int a_RelX, int a_Rel
continue;
}
int AbsX = (Neighbour->GetPosX() * cChunkDef::Width) + X;
int Y = a_RelY + gNeighborCoords[i].y;
int AbsZ = (Neighbour->GetPosZ() * cChunkDef::Width) + Z;
if (BlockType == E_BLOCK_TNT)
{
int AbsX = X + Neighbour->GetPosX() * cChunkDef::Width;
int AbsZ = Z + Neighbour->GetPosZ() * cChunkDef::Width;
m_World.SpawnPrimedTNT(AbsX, a_RelY + gNeighborCoords[i].y, AbsZ, 0);
Neighbour->SetBlock(X, a_RelY + gNeighborCoords[i].y, Z, E_BLOCK_AIR, 0);
m_World.SpawnPrimedTNT(AbsX, Y, AbsZ, 0);
Neighbour->SetBlock(X, a_RelY + Y, Z, E_BLOCK_AIR, 0);
return;
}
bool ShouldReplaceFuel = (m_World.GetTickRandomNumber(MAX_CHANCE_REPLACE_FUEL) < m_ReplaceFuelChance);
Neighbour->SetBlock(X, a_RelY + gNeighborCoords[i].y, Z, ShouldReplaceFuel ? E_BLOCK_FIRE : E_BLOCK_AIR, 0);
if (ShouldReplaceFuel && !cRoot::Get()->GetPluginManager()->CallHookBlockSpread(&m_World, AbsX, Y, AbsZ, ssFireSpread))
{
Neighbour->SetBlock(X, Y, Z, E_BLOCK_FIRE, 0);
}
else
{
Neighbour->SetBlock(X, Y, Z, E_BLOCK_AIR, 0);
}
} // for i - Coords[]
}