-
Notifications
You must be signed in to change notification settings - Fork 0
Making SlowTools
26.1.2 -- v0.2
SlowTools can be made similarly to creating an Item in Fabric, but instead of registering a new Item, you create a SlowTool and feed it a small config.
Here's a simple example:
public static final Item ITEM_NAME = register("item_name", properties -> new SlowTool(
SlowTool.config()
.itemOutput(Item, int)
.itemUses(int)
.usageSound(SoundEvent)
.finishSound(SoundEvent)
.returnItem(Item, int),
properties
), new Item.Properties());
| Company | Contact | Country |
|---|---|---|
| Alfreds Futterkiste | Maria Anders | Germany |
| Centro comercial Moctezuma | Francisco Chang | Mexico |
1.21.1 -- v0.1 (Old)
This version of the mod is oldMinecraft version: 1.21.1
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
ItemConvertibleviaitemOutput - Parameter 2 is the maximum durability of the item (how long it will take to craft) as
intviaitemUses. Slow Tools progress at a rate oftps % 5, about 4 times per second, so anitemUsesof 240 will require 60 seconds to finish. - Parameter 3 is the sound played as the player crafts the item as
SoundEventviausageSound - Parameter 4 is the sound played when the craft is finished as
SoundEventviafinishSound - 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

