Cazsius / Spice-of-Life-Carrot-Edition

Motivating people to explore new foods with the carrot, not the stick.
GNU Lesser General Public License v2.1
17 stars 43 forks source link

Strange Interactions with PlayerEX #107

Open Teddy-Maz opened 3 years ago

Teddy-Maz commented 3 years ago

PlayerEX is a relatively new mod that alters player stats by allowing most of them to be upgraded over time, including max health. Part of its config allows for changing how much health one starts with, though for some reason it has strange interactions with Carrot Edition.

If the SOL: Carrot Edition server config remains untouched, both mods work as intended. But changing the number of hearts you're given in your config drastically alters PlayerEX in unexpected ways;

  1. Setting it to be equal to or less than the number of hearts PlayerEX gives you reduces your health to 1 (possibly 0.5 so as to prevent an infinite death loop). I currently have it configured to start me with 10 health (5 hearts).
  2. Setting it to be more than the base amount Spice of Life would give you stacks both values together. In my second test, I spawned with a fresh Spice of Life config (same PlayerEX configs so 5 hearts to start), cranked the base hearts in the SOL config up to 20 from 10, and when I returned I had 30 health (15 hearts) total.
  3. Test 3 had the same world as Test 2, but I updated both configs - PlayerEX to have 1 heart to start and SOL to give 4 hearts (10 health total). It once again sent me to 1 health. I had hoped it was an issue where SOL needs to have the higher amount of health contribution, but it looks like it might be any amount below what is normally given by SOL might just cause it to bug out.

Obviously this fix isn't urgent since it's effectively optional compatability for a niche stats mod (on top of the fact that I can't imagine what would go into fixing an issue like this), and since there's not even a guarantee that it's Spice of Life that's causing it I'll be sure to get in touch with clevernucleus to see if they can figure out why these two mods would conflict in such a weird way and has a solution they might able to employ on their end.

For reference, here's all the information regarding the mods and my minecraft/forge versions:

Minecraft 1.16.5 Forge 1.16.5-36.1.4 SOL: Carrot Edition-1.16.3-1.9.10 PlayerEX-1.1.7.5-1.16.4

juliand665 commented 3 years ago

Thanks for the detailed writeup! Something important to understand about the way SoL: Carrot handles base hearts is that it just takes the difference from 10 and gives you a modifier changing your max health by that amount. So if you specify base hearts as 7 in our config, it just applies a -6 max health modifier (well, technically it adds that to the other health modification it does based on eaten foods, but that's beside the point). Thus, if you had e.g. two different SoLs, both with base hearts set to 13, you'd start with 16 hearts.

I don't know if PlayerEX checks the current max health and modifies based on that or something, but is there still an issue if you don't change base hearts in our config?

Teddy-Maz commented 3 years ago

If I leave Spice of Life's max health adjustments alone it works fine. I was even able to change the number of foods required to your next milestone and the amount of hearts gained and it worked as intended. I was just trying to utilize both mods to alter health at once and stumbled upon this. Either way, it's rather inconsequential if you're not hyper-fixated on tweaking mods like I am.

I posted a comment on PlayerEX's Curseforge page and the Clevernucleus said they'd look into it. If yours is only a formula that subtracts from base health then there's probably a simple fix on their end to get these two mods to better gel together.

juliand665 commented 3 years ago

I mean, the "workaround" is rather simple, right? If you leave SoL: Carrot base hearts at 10, everything should work as expected (with PlayerEX adjusting base hearts to its desire—obviously your base hearts will no longer be 10 then).