summaryrefslogtreecommitdiffstats
path: root/src/ChunkData.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Chest, weather, crash, and miscellaneous fixes (#5215)Tiger Wang2021-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Alpha-sort cChestEntity * Chests: use SendUpdateBlockEntity * Pathfinder: fix out of range Y * 1.13: correct weather packet ID * Chests: fix neighbour scanner + Add OnAddToWorld and overload to scan neighbours there, instead of in the constructor/OnUse. This fixes hoppers accessing newly loaded double chests and seeing a null m_Neighbour, thus thinking its a single chest. * Fix typo in cross coords computation. * Simplify hopper logic. * Block entities: ASSERT that type is correct If you match the block type first before calling DoWithBlockEntity, the corresponding block entity must either be empty or correspond to the block type. * Chunk: fix some forgotten PendingSendBE cleanup + Add cleanup in SetAllData, WriteBlockArea - Remove RemoveBlockEntity (used once), HasBlockEntity (not used) * Replace MakeIndex with MakeIndexNoCheck * Remove extraneous MarkDirty in hopper & chests
* Prepare ChunkData for BlockState storage (#5105)Tiger Wang2021-03-051-577/+81
| | | | | | | | | | | | | | | | | | | | | | | * Rename ChunkData Creatable test * Add missing Y-check in RedstoneWireHandler * Remove ChunkDef.h dependency in Scoreboard * Prepare ChunkData for BlockState storage + Split chunk block, meta, block & sky light storage + Load the height map from disk - Reduce duplicated code in ChunkData - Remove saving MCSBiomes, there aren't any - Remove the allocation pool, ref #4315, #3864 * fixed build * fixed test * fixed the debug compile Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
* Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D2020-04-031-0/+1
| | | | | | | | | The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change) The BlockInfo.h file was removed from Globals.h (main change) The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics) The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor) Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header. That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified. eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
* CheckBasicStyle: Check number of empty lines between functions (#4267)peterbell102018-07-261-0/+2
| | | | Add check for number of empty lines between functions and fix the corresponding failures
* Optimise chunk set (#4260)peterbell102018-07-231-1/+1
| | | | | | | | | | | | | | | | | Closes #1244 Initially I was just going to add the cChunkData to cSetChunkData but profiling revealed that the copying wasn't even the biggest slowdown. Much more time was being spent in cChunk::CreateBlockEntities and cChunk::WakeUpSimulators than was in memcpy so I've made those significantly faster as well. Optimisations performed: * cSetChunkData now stores blocks in a cChunkData object * cChunkData objects can now perform moves even if they are using different pools * cChunk::CreateBlockEntities now iterates in the correct order and only over present chunk sections * Similarly for cChunk::WakeUpSimulators * cSetChunkData::CalculateHeightMap now shortcuts to the highest present chunk section before checking blocks directly
* cChunk and cChunkData: Use vectors for block get and set functions (#4172)peterbell102018-02-041-71/+69
| | | | | * cChunkData: Change interface to use Vector3i * cChunk: Add Vector3i overloads for bounded block get and set functions.
* Implement anvil chunk sparsingpeterbell102017-08-261-0/+123
|
* Implement protocol level chunk sparsing (#3864)peterbell102017-08-211-85/+91
|
* Out of world blocks are now always considered air blocksLogicParrot2016-04-231-4/+9
|
* Bulk clearing of whitespaceLogicParrot2016-02-051-17/+17
|
* Silenced and fixed many warning messages across multiple files.Samuel Barney2015-07-291-15/+15
|
* Fixed Bug in cChunkData.worktycho2015-03-101-1/+1
| | | FIxed a bug where if the index was not aligned with the sections empty sections would not be set in the correct location.
* En masse NULL -> nullptr replaceTiger Wang2014-10-231-26/+26
|
* Merge branch 'master' of github.com:mc-server/MCServerTycho2014-06-161-11/+14
|
* Further improvements on redstone speedTiger Wang2014-06-071-1/+1
| | | | | | | Based on suggestions of @worktycho * Repeaters now walk their data structure only when needed * Fixed a bug with cChunkData returning an incorrect value for whether a meta had changed
* Fixed #1057Tiger Wang2014-06-041-1/+1
|
* removed NULL assignment to const valueTycho2014-05-301-1/+0
|
* removed unneded addressofTycho2014-05-301-7/+11
|
* Fixed cChunkData nibble copying.madmaxoft2014-05-301-9/+9
|
* Fixed sign comparison.madmaxoft2014-05-301-1/+1
|
* Fixed wrong copy sizes in cChunkData.madmaxoft2014-05-301-10/+10
|
* Attempt at fixing an unresolved symbol in gcc / clang.madmaxoft2014-05-291-1/+1
|
* Fix bug when a_Idx is not a multiple of SectionBLockCountworktycho2014-05-291-1/+1
|
* Derpworktycho2014-05-291-1/+1
|
* fix underflowworktycho2014-05-291-1/+1
| | | Wish c++ could specify saturating unsigned underflow.
* Fixed wrong block sizes for copying / setting.madmaxoft2014-05-291-40/+35
|
* Fixed Wrong types in nibble sizeofsworktycho2014-05-291-3/+3
|
* Fixed overflow bugworktycho2014-05-291-6/+9
|
* Added comments, reformatted code.madmaxoft2014-05-291-249/+142
|
* Fixed forgotten changes.madmaxoft2014-05-291-3/+3
|
* cChunkData: Normalized code style.madmaxoft2014-05-281-78/+90
|
* Fixed cChunkData formatting.madmaxoft2014-05-281-28/+90
|
* Fixed test globals to work with precompiled headersTycho2014-05-271-4/+0
|
* inject TestGlobals.h correctlyTycho2014-05-241-3/+7
|
* Moved accessors to cpp fileTycho2014-05-241-1/+229
|
* Implemented style changesTycho2014-05-241-33/+28
|
* Fixed if spacesTycho2014-05-211-6/+7
|
* Fixed reversed comparisons to nullTycho2014-05-211-9/+9
|
* Added space to ChunkData.cppTycho2014-05-211-20/+100
|
* Fixed stylistic issuesTycho2014-05-211-9/+9
|
* Renamed cChunkBuffer to cChunkDataTycho2014-05-211-0/+320