Slowcraft
A library for creating low-tech Progressive Crafting items, inspired by Better Than Wolves.
Slowcraft
Slowcraft is a library for creating Slow Tools, 'Progressive Crafting' items inspired by the Knitting system from the Better Than Wolves mod.
Slow Tools are intermediary items which require holding down right click to finish a 'progress bar' as represented by their durability. Upon completion, the tool is replaced with the finished item.
This mod does nothing on its own.
Creating Slow Tools
Making Slow Tools is easy! ... But it isn't data-driven, you'll need to implement Slowcraft into your mod.
For the time being, use Modrinth Maven to add Slowcraft as a dependency to your project.
The `SlowTool` Class extends `ToolItem`, so making a new one is as easy as making a typical `ToolItem` plus a few extra constructor parameters and one component in the item's recipe.
Here's an example of a Slow Tool Class:

- Parameter 1 is the output of the craft as `ItemConvertible` via `itemOutput` - Parameter 2 is the maximum durability of the item (how long it will take to craft) as `int` via `itemUses`. Slow Tools progress at a rate of `tps % 5`, about 4 times per second, so an `itemUses` of 240 will require 60 seconds to finish. - Parameter 3 is the sound played as the player crafts the item as `SoundEvent` via `usageSound` - Parameter 4 is the sound played when the craft is finished as `SoundEvent` via `finishSound` - Parameter 5 is the typical `Item.Settings()` section, where standard item settings can be applied
Additionally, when constructing the recipe for Slow Tools, they require a `component` of `minecraft:damage` set to the same value as their `itemUses` (durability). The easiest way to do this is to simply add the component to the recipe's JSON, set to the same value:

!The `minecraft:damage` value must be the same as your item's itemUses (Parameter 2 above)!
If you're generating your recipes via code, you'll have to add the component to your output.
Drawbacks? - Slow Tools require a Material to function, hard-set to SlowMaterial in the SlowTool Class constructor - Requires manually setting the damage component through recipe definition
Planned? - Classic Eating animation from BTW on Progressive Crafts - Input Item return
Credit
FlowerChild and BTW CE 3.0 Community for art assets
Ivangeevo for assistance with item logic
This library is mostly for a modpack I'm making, but anyone is free to use/utilize it.