summaryrefslogtreecommitdiffstats
path: root/src/BlockEntities/HopperEntity.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-05-03Add player statistics to API (#5193)nshah251-1/+1
* Fixed issue #5166 Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2021-04-30Chest, weather, crash, and miscellaneous fixes (#5215)Tiger Wang1-92/+26
* 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-71/+55
* 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-12Fix sending incorrect date values on world changeTiger Wang1-11/+16
Yak shave: make more things use cTickTime. Fix a couple of incorrect modulo-on-millisecond-value by making them use WorldTickAge.
2021-01-18cChunk: don't inherit from cChunkDef (#5106)Tiger Wang1-2/+2
2020-09-21Implement Dropspenser Hook (#4903)KrystilizeNevaDies1-1/+1
* Implement Dropspenser Hook Implemented a hook for dropspensing. HOOK_DROPSPENSE When plugin callback returns true then dropspense is cancelled * Update src/Bindings/PluginManager.h Co-authored-by: peterbell10 <peterbell10@live.co.uk> * Create OnDropSpense.lua * Fix indent * Forgot include Forgot to include the plugin manager. Although now im confused why it was working on my end without including the plugin manager * Update plugins.lua with dropspense * fix typos * haha notepad++ go brr Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-09-05Add more statistic tracking (#4837)12xx121-0/+2
+ Added possible 1.8 stats + Added stat tracking for 1.8.2 + Added stat tracking for 1.9 + Added the breed cow achievement Co-authored-by: 12xx12 <12xx12100@gmail.com>
2020-05-15Enable some more clang-tidy linter checks (#4738)peterbell101-5/+1
* Avoid inefficient AString -> c_str() -> AString round trip * Avoid redundant string init expressions * Avoid unnecessary return, continue, etc. * Add .clang-format to help with clang-tidy fix-its * Avoid unnecessary passing by value * Avoid unnecessary local copying * Avoid copying in range-for loops * Avoid over-complicated boolean expressions * Some violations missed by my local clang-tidy * Allow unnecessary continue statements * Add brackets * Another expression missed locally * Move BindingsProcessor call into clang-tidy.sh and add space * Fix pushd not found error * Different grouping of CheckBlockInteractionRate
2020-04-16Using Super.Mattes D1-2/+2
2020-03-27 Lock hopper when powered by redstone (#4347)Bond-0091-4/+17
* Lock hopper when powered by redstone * Add to manual bindings * Add hopper API documentation Co-authored-by: Mat <mail@mathias.is>
2019-10-28Moved growing from cWorld / cChunk to cBlockHandler descendants.Mattes D1-3/+3
2019-10-04Fixed crash in hopper while pulling items from blockentity above itself (#4412)NiLSPACE1-2/+2
2019-09-29Refactored more of Entities and BlockEntities to use Vector3. (#4403)Mattes D1-96/+85
2018-09-24Add a formatting function for Vector3 (#4282)peterbell101-6/+6
* Vector3: Add custom fmt compatible formatter. * cLuaState: Add fmt version of ApiParamError * Use vector formatting in manual bindings * Always log vectors with FLOG
2018-05-02Prefer static_cast to reinterpret_cast (#4223)peterbell101-1/+1
* Change reinterpret_cast -> static_cast wherever possible * Remove more unnecessary `const_cast`s. reinterpret_casts should be avoided for the same reason as c-style casts - they don't do any type-checking. reinterpret_cast was mainly being used for down-casting in inheritance hierarchies but static_cast works just as well while also making sure that there is actually an inheritance relationship there.
2017-11-20cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0091-4/+3
2017-09-11Replace ItemCallbacks with lambdas (#3993)peterbell101-12/+9
2017-09-02Revert "Replace ItemCallbacks with lambdas (#3948)"LogicParrot1-9/+12
This reverts commit 496c337cdfa593654018c171f6a74c28272265b5.
2017-09-01Replace ItemCallbacks with lambdas (#3948)peterbell101-12/+9
2017-06-16BlockEntities: Support cloning self.Mattes D1-7/+20
2017-06-05Fixes problems with windows:Lukas Pioch1-1/+1
- Changed cPlayer:OpenWindow to accept a ref, tolua adds a nil check - Close open lua window in destructor, to avoid dangling pointers
2016-02-19Proper entity destruction in non-ticking chunksLogicParrot1-1/+1
2015-12-13allow use failures to propagate from the entity/block to the playerGargaj1-1/+2
2015-07-31Unified the doxy-comment format.Mattes D1-12/+4
2015-06-17Fixes #2245Tiger Wang1-1/+1
Whoops :/
2015-05-11Improved hoppersTiger Wang1-26/+15
* Fixes #1994
2015-01-11Initial convertion of a_Dt to std::chronoTycho1-1/+1
also refactored cWorld::m_WorldAge and cWorld::m_TimeOfDay
2014-12-13Own classes for all windows.Howaner1-0/+1
2014-10-23En masse NULL -> nullptr replaceTiger Wang1-12/+12
2014-10-20En masse NULL -> nullptr replaceTiger Wang1-12/+12
2014-10-12convert old style casts to fix warningsSteven Riehl1-35/+31
2014-09-30Removed WSSCompactTiger Wang1-11/+0
2014-09-26Removed more unessicary includesTycho1-3/+0
2014-08-10Fixed potential null dereferenceTycho1-5/+5
Fixes CID 70466
2014-07-17Normalized comments.madmaxoft1-4/+4
This was mostly done automatically and then visually inspected for obvious errors. All //-style comments should have a 2-space separation from the code, and 1 space after the comment sign.
2014-07-13Fixed Issue with Comparing agast the wrong chest, potentially causing crashes.worktycho1-7/+7
2014-07-12cHopperEntity: Simplified chest conditions.madmaxoft1-10/+4
2014-07-12Suggestions and bug fixTiger Wang1-4/+13
* Fixed hoppers pushing/pulling to/from (trapped)chests that do not form a double-chest with the chest type directly connected to said hopper; thank you, @madmaxoft
2014-07-07Implemented trapped chests & othersTiger Wang1-8/+18
+ Added trapped chests * Fixed a bunch of bugs in the redstone simulator concerning wires and repeaters * Other potential bugfixes
2014-06-24Fixed crashes in HopperEntity.Mattes D1-19/+58
Some of the coords were off and some functions were assuming too much. Fixes the crash reported in http://forum.mc-server.org/showthread.php?tid=1497
2014-04-18Did some static analysis, fixed some bugs and optimized a lot of codejfhumann1-4/+7
2014-03-16Fixed double to float conversions.madmaxoft1-1/+1
2014-02-24Fixed compilation in MSVC (forward class definitions).madmaxoft1-0/+1
2014-02-24BlockEntities is warnings freeTycho1-0/+2
2014-02-15Removed debug messages againTiger Wang1-6/+0
2014-02-13Added proper debug messagesTiger Wang1-3/+8
2014-02-13Fancy stuff with constant referencesTiger Wang1-2/+2
2014-02-12Changed inheritance a bitTiger Wang1-18/+35
* cBlockEntityWithItems now inherits from cBlockEntityWindowOwner
2014-02-11Fixed #190Tiger Wang1-2/+67
+ Hoppers now collect pickups above them
2014-01-16Removed obsoleted functionsTiger Wang1-2/+2
2014-01-06Fixed a few MSVC warnings.madmaxoft1-1/+0
2013-12-20Fixed compiler warning when iterating over a fixed array of items (ARRAYCOUNT).madmaxoft1-2/+2
2013-12-08Moved bindings-related to a Bindings subfolder.madmaxoft1-1/+1
Ref.: #407
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-15Removed BlockEntities' constructors from the API.madmaxoft1-11/+0
Plugins shouldn't construct block entities, rather, they will query them either from the cWorld (while playing), or from cChunkDesc (while generating).
2013-08-19Moved entities into the Entities subfolder.madmaxoft1-1/+1
2013-08-11Added the OnHopperPullingItem and OnHopperPushingItem hooks.madmaxoft1-50/+104
Requested in FS 412, slightly modified the params.
2013-08-03Removed the unused BlockY parameter from cChunkDef::BlockToChunk()madmaxoft1-1/+1
2013-07-29Changed everyting to Unix line endings.Alexander Harkness1-523/+523
2013-06-20Furnaces light up visually when they're cookingmadmaxoft@gmail.com1-8/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1612 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-20Implemented hopper outputmadmaxoft@gmail.com1-4/+211
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1611 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-16Rewritten furnacesmadmaxoft@gmail.com1-1/+23
Furnaces now smelt the correct number of items. Furnaces store their contents in a cItemGrid. Furnace window is updated with correct items and progressbars. Furnace recipes now use ticks instead of milliseconds. Furnaces save and load their state completely, not missing a smelt operation. Hoppers take items out of furnaces. Dropped the cSlotAreaDropSpenser class, replaced it with generic cSlotAreaItemGrid git-svn-id: http://mc-server.googlecode.com/svn/trunk@1601 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-15Fixed Linux compilationmadmaxoft@gmail.com1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1589 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-13Added hopper entity, it can suck items out of chests, dispensers, droppers and other hopppers above it.madmaxoft@gmail.com1-0/+291
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1587 0a769ca7-a7f5-676a-18bf-c427514a06d6