summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockDoor.h (unfollow)
Commit message (Collapse)AuthorFilesLines
5 daysClean up CanBeAt Functions (#5587)Alexander Harkness1-8/+14
* Use cChunkDef::IsValidHeight for CanBeAt functions, and related helpers. * Add mixins for SolidSurfaceUnderneat and DirtLikeUnderneath * Minor fixes after change review.
2021-05-05Move item placement into item handlers (#5184)Tiger Wang1-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>
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-08Merged OnBreak with OnPlayerBreak (#4967)12xx121-1/+2
Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
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-29Doors: check power & toggle correctlyTiger Wang1-12/+8
* Fixed upper half ignoring its updates * Fixes #4945 * Fixed doors playing sound effects when they didn't actually toggle
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-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>
2020-08-04Door drops respect player gamemodeTiger Wang1-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
2020-04-21Vector3 in Handlers (#4680)Mattes D1-30/+64
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
2020-04-16Using Super.Mattes D1-2/+2
2020-04-11Fix rotation metas on blocksAlexander Harkness1-2/+2
2020-04-10Add mixins for blocks that rotate based on player yaw at placementAlexander Harkness1-37/+3
Also add observer block handler.
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-2/+34
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D1-42/+26
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.
2017-11-20cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0091-6/+6
2017-08-01cBlockHandler: take player by refpeterbell101-4/+4
2017-07-28Check for intersection between placed blocks and entities. (#3850)Lane Kolbly1-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.
2016-02-05Bulk clearing of whitespaceLogicParrot1-3/+3
2015-12-13allow use failures to propagate from the entity/block to the playerGargaj1-1/+1
2015-07-14Improved mapsTiger Wang1-14/+22
2015-07-14Fix duping doors (#1327)mmdk951-0/+4
2015-06-13Fixed typo in BlockDoor.hLane Kolbly1-1/+1
2015-05-24Made -Weverything an error.tycho1-3/+3
2015-04-21Fix door placing in connection with slabswraith111-5/+20
Except top-half slabs as transparent blocks for doors.
2014-12-25Fixed door placement.Mattes D1-1/+2
2014-12-24Refactored all player block placing to go through hooks.Mattes D1-12/+27
Fixes #1618.
2014-09-30Code improvementsHowaner1-1/+4
2014-09-30Fixed 1.8 doors.Howaner1-1/+14
2014-09-27Added default value to switch and spruce gate to fence gate handlerMasy981-0/+5
2014-09-27Fixed convertToPickups for doorsMasy981-1/+38
2014-09-26Removed more unessicary includesTycho1-0/+1
2014-09-09Removed old sound-configuration for doorsMasy981-1/+0
2014-07-17Basic style fixes.madmaxoft1-1/+1
2014-06-16Fix a few warningsTycho1-3/+3
2014-06-09Added Y coord checks and documentation to cBlockDoorHandler.madmaxoft1-19/+40
2014-05-31Moved the IsDoor check before the meta get.Howaner1-2/+1
2014-05-31Add doxy-commentHowaner1-3/+4
2014-05-30Better SetOpen() and IsOpen() function from the doors.Howaner1-76/+26
2014-05-29Add SetOpen() and IsOpen() to BlockDoor.h and fix door redstone bug.Howaner1-9/+80
2014-03-25Fixed spelling; Rotater to Rotator.narroo1-3/+3
2014-03-24Added MetaRotate/Mirror Support for a number of classes.narroo1-59/+7
2014-03-05Add data backsending, when the Client interacts a Block and the Interact is cancelled.Howaner1-0/+1
2014-03-02ReformattedTycho1-2/+2
2014-03-01Revesed typedefTycho1-1/+1
2014-03-01Implemented RotationsTycho1-2/+3
2014-02-27Added some Metadate rotaters using templated MixinTycho1-1/+56
2014-02-04Improved Type safety of eBlockFaceTycho1-3/+3
May Fix #640
2014-02-01Changed Signiture of OnDestroyedByPlayerTycho1-1/+1
2014-02-01Changed pointers to referencesTycho1-16/+16
2014-02-01Changed signitures of Several BLockHandler MethodsTycho1-17/+16
Changed the signitures of the following to use interfaces: GetPlacementBlockTypeMeta OnPlaced OnPlacedByPlayer OnDestroyed OnNeighbourChanged NeighbourChanged OnUse CanBeAt Check
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-24Moved source to srcAlexander Harkness1-0/+0
2013-09-13Removed place on top and side preventionsTiger Wang1-6/+0
2013-09-09Removed the cDoors class.madmaxoft1-2/+78
The helper functions that it implemented were moved into their respective blockhandlers.
2013-08-19Moved entities into the Entities subfolder.madmaxoft1-1/+1
2013-07-29Changed everyting to Unix line endings.Alexander Harkness1-105/+105
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-4/+63
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-20Fixed a bool evaluation warning in BlockDoor.hmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1083 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-19Implemented double doorsluksor111@gmail.com1-1/+6
Implemented fence gate Updated g_BlockTransparent[] Doors can now only be opened by right clicking Doors will now drop when not supported by block git-svn-id: http://mc-server.googlecode.com/svn/trunk@1080 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-03Moved blockticking into blockhandler classes.madmaxoft@gmail.com1-7/+7
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-14/+24
( 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-1/+1
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-0/+1
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-8/+8
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/+29
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