Extensions:Crafting System

From Lorekeeper Wiki
Revision as of 23:48, 3 July 2021 by Draginraptor (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Crafting System
Description Allows admins to construct recipes that users can then craft
Author(s) Draginraptor, Ne-wt, Preimpression
Status Testing
Github extension/crafting_system
LK Version Unspecified
Contains a Migration



This extension is built on the develop branch.

Huge thanks to Newt and Uri for really getting this extension past the finishing line!

This extension allows users to create recipes that can then be crafted by users without admin interaction. They are made up of 3 main sections: limits, ingredients, and rewards.

Limits are prerequisites that a user will need to have before they can craft the recipe. However, these are not consumed on craft. This was made with the idea of tools in mind, such as a cooking pot or sewing kit. Items, Currency, or other Recipes can be set as limits, and a quantity can be set. It is optional for recipes to use limits.

Each recipe can specify multiple ingredients, which can set as the following types:

  • Single Item (Item): The ingredient requirement can only be fulfilled by the selected item
  • Multiple Items (Multi Item): The ingredient requirement can be fulfilled with any mix of the items specified
  • Single Category (Category): The ingredient requirement can be fulfilled by any mix of items item within a category
  • Multiple Category (Multi Category): The ingredient requirement can be fulfilled with any mix of the items from any of the specified categories

Recipe rewards can be set as any rewardable item available in Lorekeeper (such as Item, Currency, Raffle). Additionally, the extension adds Recipe as a new type of rewardable.

By default, recipes are immediately available to users, but can also be set to require unlocking. If unlocking is required, a user will need to acquire the Recipe before being able to craft it.

This extension also comes with the 'Recipe' Item Tag. This tag allows you to create items that will unlock a random locked recipe on use. You can set it to either roll from a specific set of unlockable recipes, or to roll from ALL unlockable recipes.

Installation

You only need to run php artisan migrate. Then run php artisan update-extension-tracker.

Configuration

The config cache may need to be cleared with php artisan config:cache before the Recipe tag will show up.

Usage

When users open the crafting modal, if they have sufficient items, the required ingredients will be preselected for them for convenience. However, they can still change the selection around as they desire, though selecting insufficient items means that the craft will fail. If there are insufficient items to begin with, an alert will be displayed to let them know.

Ingredients are always consumed from the most specific group to the least specific, namely Item -> Multi Item -> Category -> Multi Category. Currencies sit outside of this order.

Troubleshooting

You can look for Draginraptor, newt, or Uri on the Lorekeeper Discord specifically for bugs related to the crafting system.