summaryrefslogtreecommitdiffstats
path: root/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Chest, weather, crash, and miscellaneous fixes (#5215)Tiger Wang2021-04-301-4/+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
* Hoppers: use 'locked' bit in metaTiger Wang2021-04-121-4/+15
|
* Unify DoWithBlockEntity (#5168)Tiger Wang2021-03-281-2/+7
| | | | | | + DoWith calls now broadcast the block entity and mark the chunk dirty + Add block entity change queue to synchronise BE updates with block updates * Fixed a few incorrect assertions about BE type - Remove manual overloads
* Redstone: inline -> staticTiger Wang2021-01-221-3/+3
|
* Replace PowerData struct with PowerLevelTiger Wang2020-08-211-6/+6
| | | | * We no longer need to track the powering block with the removal of SolidBlockHandler. PowerLevel is now just an unsigned char
* Remove std::make_unique from redstone handler creationTiger Wang2020-08-211-5/+4
|
* Remove the redstone solid block handlerTiger Wang2020-08-081-5/+3
| | | | | | | - 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
* Use SimulateChunk in redstone simulatorTiger Wang2020-07-261-30/+16
| | | | | | + Improved performance, reduces bottleneck in chunkmap lookup * Stop allocating and throwing away lots of small vectors in Update/GetValidSourcePositions return values - Remove unused GetPowerLevel virtual
* Using Super.Mattes D2020-04-161-2/+4
|
* Lock hopper when powered by redstone (#4347)Bond-0092020-03-271-0/+62
* Lock hopper when powered by redstone * Add to manual bindings * Add hopper API documentation Co-authored-by: Mat <mail@mathias.is>