summaryrefslogtreecommitdiffstats
path: root/src/BlockEntities/ChestEntity.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-11-02Apply new clang-formattingclang-format-codebaseAlexander Harkness1-9/+6
2021-04-30Chest, weather, crash, and miscellaneous fixes (#5215)Tiger Wang1-21/+25
* 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-23Repaired Hoppers Treating Chests as two entities (#5202)npresley05061-0/+3
* 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-01-02Fix potential destruction crashes (#5095)Tiger Wang1-2/+1
* 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
2020-10-24Remove BLOCKENTITY_PROTODEFTiger Wang1-8/+0
2020-08-02Always use relative coordinates in AddBlockTiger Wang1-38/+1
+ Pass block, use relatives * Fixes everything immediately converting abs back to rel and getting block, when these data were already available
2020-07-26Call BlockEntityWithItems from ChestEntity slot changed handlerTiger Wang1-24/+32
* 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-04-16Using Super.Mattes D1-1/+1
2019-09-29Refactored more of Entities and BlockEntities to use Vector3. (#4403)Mattes D1-5/+10
2019-08-11Wake up redstone simulator on slot changes for blockentities (#4348)Bond-0091-0/+8
Fix #1898 Fix #2194 Fix #3063
2017-06-16BlockEntities: Support cloning self.Mattes D1-2/+3
2017-06-03Fixed double chests (#3741)peterbell101-3/+13
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-05-28Double chest window fix (#3735)peterbell101-3/+14
2017-05-21Clang 5.0 fixesLukas Pioch1-1/+1
- Added override keyword - Removed inherited member variables
2016-04-22Reduced unnecessary block updatesLogicParrot1-1/+0
2016-02-05Bulk clearing of whitespaceLogicParrot1-6/+6
2015-12-13allow use failures to propagate from the entity/block to the playerGargaj1-1/+1
2015-06-15Fixed overridetycho1-1/+1
This was causing a compile error in clang 3.6
2015-06-06ComparatorsTiger Wang1-0/+18
2014-11-27BlockEntities: Removed the extra semicolon.Mattes D1-1/+1
2014-11-18Finished mob spawner implementation.Howaner1-5/+0
2014-10-19cLuaState: cBlockEntity descendants are pushed with proper class type.Mattes D1-2/+2
2014-09-30Removed WSSCompactTiger Wang1-3/+0
2014-09-26Removed more unessicary includesTycho1-2/+0
2014-07-19Code style: Fixed braces on separate lines.madmaxoft1-1/+2
2014-07-12cChestEntity: Renamed a member to avoid confusion.madmaxoft1-7/+8
2014-07-07Implemented trapped chests & othersTiger Wang1-1/+12
+ Added trapped chests * Fixed a bunch of bugs in the redstone simulator concerning wires and repeaters * Other potential bugfixes
2014-02-12Removed some unneeded BroadcastWholeWindow()sTiger Wang1-1/+0
2014-02-12Changed inheritance a bitTiger Wang1-3/+1
* cBlockEntityWithItems now inherits from cBlockEntityWindowOwner
2014-02-11Fixed #612Tiger Wang1-0/+1
* Chests send contents updates to client
2013-12-16Fixed multiple inheritance in ToLua++.madmaxoft1-4/+4
This fixes #422.
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-15Removed BlockEntities' constructors from the API.madmaxoft1-4/+0
Plugins shouldn't construct block entities, rather, they will query them either from the cWorld (while playing), or from cChunkDesc (while generating).
2013-06-13cItemGrid: Added IsSlotEmpty() functionsmadmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1585 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-12ChestEntity: fixed bindingsmadmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1584 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-28Moved BlockEntities to a separate foldermadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1527 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-25cChestEntity and cDispenserEntity now inherit from a common ancestor, cBlockEntityWithItemsmadmaxoft@gmail.com1-26/+17
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1507 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-10ItemGrid: Renamed all Item to Slot - better and consistent namingmadmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1381 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-10Added cItemGrid to represent an XY grid of items; converted chests to use cItemGrid.madmaxoft@gmail.com1-11/+9
http://forum.mc-server.org/showthread.php?tid=831 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1380 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-06Mineshafts: Added random loot to generated chests and fixed chest directionmadmaxoft@gmail.com1-6/+19
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1365 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-03Added a GetClassStatic function to all entities, as well as cFurnaceEntity, cChestEntity and cWorldfaketruth1-0/+2
Using templates to generate ForEach* functions instead of MACROS Better error reporting in ForEach* functions git-svn-id: http://mc-server.googlecode.com/svn/trunk@1191 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-20Double chests are now working, and with sound. (FS #69)madmaxoft@gmail.com1-17/+11
git-svn-id: http://mc-server.googlecode.com/svn/trunk@993 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: UI files renamedmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@878 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-20Refactored windows.madmaxoft@gmail.com1-6/+6
As described on the forum: http://forum.mc-server.org/showthread.php?tid=561 For now, only basic clicking works; shift-click not implemented yet. git-svn-id: http://mc-server.googlecode.com/svn/trunk@867 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-02ToLua does not like the override keyword :(faketruth1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@821 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-02Exported cWorld::DoWithChestAt to Luafaketruth1-10/+10
Exported cChestEntity to Lua for handling in DoWithChestAt git-svn-id: http://mc-server.googlecode.com/svn/trunk@820 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-24Monster classes don't use cPackets. Chat messages are sent / broadcast without cPackets. BlockEntities don't use cPackets.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@783 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-19Window, Chest, Furnace and Pawn are not using cPackets at allmadmaxoft@gmail.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@762 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-07Prepared WindowOwner class hierarchy for minecart with chest.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@719 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-66/+66
git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-08Configurable classic composition generatorcedeel@gmail.com1-2/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@575 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-28Chests and Furnaces are now saved properly into Anvil scheme.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@516 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24Reverted the previous commit - it is useless, since entities still depend heavily on cWorldmadmaxoft@gmail.com1-2/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@428 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-23Encapsulated cWorld functions needed in cWorldStorage into an interface, so that cWorldStorage can actually be used outside of MC-Server (such as storage conversion tools and chunk analyzers)madmaxoft@gmail.com1-0/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@427 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16Chunk is now marked as dirty; saving only dirty chunks; rewritten load / save not to use cChunkPtr; set VC2008 project to level4 warnings; block entities are now loaded and saved properlymadmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@273 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)madmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@263 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-13Rewritten most of the code for multithreading; still not 100%, but getting there. If this commit proves to be too problematic, we can always undo it.madmaxoft@gmail.com1-7/+24
git-svn-id: http://mc-server.googlecode.com/svn/trunk@251 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30More cFile cleanup; removed old format writing for block entitiesmadmaxoft@gmail.com1-3/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@193 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29M$ BS...mtilden@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@155 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-29 - Chests open and close on clients when opened/closedmtilden@gmail.com1-0/+10
- Beginnings of "Double Chest". All that's needed is detection when 2 chests get put next to each other, block other chests from then touching them on any side, load/save with the m_JoinedChest seeing each other and adding and making sure the left side is always the top rows. I'm not sure exactly at this moment how to do all of the detection and saving/loading of the double chest stuff so if you've any ideas feel free to point out some areas in the server code or implement it yourself. git-svn-id: http://mc-server.googlecode.com/svn/trunk@154 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-31Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@29 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-03MCServer c++ source filesfaketruth1-0/+42
git-svn-id: http://mc-server.googlecode.com/svn/trunk@3 0a769ca7-a7f5-676a-18bf-c427514a06d6