summaryrefslogtreecommitdiffstats
path: root/src/UI/SlotArea.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Introduce recipe book functionality (#4493)Tobias Wilken2020-07-141-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce recipe book functionality The recipe book helps especially new players. Missing it gives the impression that cuberite is not as advanced as it is. The handling of the recipe book uses the following functions: - Unlock Recipes (https://wiki.vg/index.php?title=Protocol&oldid=14204#Unlock_Recipes) to make recipes available and show the notification for new recipes. Initialization is done on player login for known ones, the update is done when new items are discovered. - Craft Recipe Request (https://wiki.vg/index.php?title=Protocol&oldid=14204#Craft_Recipe_Request) when the user selects a recipe from the recipe book to fill the slots. Known recipes are initialized on player login via `Unlock Recipes` with `Action` 0. As soon as a new recipe is discovered this is added via `Unlock Recipes` with `Action` 1. To be able to know and recognize new recipes the player class is extended with `KnownItems` and `KnownRecipes`. As soon as a player touches an item this is compared to the list of `KnownItems`, if the item is unknown the recipes are checked for this item and the other ingredients are checked with the list of `KnownItems`. If a full match is discovered the recipe is unlocked with the client and stored in the `KnownRecipes`. To unlock recipes the recipe ID is sent to the client. A mapping file (for protocol 1.12.2) translated the minecraft recipe names to ids. The crafting.txt is extended with and minecraft recipe names is possible. Limitations: Only a single recipe is added to the crafting area. Multiple clicks or shift click does not increase the number of builds. Co-authored-by: peterbell10 <peterbell10@live.co.uk> * Address first issues mentioned by @peterbell10 - Some linting - Extract loading of recipe specific protocol mapping into a function - Build `RecipeNameMap` only once - Use `std::optional` - Extract `LoadRecipe` from `Window` * Start to implement new suggestions * Update with suggestions from @peterbell10 * Some minor cleanup * Update protocol packet IDs * Remove unused include * Include header in cmake * Change a vector to integer counter * Change dromedaryCase method names to PascalCase * Address suggestions from @madmaxoft * Read Protocol subdirectories to load recipe books To load all recipebooks iterate over the `Protocol` subdirectories to find mapping files. Co-authored-by: peterbell10 <peterbell10@live.co.uk>
* cWindow: Convert XYZ to Vector3 (#4764)MaxwellScroggs2020-07-041-2/+2
|
* Using Super.Mattes D2020-04-161-34/+48
|
* Implement horse inventory (#4053)peterbell102017-10-211-0/+25
| | | | | | | | | | * Implement horse inventory * Fix sign conversions * Add API doc for ItemCategory::IsHorseArmor * Improve HandleOpenHorseInventory comment and style fixes.
* Replaced includes with forward declarationsLukas Pioch2017-08-131-1/+2
|
* Off-hand/shield slot functional, save and load slot, bow + arrow functional (#3725)Pablo Beltrán2017-05-241-0/+17
| | | Fixes #3714.
* Clang 5.0 fixesLukas Pioch2017-05-211-4/+4
| | | | | - Added override keyword - Removed inherited member variables
* Corrected brewingstand and added support for fuelLukas Pioch2017-05-081-1/+1
|
* Fixed bindings for cBlockArea:Read and Write. (#3568)Mattes D2017-02-051-1/+1
| | | The original bindings accepted nil as the World param, causing a crash.
* Bulk clearing of whitespaceLogicParrot2016-02-051-39/+39
|
* Implemented brewingLukas Pioch2015-11-031-0/+30
|
* Unified the doxy-comment format.Mattes D2015-07-311-24/+22
|
* Silenced and fixed many warning messages across multiple files.Samuel Barney2015-07-291-1/+1
|
* Fixed missing overrides and added a ignore flag for reserved macro for clang version 3.6 and higher.Lukas Pioch2015-05-231-1/+1
|
* More style checking.Mattes D2015-05-091-1/+1
| | | | Spaces around some operators are checked.
* Changed cEntity::m_UniqueID to UInt32.Mattes D2015-03-211-7/+10
|
* Implemented vanilla-like shift click.Howaner2014-12-131-8/+8
| | | This fixes many visual bugs.
* Own classes for all windows.Howaner2014-12-131-4/+2
|
* e.t.c. -> etc.Tiger Wang2014-09-131-1/+1
| | | etcetera, not egg tray conglomerate :P
* Added newlinesTiger Wang2014-09-131-1/+5
|
* Implemented Chest MinecartsTiger Wang2014-09-131-0/+14
|
* Enchanting table improvements.Hownaer2014-08-281-2/+5
|
* Added beacon.Howaner2014-07-301-0/+29
|
* Add armor items directly to the armor slots.Howaner2014-07-201-1/+1
|
* Fixed tabs used for alignment.madmaxoft2014-07-171-2/+2
|
* Merge pull request #1157 from Howaner/WindowMattes D2014-07-091-3/+16
|\ | | | | Add more inventory actions.
| * Added inventory number click.Howaner2014-07-091-1/+5
| |
| * Added drop window action.Howaner2014-07-061-0/+6
| |
| * Add middle click.Howaner2014-07-051-2/+5
| |
* | Fixed crafting grid updating.Mattes D2014-07-061-0/+1
|/ | | | Fixes #1152.
* Players can't set items in the result slot, when they shift a item.Howaner2014-06-011-0/+1
|
* cEntity::Killed(cEntity *) Handler; Achievement triggers; cPlayer::AwardAchievement()andrew2014-05-121-0/+6
|
* Add doxycomments to cSlotAreaAnvil functions.Howaner2014-05-051-0/+2
|
* Add anvil shift click.Howaner2014-05-051-1/+3
|
* Add clicks, exp subtraction, item check, ...Howaner2014-05-051-1/+8
|
* Add MC|ItemName plugin message.Howaner2014-05-051-2/+0
|
* Add anvil window and slot area.Howaner2014-05-051-0/+29
|
* Fix armor in survival mode.Howaner2014-04-241-1/+6
|
* Add more checks to cSlotAreaEnchantingHowaner2014-04-151-10/+13
|
* Added ItemPlaceCount in SlotAreadaniel09162014-04-141-0/+3
| | | | Thanks to Howaner for helping
* Blocked enchanting a item twicedaniel09162014-04-141-2/+2
|
* Bug fixesdaniel09162014-04-141-6/+2
|
* Merge remote-tracking branch 'upstream/master' into Enchantingdaniel09162014-04-071-3/+3
|\
| * Fixed multiple gcc warnings about unused params.madmaxoft2014-02-281-3/+3
| |
* | first changes for enchanting (not finished)daniel09162014-01-201-0/+28
|/ | | | | | | | - added enchanting table block handler and added it to the blockhandler - added enchanting window - drop item in the slot 0 when the player close the window - added enchanting packet (1.7 only) - some more...
* Added basic ender chestsTiger Wang2013-12-071-0/+18
| | | | Note that they just mirror chests now, so no per player inventory.
* Moved source to srcAlexander Harkness2013-11-241-0/+313