Tinker's construct tools and weapons do not receive benefits from Botania's terrasteel wills
HighTemplar0 opened this issue ยท 7 comments
Minecraft Version
1.18.2
Forge Version
Forge- 40.2.10
Mantle Version
Mantle-1.18.2-1.9.45
Tinkers' Construct Version
TConstruct-1.18.2-3.6.4.113
Describe your issue
When using any tinkers tool or weapon along with botania's terrasteel armor (And the respective wills that have an effect on a crit) the effects are not applied.
The effects are given when you deal any melee crit with any weapon, block, tool, item and even bare hands, some of them give slowness, some weakness and some armor pierce the enemy.
This bug persists even when i only install tinkers and botania, all you need is the terrasteel armor with any combination of the wills that proc on crit and any tinker's weapon or tool, then try the tool against an enemy with high armor, be it player or mob.
I am not using optifine.
This is a problem that persists in both 1.16.5 and 1.18.5 (i have not tested earlier versions)
Crash Report
No response
Other mods
Tinker's Construct
Botania
Mantle
Curios API (Forge)
Patchouli
Tried reproducing with just Tinkers?
No
Performance Enchancers
Rubidium/Embeddium
Searched for known issues?
Searched open issues
We fire the proper events on critical hit, so unless Botania is just bypassing the forge event entirely and using mixins, I don't see why this would happen.
Report this to Botania and link it here, they might have a better idea what is going on.
I posted a bug report to botania around the same time as i did here, this is the link to it
VazkiiMods/Botania#4478
Hopefully that helps, they confirmed it was a bug too. Let me know if you need anything else
We fire the proper events on critical hit, so unless Botania is just bypassing the forge event entirely and using mixins, I don't see why this would happen.
Botania appears to use a combination of the Forge event and a Player mixin to apply Will effects. It uses the event itself to apply the damage modifier of the Will of Dharok (more damage if the player has low health), but for everything else it stores the target of the critical hit for the mixin to process. This processing is injected into Player::attack
, right before the invocation of target.hurt(DamageSource, float)
.
How do Tinker tools/weapons apply their attack damage in this regard?
Tinker tools reimplement melee attack logic since the vanilla logic has basically no flexability. This is done in the item left click hook.
That said, we follow all proper forge events, and most of the enchantment hooks. Something like critical hits has a forge hook, there is absolutely no reason Botania should be using a mixin for that.
This will probably need a bit of research, then. The terrasteel armor set can apply six different effects, only one of which can really make direct use of the critical hit event. Most of the others can probably use the damage event, but will need to get the critical hit information passed to them. One of them likely won't work through any of the available events though, as it needs to upgrade the damage type for a critical hit to ignore armor.