1
0

Use tracing for explosions (#4845)

* TNT: Implement tracing algorithm

+ Add intensity tracing
* Fix iterating over all players to SendExplosion, even those not in range

* Implemented TNT entity interaction

* Fixed misaligned destruction tracing

* Finalise TNT algorithm

- Remove BlockArea and just use chunks

Using SetBlock makes it so that we can update everything properly, and does appear to be faster.

* BlockInfo learns about explosion attentuation

* Rename Explodinator parameters

* TNT: pull block destruction into common function

Co-authored-by: Alexander Harkness <me@bearbin.net>
This commit is contained in:
Tiger Wang
2020-09-12 19:57:44 +01:00
committed by GitHub
parent 834d61dacc
commit 93adbdce9a
22 changed files with 531 additions and 300 deletions

View File

@@ -419,6 +419,7 @@ void cChunk::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock
{
if (affectedArea.IsInside(itr->second->GetPos()))
{
itr->second->Destroy();
itr = m_BlockEntities.erase(itr);
}
else