summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockComparator.h (unfollow)
Commit message (Collapse)AuthorFilesLines
5 daysClean up CanBeAt Functions (#5587)Alexander Harkness1-39/+4
* Use cChunkDef::IsValidHeight for CanBeAt functions, and related helpers. * Add mixins for SolidSurfaceUnderneat and DirtLikeUnderneath * Minor fixes after change review.
2023-01-25Allow certain blocks to be placed on top of upside-down stairs/slabs (#5468)Michal Havlíček1-6/+11
* Placing certain blocks on top of upside down slabs and stairs * remove TODO * fix style errors * IsAnyStairType helper function * Block placement on stairs and slabs
2021-05-05Move item placement into item handlers (#5184)Tiger Wang1-3/+3
* Move item placement into item handlers + Add appropriate CanBeAt checks in cPlayer::PlaceBlocks, into which all placement handlers call. * Partly addresses #5157 * Fixes #4878 * Fixes #2919 * Fixes #4629 * Fixes #4239 * Fixes #4849 Co-authored-by: changyong guo <guo1487@163.com> Co-authored-by: Xotheus <shady3300@outlook.com> Co-authored-by: Krist Pregracke <krist@tiger-scm.com> * Review fixes * Update APIDesc.lua * Rename Co-authored-by: changyong guo <guo1487@163.com> Co-authored-by: Xotheus <shady3300@outlook.com> Co-authored-by: Krist Pregracke <krist@tiger-scm.com>
2021-03-28Do not fake a tool when converting to pickups (#5170)Tiger Wang1-1/+1
* When the cause of destruction was world-induced (CanBeAt check failed) there is no tool. Pass the nullptr directly to ConvertToPickups and let it handle it. * Fixes #4795 - Remove unused a_Digger parameter to ConvertToPickups.
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-25Unify block entity pickup conversionTiger Wang1-1/+1
- Removed normal BlockHandler knowledge of block entities during conversion + Added cBlockEntity::ConvertToPickups that handles it
2020-09-20BlockHandler initialisation is a constant expression (#4891)Tiger Wang1-105/+84
* 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-07-26Use SimulateChunk in redstone simulatorTiger Wang1-12/+7
+ 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-21Vector3 in Handlers (#4680)Mattes D1-8/+89
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
2020-04-16Using Super.Mattes D1-2/+2
2020-04-10Add mixins for blocks that rotate based on player yaw at placementAlexander Harkness1-14/+2
Also add observer block handler.
2020-03-23Fix certain item drops (#4536)Mat1-2/+7
* Fix certain item drops * Revert unwanted changes * Revert unwanted changes * Revert change * Style fixes
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D1-10/+7
2017-11-20cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0091-26/+23
2017-08-01cBlockHandler: take player by refpeterbell101-5/+5
2017-08-01cWorld::SendBlockTo take player by refpeterbell101-1/+1
2016-07-31Redstone fixes (#3285)Tiger Wang1-0/+10
* Comparators and pistons no longer update instantly * Fixes #3168. * Consolidated comparator code * As a result, fixed an issue where GetPowerLevel didn't consider block entities behind it (only GetFrontPowerLevel did)
2016-07-29Revert "Redstone fixes"Mattes D1-10/+0
2016-07-29Consolidated comparator codeTiger Wang1-0/+5
* As a result, fixed an issue where GetPowerLevel didn't consider block entities behind it (only GetFrontPowerLevel did)
2016-07-29Comparators and pistons no longer update instantlyTiger Wang1-0/+5
* Fixes #3168.
2016-02-05Bulk clearing of whitespaceLogicParrot1-2/+2
2015-12-18Reorganised the redstone simulatorTiger Wang1-22/+25
-> 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-1/+2
2015-07-14Improved mapsTiger Wang1-9/+6
2015-06-06ComparatorsTiger Wang1-0/+79
2015-05-09More style checking.Mattes D1-1/+1
Spaces around some operators are checked.
2014-09-09Moved sound-configs into BlockID.h and fixed/ added loads of soundsMasy981-6/+0
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-03-25Fixed spelling; Rotater to Rotator.narroo1-3/+3
2014-03-05Add SendBlockTo to cWorldInterfaceHowaner1-1/+2
2014-03-05Add data backsending, when the Client interacts a Block and the Interact is cancelled.Howaner1-0/+6
2014-03-02ReformattedTycho1-2/+2
2014-03-01Implemented RotationsTycho1-2/+3
2014-02-27Added some Metadate rotaters using templated MixinTycho1-2/+2
2014-02-04Improved Type safety of eBlockFaceTycho1-2/+2
May Fix #640
2014-02-01Changed pointers to referencesTycho1-5/+5
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 GetPlacementBlockTypeMetaTycho1-4/+4
2014-01-25First attempt at Implementing InterfacesTycho1-1/+1
2014-01-17Removed internal cEntity::GetRot() usage.madmaxoft1-1/+1
2014-01-16Removed obsoleted functionsTiger Wang1-1/+1
2013-11-29Removed unneeded CPP filesTiger Wang1-5/+19
Also removed unneeded #include in BlockStems
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-09-22Removed some unneeded includesTiger Wang1-1/+0
2013-09-22Removed OnDigging for Redstone devicesTiger Wang1-1/+0
2013-09-18Implemented redstone comparatorsTiger Wang1-3/+3
They can be placed and toggled, but stills needs proper redstone support
2013-09-18Multiple fixes [SEE DESC]Tiger Wang1-0/+9
- Removed two random block handling files in the item handling section that didn't do anything. (One was an attempt at making slabs work, but failed to realise that the coords would have to be the block CLICKED, and another was just a random empty file for handling wooden planks.) * Fixed placing repeater blocks not directioning properly * Fixed wood directions breaking plank metadata
2013-09-13Removed place on top and side preventionsTiger Wang1-12/+0
2013-07-29Changed everyting to Unix line endings.Alexander Harkness1-60/+60
2013-03-15Huge performance boost in blockhandlers, they have direct access to chunk data when blockchecking.madmaxoft@gmail.com1-2/+2
Also fixed vines' placement. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1278 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-5/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 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