summaryrefslogtreecommitdiffstats
path: root/src/Simulator/IncrementalRedstoneSimulator/HopperHandler.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-04-30Chest, weather, crash, and miscellaneous fixes (#5215)Tiger Wang1-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
2021-04-12Hoppers: use 'locked' bit in metaTiger Wang1-4/+15
2021-03-28Unify DoWithBlockEntity (#5168)Tiger Wang1-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
2021-01-22Redstone: inline -> staticTiger Wang1-3/+3
2020-08-21Replace PowerData struct with PowerLevelTiger Wang1-6/+6
* We no longer need to track the powering block with the removal of SolidBlockHandler. PowerLevel is now just an unsigned char
2020-08-21Remove std::make_unique from redstone handler creationTiger Wang1-5/+4
2020-08-08Remove the redstone solid block handlerTiger Wang1-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
2020-07-26Use SimulateChunk in redstone simulatorTiger Wang1-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
2020-04-16Using Super.Mattes D1-2/+4
2020-03-27 Lock hopper when powered by redstone (#4347)Bond-0091-6/+5
* Lock hopper when powered by redstone * Add to manual bindings * Add hopper API documentation Co-authored-by: Mat <mail@mathias.is>
2018-08-29Force all headers other than "Globals.h" to be included with relative paths (#4269)peterbell101-1/+1
Closes #4236 CMake now creates a header file in the build directory under the path "include/Globals.h" which just includes "src/Globals.h" with an absolute path. Then instead of adding "src/" to the include directories, it adds "include/". #include "Globals.h" still works by including the build generated file and any other src-relative path will not work.
2017-09-11Replace ItemCallbacks with lambdas (#3993)peterbell101-8/+3
2017-09-07Changed some int parameters to vector parameters (#3937)Bond-0091-5/+5
2017-09-02Revert "Replace ItemCallbacks with lambdas (#3948)"LogicParrot1-3/+8
This reverts commit 496c337cdfa593654018c171f6a74c28272265b5.
2017-09-01Replace ItemCallbacks with lambdas (#3948)peterbell101-8/+3
2017-07-17Allocate redstone component handlers upfrontpeterbell101-11/+9
2015-12-24Silenced the Redstone Simulator console spamSafwat Halaby1-1/+1
2015-12-18Reorganised the redstone simulatorTiger Wang1-0/+70
-> Many thanks to @worktycho for the idea, and @Haxi52 for the implementation plan! * Uses classes and inheritance now * Speed should be improved