Incompatible with Feathers Armor System
Summary Parcool does not confirm that the player has enough non-armor feathers to perform an action.
Running Environment
- Minecraft Version: 1.20.1
- ParCool Version: 3.3.1.0
Detail
- Install both ParCool and Feathers.
- Change the stamina option to feathers in the config.
- Equip enough armor that the available stamina falls under the cost of a specific action.
- That action can still be performed. Moreover, it suddenly costs no stamina.
Additional Data
Here, I have equipped a combination of armors to limit my stamina to a single feather. Yet, I can still perform the 800 stamina cat leap while consuming no stamina. Without the armor, stamina is consumed as expected.
After some more testing, I can narrow down when this happens:
- For actions which use a lot of stamina all at once, you can use them for free if less than its full cost remains in the stamina bar. This occurs even without any armor.
- This does not apply to actions which use stamina continuously.
- This issue does not occur with "Default" ParCool! stamina system, which instead enters an exhausted state and refills.
Given this information, the issue seems to be that ParCool! expects all stamina bars to enter the exhausted state like its system does. Since the Feathers system doesn't do that, this is a false assumption that creates an edge case where nothing happens. For this reason, I suspect this issue occurs with all options other than "Default", although I haven't had time to test this.
In theory, this issue can be resolved by simply checking if enough stamina remains, and not allowing the action if it's too costly. Evidently, this already occurs when the bar totally depletes for continuous stamina actions.
For actions which use a lot of stamina all at once, you can use them for free if less than its full cost remains in the stamina bar. This occurs even without any armor.
Yeah, but I think this is not completely for free. It should consume remaining feathers, and ParCool needs at least 1 feather remaining.
This can seem odd but it was maximum with internal standard stamina system. In the first place there is large difference among ParCool stamina and Feathers. ParCool stamina can be consumed much in short time, and recover in short time too, and has status called exhausted, but Fethers doesn't have any these characteristic.
In theory, this issue can be resolved by simply checking if enough stamina remains
Ideally it may seem the best way but actually ParCool stamina cannot be implemented as this (ParCool admits the consumption being larger than remaining stamina, because if not so, stamina is never depleted completely) So I have to deal some implementation specially Totally this can be told the issue about how ParCool should adapt Feathers to its own stamina system...
Well as for this issue, at least there are somethings I can do easily with current stamina system, for example ParCool disables if remaining feathers are less than 3. (but this 3 is a constant. cannot refer dynamic stamina consumption)