* Protocol: update Abilities flags
+ Add Spectator handling
* BioGen: move <iostream> include
* ClientHandle: rename Respawn packet dimension check flag
* Make it clearer what it's doing.
* ClientHandle: move ProcessProtocolIn calls to World
* Player: remove some redundant initialisation
* Player: UpdateCapabilities enables flight for spectators
* Produce growth: improve comments
* ClientHandle: run unload checks using delta time
* Fix forgotten initialisation of time member
+ Make TNT drop pickups, change a few comments.
+ Give each ray random intensity, instead of each explosion.
* Use direction instead of destination, rewrite for pairs of edges.
* BlockHandler initialisation is a constant expression
If we can't make it all namespaces, this is the next best I guess.
+ Tag handlers constexpr, const as needed
+ Inherit constructors
* Privatise handler functions
* More constexpr
Co-authored-by: Alexander Harkness <me@bearbin.net>
* 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>