summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockButton.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-10-05Fix cmake not adding Werror on clang, and _lots_ of warnings (#4963)peterbell101-1/+1
* Fix cmake not adding Werror on clang, and _lots_ of warnings * WIP: Build fixes * Cannot make intermediate blockhandler instance * Tiger's changes * Fix BitIndex check * Handle invalid NextState values in cMultiVersionProtocol Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-09-20BlockHandler initialisation is a constant expression (#4891)Tiger Wang1-45/+38
* BlockHandler initialisation is a constant expression If we can't make it all namespaces, this is the next best I guess. + Tag handlers constexpr, const as needed + Inherit constructors * Privatise handler functions * More constexpr Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-08-28Remove unneeded MarkDirty, SendToClients parameters of SetMetaTiger Wang1-3/+3
Partially reverts #3129, whose addition of these parameters was superseded by #3149 that fixed generated leaves' metas. References: https://github.com/cuberite/cuberite/pull/4417#discussion_r334950513 e0bcd754009f16480437b2c1fa5e7fbedab31496
2020-08-08Remove the redstone solid block handlerTiger Wang1-24/+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-26Toggleables: update simulators when changedTiger Wang1-3/+24
2020-05-06Fixed various MSVC warnings.Mattes D1-0/+1
2020-05-03Buttons can now be triggered by arrows. (#4670)DrButcher1-18/+115
* Buttons can now be triggered by arrows.
2020-04-21Vector3 in Handlers (#4680)Mattes D1-27/+66
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
2020-04-16Using Super.Mattes D1-2/+2
2020-04-03Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D1-0/+1
The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change) The BlockInfo.h file was removed from Globals.h (main change) The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics) The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor) Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header. That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified. eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
2019-10-28Moved growing from cWorld / cChunk to cBlockHandler descendants.Mattes D1-1/+1
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D1-10/+11
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.
2018-02-05Deal with covered switches consistently (#4161)peterbell101-4/+1
* Fixes a number of "<function>: not all control paths return a value" warnings on MSVC. * Introduces the UNREACHABLE global macro and uses it instead of conditionally compiled switch defaults. * Move cNBTParseErrorCategory from FastNBT.h into FastNBT.cpp to prevent bad calls to message()
2017-11-20cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0091-11/+10
2017-09-19Changed BroadcastSoundEffect, SendSoundEffect, and CastThunderbolt parameters to vectors (#3959)Lane Kolbly1-2/+2
* Made BroadcastSoundEffect take vector parameters. * Added docs for new vectored methods * Removed old code * Fixed lua warnings * Made old BroadcastSoundEffect not an override. * m_Block to m_BlockPos, used Vector3d constructor where prettier. * a_Block to a_BlockPos * Changed thunderbolt a_Block to a_BlockPos
2017-08-17Changed int parameters to vector parameters in cCuboid and simulators (#3874)Lane Kolbly1-2/+2
2017-08-01cBlockHandler: take player by refpeterbell101-3/+3
2017-02-15Updated sounds and effect IDs (#3422)mathiascode1-2/+2
2016-04-22Reduced unnecessary block updatesLogicParrot1-2/+2
2016-02-05Bulk clearing of whitespaceLogicParrot1-4/+4
2015-12-18Reorganised the redstone simulatorTiger Wang1-8/+18
-> Many thanks to @worktycho for the idea, and @Haxi52 for the implementation plan! * Uses classes and inheritance now * Speed should be improved
2015-12-13allow use failures to propagate from the entity/block to the playerGargaj1-3/+4
2015-07-14Improved mapsTiger Wang1-7/+6
2015-06-24Buttons no longer click on when already on. Buttons now play sound when clicking off.Hax521-3/+23
2015-06-02Fixed warnings in MSVC.Mattes D1-0/+6
It complained about undefined return values or using uninitialized variables.
2015-05-19Fixed a lot of warningstycho1-1/+1
2015-03-25Removed 0x6, 0x7 from BlockButton.Alexandre Guertin1-5/+3
2015-03-09Buttons can be placed on the top and on the bottom face of a blockAlexandre Guertin1-1/+7
2014-09-09Moved sound-configs into BlockID.h and fixed/ added loads of soundsMasy981-6/+0
2014-07-17Basic style fixes.madmaxoft1-1/+1
2014-07-17Normalized comments.madmaxoft1-1/+1
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-13Changed BroadcastSoundEffect function to take floating pos.Howaner1-1/+1
2014-07-02Redstone simulator is alerted to lever unpoweringTiger Wang1-0/+1
* Fixed the "fix" that broke the fix for #535, thereby fixing said issue * Fixed #535
2014-06-28Minor change to buttons and leversTiger Wang1-1/+1
+ They now detect if the block they are on occupies its voxel, instead of just being solid
2014-03-25Fixed spelling; Rotater to Rotator.narroo1-3/+3
2014-03-02ReformattedTycho1-2/+2
2014-03-01g_BlockXXX => cBlockInfo::XXXandrew1-1/+1
2014-03-01Implemented RotationsTycho1-2/+3
2014-02-27Added some Metadate rotaters using templated MixinTycho1-2/+2
2014-02-09Fixed compile and some warnings in MSVSTiger Wang1-1/+1
2014-02-05Fixed a bunch of MSVS warningsTiger Wang1-1/+1
* Possibly also fixed some bugs with pathfinding and TNT, though unlikely
2014-02-04Improved Type safety of eBlockFaceTycho1-4/+4
May Fix #640
2014-02-01Changed Signiture of OnDestroyedByPlayerTycho1-1/+1
2014-02-01Changed pointers to referencesTycho1-7/+7
2014-02-01Changed signitures of Several BLockHandler MethodsTycho1-1/+1
Changed the signitures of the following to use interfaces: GetPlacementBlockTypeMeta OnPlaced OnPlacedByPlayer OnDestroyed OnNeighbourChanged NeighbourChanged OnUse CanBeAt Check
2014-01-26Refactored cBlockHandler::OnUse and dependentsTycho1-6/+6
2014-01-25First attempt at Implementing InterfacesTycho1-1/+1
2013-12-06Fixed duplication glitch with QueueSetBlockTiger Wang1-2/+2
If a coordinate was queued, and then the block there was broken, it would reappear: double items! Also now just sets meta if previous and current blocktypes matched.
2013-11-29Removed unneeded CPP filesTiger Wang1-6/+20
Also removed unneeded #include in BlockStems
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-21Multiple enhancements [SEE DESC]Tiger Wang1-2/+5
+ Added lever location checking * Fixed button location checking * Fixed button pressing/unpressing * Fixed repeaters updating * Minor enhancements
2013-11-18Redstone Megacommit [SEE DESC]Tiger Wang1-6/+30
+ Updated BlockID - look for yourself * Improved button, repeater, lever, and comparator code -> simplification and splitting of some stuff from the redstone simulator file * Fixed buttons not breaking when in an invalid game state * Fixed QueueSetBlock -> improved (AGAIN) piston code + Rewrote redstone simulator Fixes: #57, #58, #205, and part of #131. Fixes FS issues: 281, 116, and 102
2013-09-22Added button placement handlerTiger Wang1-7/+22
Also removed an unneeded variable in the stair handler
2013-09-22Removed OnDigging for Redstone devicesTiger Wang1-1/+0
2013-09-13Removed place on top and side preventionsTiger Wang1-6/+0
2013-07-29Changed everyting to Unix line endings.Alexander Harkness1-61/+61
2013-02-16Removed all E_ITEM_ symbols equivalent to E_BLOCK_, and all obsolete item and block symbols.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1218 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-5/+21
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-16Levers (patch contributed by Keyboard)madmaxoft@gmail.com1-22/+3
http://forum.mc-server.org/showthread.php?tid=649 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1075 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-03Moved blockticking into blockhandler classes.madmaxoft@gmail.com1-8/+8
Also slightly refactored the variable / argument names (BlockID is deprecated, use BlockType instead) git-svn-id: http://mc-server.googlecode.com/svn/trunk@921 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-01Slight refactoring of BlockHandlers - dropping unneeded virtual functionsmadmaxoft@gmail.com1-18/+30
( http://forum.mc-server.org/showthread.php?tid=434&pid=4734#pid4734 ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@917 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-29Unified folder name-casingmadmaxoft@gmail.com1-0/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@902 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-11Merged in a patch for sounds by l0udPLmadmaxoft@gmail.com1-1/+6
http://forum.mc-server.org/showthread.php?tid=434&pid=4564#pid4564 git-svn-id: http://mc-server.googlecode.com/svn/trunk@858 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-19Fixed Bug #236lapayo94@gmail.com1-1/+2
Workbench, Chest and Furnace are usable again git-svn-id: http://mc-server.googlecode.com/svn/trunk@755 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-16Some code improvementslapayo94@gmail.com1-10/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@677 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-15A new Block handling system :olapayo94@gmail.com1-0/+46
It was really a lot of work :D Took me the complete weekend :D Would really like to here your opinion on this =) The aim of this is to put all the actions for one block in one place so it is not spread around the source. (ToPickup, Action in cWorld, Action in cChunk, Action here, action there :D) git-svn-id: http://mc-server.googlecode.com/svn/trunk@671 0a769ca7-a7f5-676a-18bf-c427514a06d6