
Temporarily transform an item into another. Inspired by the "empowered state" mechanic in video games. Meant to be used with tools/weapons
When the mod's keybind is pressed (O by default), if the item in the mainhand can be transformed (as determined by the Bindings config), it shall change form
(See Gallery gif 1)
A depleting timer called the Item Timer will appear behind the transformed item (itself, called the Forme item) to indicate when the Forme Item will transform back to its base form. Then, another timer called the Player Cooldown will end, allowing for the transformation ability to be activated again. Pressing the mod's keybind while the Player Cooldown is not ready will display its remaining recharge time
Since the mod is based on having global timers, you cannot have an active Forme item that is able to transform further into another item
You cannot have multiple items transform at the same time, only one will be able to be transformed
In order to avoid having to extensively search the Forme item when the Item Timer finishes, and since the mod was made to be useful with only tools/weapons, the mod attempts to lock the Forme item to the slot it was transformed in
Be warned: there will 100% be mods that circumvent this (currently, the only such mod that has compat with Toolforme on this matter is Tool Belt). If the Forme item cannot be found, the mod makes the player responsible to find any Forme item to transform back into its base form; locking their transformation ability in the meantime. If the item disappears, welp let's just hope that an operator is on so they can use /toolforme playerReset playername :P
Note: the default config runs this command when a player dies, so you're only in trouble if the Forme item leaves the inventory by any other way
Here is what you can modify in the config:
Whether or not to apply the mod's intended scaling formula. If false, the damage attribute of the Forme item will remain untouched. the Multiplier config will have no effect
These are the specifications of what Forme item should be bound to what base items. Two formats exist: Regex and "super specific string that is formatted like a list" (see details in the actual config). Multiple base items can be bound to a Forme item
If both the Item Timer and the Player Cooldown should be reset, as well as if the Forme item (if any) should be reverted to its base form upon player death
In order to keep a thrown Forme item trident within its slot, I opted to use the technique used by Combat+ (https://modrinth.com/mod/combatplus-core)'s keepLoyaltyTridents functionality, but made the thrown trident cooldown configurable
Imagine having a trident that allows having Riptide and Loyalty at the same time. Riptide when you're in water, throw that thang when not in water. Unfortunately, I cannot provide the datapack that slaps some sense into the riptide component data to allow it to coexist with loyalty without making it non-disable-able, but I can make riptide tridents throwable :)) (that's what it does)
Have you ever been frustrated by the fact that when you hold a trident and a shield, the trident activates first? Yeah, me too! This makes it so shields only activate on crouch and also disables the shield's 5-tick delay
(See Gallery gif 2)