summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockDoor.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Clean up CanBeAt Functions (#5587)Alexander Harkness30 hours1-8/+14
| | | | | | | * Use cChunkDef::IsValidHeight for CanBeAt functions, and related helpers. * Add mixins for SolidSurfaceUnderneat and DirtLikeUnderneath * Minor fixes after change review.
* Move item placement into item handlers (#5184)Tiger Wang2021-05-051-53/+12
| | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Do not fake a tool when converting to pickups (#5170)Tiger Wang2021-03-281-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.
* Merged OnBreak with OnPlayerBreak (#4967)12xx122020-10-081-1/+2
| | | | Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
* Fix cmake not adding Werror on clang, and _lots_ of warnings (#4963)peterbell102020-10-051-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>
* Doors: check power & toggle correctlyTiger Wang2020-09-291-12/+8
| | | | | | * Fixed upper half ignoring its updates * Fixes #4945 * Fixed doors playing sound effects when they didn't actually toggle
* Unify block entity pickup conversionTiger Wang2020-09-251-1/+1
| | | | | - Removed normal BlockHandler knowledge of block entities during conversion + Added cBlockEntity::ConvertToPickups that handles it
* BlockHandler initialisation is a constant expression (#4891)Tiger Wang2020-09-201-139/+125
| | | | | | | | | | | | | * 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>
* Door drops respect player gamemodeTiger Wang2020-08-041-6/+0
| | | | | | * Rely on caller to handle converting to pickups, all OnBroken needs to do is to maintain the unity of the door * Fixes #4797 * Fixes #4796
* Vector3 in Handlers (#4680)Mattes D2020-04-211-30/+64
| | | Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
* Using Super.Mattes D2020-04-161-2/+2
|
* Fix rotation metas on blocksAlexander Harkness2020-04-111-2/+2
|
* Add mixins for blocks that rotate based on player yaw at placementAlexander Harkness2020-04-101-37/+3
| | | | Also add observer block handler.
* Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D2020-04-031-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
* Moved growing from cWorld / cChunk to cBlockHandler descendants.Mattes D2019-10-281-2/+34
|
* Refactored block-to-pickup conversion. (#4417)Mattes D2019-10-161-42/+26
|
* Force all headers other than "Globals.h" to be included with relative paths (#4269)peterbell102018-08-291-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.
* cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0092017-11-201-6/+6
|
* cBlockHandler: take player by refpeterbell102017-08-011-4/+4
|
* Check for intersection between placed blocks and entities. (#3850)Lane Kolbly2017-07-281-0/+2
| | | | | | | | | | | | | * Check for intersection between placed blocks and entities. + Implemented GetPlacementCollisionBox, to permit custom placement collision boxes for blocks. * Factored block-entity placement checking into another function in cPlayer. - Removed vector min/max functions * Use GetWorld to get the world in DoesPlacingBlocksIntersectEntity. + Added block height checks, allow different cEntity subclasses to decide whether they will prevent block placement.
* Bulk clearing of whitespaceLogicParrot2016-02-051-3/+3
|
* allow use failures to propagate from the entity/block to the playerGargaj2015-12-131-1/+1
|
* Improved mapsTiger Wang2015-07-141-14/+22
|
* Fix duping doors (#1327)mmdk952015-07-141-0/+4
|
* Fixed typo in BlockDoor.hLane Kolbly2015-06-131-1/+1
|
* Made -Weverything an error.tycho2015-05-241-3/+3
|
* Fix door placing in connection with slabswraith112015-04-211-5/+20
| | | | Except top-half slabs as transparent blocks for doors.
* Fixed door placement.Mattes D2014-12-251-1/+2
|
* Refactored all player block placing to go through hooks.Mattes D2014-12-241-12/+27
| | | | Fixes #1618.
* Code improvementsHowaner2014-09-301-1/+4
|
* Fixed 1.8 doors.Howaner2014-09-301-1/+14
|
* Added default value to switch and spruce gate to fence gate handlerMasy982014-09-271-0/+5
|
* Fixed convertToPickups for doorsMasy982014-09-271-1/+38
|
* Removed more unessicary includesTycho2014-09-261-0/+1
|
* Removed old sound-configuration for doorsMasy982014-09-091-1/+0
|
* Basic style fixes.madmaxoft2014-07-171-1/+1
|
* Fix a few warningsTycho2014-06-161-3/+3
|
* Added Y coord checks and documentation to cBlockDoorHandler.madmaxoft2014-06-091-19/+40
|
* Moved the IsDoor check before the meta get.Howaner2014-05-311-2/+1
|
* Add doxy-commentHowaner2014-05-311-3/+4
|
* Better SetOpen() and IsOpen() function from the doors.Howaner2014-05-301-76/+26
|
* Add SetOpen() and IsOpen() to BlockDoor.h and fix door redstone bug.Howaner2014-05-291-9/+80
|
* Fixed spelling; Rotater to Rotator.narroo2014-03-251-3/+3
|
* Added MetaRotate/Mirror Support for a number of classes.narroo2014-03-241-59/+7
|
* Merge pull request #729 from worktycho/MetaRotateMattes D2014-03-081-1/+57
|\ | | | | Alternitive solution to #503
| * ReformattedTycho2014-03-021-2/+2
| |
| * Revesed typedefTycho2014-03-011-1/+1
| |
| * Implemented RotationsTycho2014-03-011-2/+3
| |
| * Added some Metadate rotaters using templated MixinTycho2014-02-271-1/+56
| |
* | Add data backsending, when the Client interacts a Block and the Interact is cancelled.Howaner2014-03-051-0/+1
|/
* Improved Type safety of eBlockFaceTycho2014-02-041-3/+3
| | | | May Fix #640
* Changed Signiture of OnDestroyedByPlayerTycho2014-02-011-1/+1
|
* Changed pointers to referencesTycho2014-02-011-16/+16
|
* Changed signitures of Several BLockHandler MethodsTycho2014-02-011-17/+16
| | | | | | | | | | | | | Changed the signitures of the following to use interfaces: GetPlacementBlockTypeMeta OnPlaced OnPlacedByPlayer OnDestroyed OnNeighbourChanged NeighbourChanged OnUse CanBeAt Check
* First attempt at Implementing InterfacesTycho2014-01-251-1/+1
|
* Removed internal cEntity::GetRot() usage.madmaxoft2014-01-171-1/+1
|
* Removed obsoleted functionsTiger Wang2014-01-161-1/+1
|
* Moved source to srcAlexander Harkness2013-11-241-0/+175