| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Add check for number of empty lines between functions and fix the corresponding failures
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
* Store block entities in a map from block index
* Cleanup ForEachBlockEntity
* Cleanup DoWithBlockEntityAt
|
| |
|
|\
| |
| | |
Small code cleanup - clean version
|
| |
| |
| |
| |
| |
| | |
convert c style casts to c++ static casts
Changed fabs() to std::abs()
|
| | |
|
|/ |
|
|
|
|
| |
iterator to next valid list element
|
|
|
|
| |
unsafely stealing data
|
| |
|
| |
|
|
|
|
| |
Reported on the Dropper map in #1307.
|
|
|
| |
Old code was calling dereference on invalid iterator
|
|
|
|
|
|
| |
Block entities are now loaded based on the blocktype at the coords they specify; before loading, their type ("id" NBT tag) is checked.
The chunk now expects that all block entities given to it via cChunk::SetAllData() have their valid blocktype; asserts if they don't.
Fixes #1354.
|
| |
|
|
Fixes #1196.
|