+ Add type-safe container for states
* Split registry Blocks into BlockTypes, BlockStates so the block types enumeration can be #included without too much penalty
* Ensure Registry uses type-safe container
* Turn off global-constructors warning. These are needed to implement cRoot signal handler functionality
* Add Clang flags based on version lookup instead of a compile test. The CMake config process is single threaded and slow enough already
* Reduced GetStackValue verbosity
+ Clarify EnchantmentLevel, StayCount, AlwaysTicked, ViewDistance signedness
+ Give SettingsRepositoryInterface a move constructor to simplify main.cpp code
- Remove do {} while (false) construction in redstone handler
* Removed BiomeDef.h
* Removed ChunkDef.h from Globals.h
* Added to CONTRIBUTORS.
* Re-added empty last line to Globals.h
* Included stddef and StringUtils in BiomeDef.h
* Fixed build tools compiling. It compiles, but at what cost?
* Added include to src/Generating/Trees.h
* Include added in ChunkGeneratorThread.h
* Moved rearranged includes in LineBlockTracer.cpp
* Re-arrange headers in ChunkInterface.cpp
* Included ChunkDef.h in Path.h
* Included ChunkDef.h in NBTChunkSerializer.h
* Rearranged included and added required includes to headers.
* Removed unnecessary included in StringUtils.h.
* 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>
- Remove cSolidBlockHandler
* Functionality now integrated into simulator dispatcher
* Fix door double open/close issues, arisen due to the top/bottom halves getting different power
+ Small migration to block states for redstone wire
* Pistons/Ice no longer need to FastSetBlock first (#4600), and the former don't drop items when broken in creative
- Begin migration away from stationary fluids
* Tick the chunk after applying a client's changed
* Broadcast pending blocks at the end of a tick
* WakeUp is for singular changes (block breaking for example). The simulator should check blocks around the position and discover other affected blocks as it sees fit
* AddBlock is for when you know a whole area is to be updated; chunk loading, or area wakeups for example
+ Prepares for correct handling of destroyed blocks after removal of SolidBlockHandler in the redstone simulator
Closes#4708
This updates jsoncpp, mbedtls, TCLAP and SQLiteCpp to their latest stable release. A few additional changes were needed:
* jsoncpp deprecated Reader, FastWriter and StyledWriter which I've replaced
with some helper functions in JsonUtils.cpp
* SQLiteCpp changed how it builds with external sqlite libraries, now expecting
them to be installed. The simplest path was to remove sqlite from cuberite's
submodule and just use SQLiteCpp's internal version.
* Falling blocks can now be spawned at any position.
* Added a /cake command to Debuggers that throws a cake in a nice slow arc.
* Fixed regular falling blocks.