Closed Freebi85 closed 4 years ago
second screenshot, illustrates problem
tl;dr: Need some steps to reproduce this happening because I can't seem to make it happen.
As a temporary fix use the /setheartmod <player> 0
command.
This is likely due to something my PR broke in switching to not basing health calculations off base health (the migration code).
See this change here: https://github.com/Lothrazar/Cyclic/pull/1264/files#diff-1ae591b8233b82d113a94d73cd8ad811R100-R107
That code is meant to migrate from the old system of storing total health (which includes the player's base health) to just storing the modifier (so without any changes it should be 0). I did test this in the associated video in the PR so this is kinda strange...
For this to occur it would have needed the OLD_MHEALTH
tag to exist and also have a value of 0
instead of the default of 20...
I tried to reproduce it with these steps but didn't run into the problem (I did /kill to refresh the hearts displayed): Created a world with old version of Cyclic (1.12.2-1.19.18 released 2019/11/04) Loaded the world up with a new version of Cyclic (1.12.2-1.20.2 released 2020/04/19)
Also tried the above with eating one heart as well before upgrading the world.
Out of curiosity I tried downgrading cyclic and it initially has the correct hearts but upon using /kill
it resets the heart modifier back to the default value (as if you had not eaten any hearts). Which is what is expected with the migration removing the old value.
Perhaps we could just keep the old tag around. That would let people downgrade properly? But, really, downgrading is a risky thing in general, a lot of mods assume that you only ever update them. (Example from another mod was astral sorcery allowing prism lens to be placed on any side instead of only facing up, upon downgrading, any lens not placed facing upwards vanished or crashed depending on if you've configured forge to remove erroring tiles).
Well i think it's not a big deal at all because it happens only in very specific cases. Maybe only if you have additional spice of life hearts in combination with something else. My modpack DD&SS is pretty big and it's hard to track down this issue. Hard to reproduce. When creating some new worlds everything is fine and works as intended.
Also the /setheartmod
Maybe you can simply leave this as a small and unexpected incompatibility after the update.
legacy versions are feature complete, and this is in so many packs that changing it now will break more than it will fix. there was a breaking change at some point in the past, yeah. there are commands. and new worlds are consistent.
Great report and feedback tho
Minecraft Version: 1.12.2 Forge Version: .2847 Mod Version: 1.20.2 Single Player or Server: Both
Describe problem (what you were doing; what happened; what should have happened): After updating to latest Cyclic version: For some reason the Cyclic heart modifiert gives some players a negative value of -20. Rewerting to a previous version don't fix the issue anymore.
That means some player have 0 hearts on login. Others with some spice of life or astral sorcery hearts, have a bit more depending on progression, Sometimes 3, sometimes 6.
Video/images/gifs (direct upload or link):
Cheers, Freebi