1
0
Fork 0
Commit Graph

32 Commits

Author SHA1 Message Date
Tiger Wang 9b97d63f8f
Chest, weather, crash, and miscellaneous fixes (#5215)
* 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-30 13:23:46 +00:00
npresley0506 d117a6c5db
Repaired Hoppers Treating Chests as two entities (#5202)
* Repaired Hoppers Treating Chests as two entities

* Style changes

* style fixes

* Fixed style issues, also condensed logic in MoveItemsFromChest

* Used m_Neighbour, fixed styling

* GetNeighbour not ReturnNeighbour

Co-authored-by: npresley <npresley@umich.edu>
2021-04-23 12:51:59 +00:00
Tiger Wang 16aeb84cd3
Fix potential destruction crashes (#5095)
* Fix potential destruction crashes

* Fix destructors accessing destroyted objects
* Fix cPlayer not destroying windows (Destroyed never called)
* Tentatively fixes #4608, fixes #3236, fixes #3262
- Remove cEntity::Destroyed() and replace with cEntity::OnRemoveFromWorld()

* Add missing call to OnRemoveFromWorld
2021-01-02 13:50:34 +00:00
Tiger Wang 6d85435f60 Remove BLOCKENTITY_PROTODEF 2020-10-24 18:49:38 +01:00
Tiger Wang 225c2fa9f6 Always use relative coordinates in AddBlock
+ Pass block, use relatives
* Fixes everything immediately converting abs back to rel and getting block, when these data were already available
2020-08-02 15:52:06 +01:00
Tiger Wang b30d70f09d Call BlockEntityWithItems from ChestEntity slot changed handler
* Small degree of unification for what to do with the current entity
* Make sure to do necessary actions for both sides of a double chest
2020-07-26 00:02:07 +01:00
Mattes D 9ee47e5999 Using Super. 2020-04-16 20:07:48 +00:00
Mattes D 365cbc6e1c
Refactored more of Entities and BlockEntities to use Vector3. (#4403) 2019-09-29 14:59:24 +02:00
Bond-009 4de232bdae Wake up redstone simulator on slot changes for blockentities (#4348)
Fix #1898
Fix #2194
Fix #3063
2019-08-11 00:11:57 +01:00
Mattes D 0dd1cd750b BlockEntities: Support cloning self. 2017-06-16 14:11:28 +02:00
peterbell10 36be4a89f8 Fixed double chests (#3741)
Normal and trapped chests next to each other don't open a double chest window.
Slot changes in the secondary chest are broadcast.
Placing a chest in +x of another updates the original chest's metadata.
2017-06-03 21:17:53 +02:00
peterbell10 f261a03c14 Double chest window fix (#3735) 2017-05-28 20:07:38 +02:00
Lukas Pioch e35ac1bfb9 Clang 5.0 fixes
- Added override keyword
- Removed inherited member variables
2017-05-21 12:19:06 +02:00
LogicParrot 7f5757eccf Reduced unnecessary block updates 2016-04-23 00:30:00 +03:00
LogicParrot ca6ef58b1e Bulk clearing of whitespace 2016-02-05 23:50:18 +02:00
Gargaj f9008a4860 allow use failures to propagate from the entity/block to the player 2015-12-13 13:27:38 +01:00
tycho b259ab53fb Fixed override
This was causing a compile error in clang 3.6
2015-06-15 18:03:54 +01:00
Tiger Wang de5b1401f8 Comparators 2015-06-06 12:21:09 +01:00
Howaner 648fee1a08 Merge branch 'master' into MobSpawner 2014-11-29 12:05:35 +01:00
Mattes D a6ed5cb1d8 BlockEntities: Removed the extra semicolon. 2014-11-27 22:42:08 +01:00
Howaner 8b028c5c78 Finished mob spawner implementation. 2014-11-18 15:33:41 +01:00
Mattes D b0a59927fb cLuaState: cBlockEntity descendants are pushed with proper class type. 2014-10-19 12:46:25 +02:00
Tiger Wang 9e4a5f824a Removed WSSCompact 2014-09-30 22:20:21 +01:00
Tycho a3f940f47c Removed more unessicary includes 2014-09-26 18:13:19 +01:00
madmaxoft 08748bafe2 Code style: Fixed braces on separate lines. 2014-07-19 15:23:40 +02:00
madmaxoft c4f1284d9c cChestEntity: Renamed a member to avoid confusion. 2014-07-12 23:30:34 +02:00
Tiger Wang 9e44b0aae1 Implemented trapped chests & others
+ Added trapped chests
* Fixed a bunch of bugs in the redstone simulator concerning wires and
repeaters
* Other potential bugfixes
2014-07-06 23:50:22 +01:00
Tiger Wang e915a0df4c Removed some unneeded BroadcastWholeWindow()s 2014-02-12 22:06:13 +00:00
Tiger Wang f97ce30151 Changed inheritance a bit
* cBlockEntityWithItems now inherits from cBlockEntityWindowOwner
2014-02-12 22:01:22 +00:00
Tiger Wang c53406f0d4 Fixed #612
* Chests send contents updates to client
2014-02-11 22:04:11 +00:00
madmaxoft daade8ddee Fixed multiple inheritance in ToLua++.
This fixes #422.
2013-12-16 22:13:46 +01:00
Alexander Harkness 675b4aa878 Moved source to src 2013-11-24 14:19:41 +00:00