summaryrefslogtreecommitdiffstats
path: root/src/Blocks/BlockCrops.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-05-05Move item placement into item handlers (#5184)Tiger Wang1-2/+2
* 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-11-06Add correct implementation of crops (#4802)0ddlyoko1-25/+20
* [FIX] Add correct implementation of seed drops. > Official percentage of drops has been implemented * Fix C++ conventions * Change "Vals" variable to "m_Vals" * [FIX] Add correct implementation of Carrots, Potatoes, Wheat & Beetroots seed * Add Fortune support with crops Add fortune support with Wheat, Carrots, Potatoes & Beetroots seeds * [FIX] Right-clicking on a grown Beetroot in survival consume 2 bone meals Fix #4805 * Add documentation for "cWorld::IsFullGrownPlantAt" method * Fix dispenser that full grown a plant > Change methods cItemDyeHandler::FertilizePlant & cItemDyeHandler::growPlantsAround to static * Display particle even if tree doesn't grow * When right-clicking on a full grown melon / pumpkin seed, no longer produce a melon / pumpkin Before this commit, when you right-click on a melon or a pumpkin seed, a melon / pumpkin block spawned. With this commit, it no longer spawns * [FIX] Do not create melon / pumpkin block when right-clicking with a bone meal This fix will prevent the creation of a melon / pumpkin block when you right-click with a bone meal on a melon / pumpkin plant - It just detect if the plant is full grown. if yes, the method "Grow" is not called - Remove IsFullGrownPlant 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-4/+4
* 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-28Fortune Drops (#4932)KingCol131-15/+29
+ Implemented and standardized all clamped discrete random drops. + Changed cItems Add from push_back to emplace_back. Implement fortune for crops. + Enabled hoes to be enchanted with efficiency, silk touch and fortune. Made leaves, gravel and crops affected by fortune. 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-11/+6
* 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-04-21Vector3 in Handlers (#4680)Mattes D1-2/+4
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
2020-04-16Using Super.Mattes D1-2/+2
2019-10-28Moved growing from cWorld / cChunk to cBlockHandler descendants.Mattes D1-14/+11
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D1-23/+25
2017-06-13FastRandom rewrite (#3754)peterbell101-11/+11
2017-05-09BlockCrops: Fixed RipeMeta off-by-one error properly.Mattes D1-2/+2
Ref.: #3691
2017-05-06Adjusted RipeMeta for off by one error (#3691)dbhicks1-2/+2
2017-02-25BlockCrops: Fixed comments and reformatted control flow. (#3576)Mattes D1-46/+54
2017-02-14Added some blocks and items (#3503)mathiascode1-6/+17
2016-02-05Bulk clearing of whitespaceLogicParrot1-1/+1
2015-12-17Moved variables into scope, removed unused variables and fixed variablesLukas Pioch1-8/+1
2015-08-19* Logic for handling plant growth has been centralized into cBlockPlant, and all growable plants now inherit from it.Samuel Barney1-6/+12
* Blocks now have an effect upon plant growth, just like in vanilla.
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney1-3/+3
2015-07-14Improved mapsTiger Wang1-4/+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-03-30Fixed a few Clang warnings in BlockHandlers.madmaxoft1-6/+6
2014-02-03Fixed issues with farmlandTiger Wang1-1/+1
* Fixed farmland reversion checks not taking into account carrots and potatoes * Fixed #623
2014-02-02Changed Signiture of OnUpdateTycho1-1/+1
2014-02-01Changed pointers to referencesTycho1-1/+1
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-26Removed cWorld IncludeTycho1-1/+0
2013-11-30Changed cBlockHandler->OnUpdate() to use cChunk directly.madmaxoft1-6/+6
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-14Fixed growing issue with crops.Samuel Barney1-0/+6
2013-10-13Removed faulty code dealing with water.Samuel Barney1-3/+2
2013-10-12Crop blocks now respect water and light. Currently a block has to be "watered" or the crop has a chance of breaking anyways.Samuel Barney1-1/+8
2013-09-13Removed place on top and side preventionsTiger Wang1-6/+0
2013-07-29Changed everyting to Unix line endings.Alexander Harkness1-108/+108
2013-04-05Added carrots and potatoes handling, bonemealing and proper lighting.madmaxoft@gmail.com1-4/+55
FS #166 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1359 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-03Fixed crops producing pickups for creative mode players.madmaxoft@gmail.com1-8/+4
FS #350 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1356 0a769ca7-a7f5-676a-18bf-c427514a06d6
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
2012-10-03Minor style cleanupmadmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@922 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-03Moved blockticking into blockhandler classes.madmaxoft@gmail.com1-9/+13
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-24/+17
( 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-28Fixed a few warningsmadmaxoft@gmail.com1-2/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@799 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-16Some code improvementslapayo94@gmail.com1-4/+9
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/+56
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