Clumps

Clumps

212M Downloads

PickupXp event value changes have no effect

stellanera98 opened this issue ยท 1 comments

commented

Bloodmagic adds both a way of increasing the xp you pick up and a way of storing the xp directly to an item instead of the player.
Both of these things use the PickupXp event to accomplish that and without clumps that generally works.
With clumps installed picking up an xp orb the event fires and first the increasing happens and the modified value is seen and used by the listener for storing which sets the value to 0 but the original xp is given to the player as well

To get the increasing you have to wear a full set of living armour and applying the "Experienced" upgrade to it (right clicking a upgrade tome with it while wearing the full armour) +15% per level.
To get the storing to work you just have to have a "Tome of Peritia" in your inventory.

From looking at the mixin class it seems like the actual xp count of the orb is stored using the ClumpedMap which isnt updated after the vanilla PickupXp event. Using the custom ValueEvent would probably solve the issue on bloodmagics side but fixing the forge event to behave normally seems like the "correct" thing to do

versions of things
minecraft 1.20.1
clumps 12.0.0.4
forge 47.3.0
bloodmagic 3.3.3-45
curios 5.9.4
patchouli 84-forge

commented

Unfortunately, due to maintaining parity with vanilla mending (which is something people care about, a lot), my mod is completely incompatible with any mod that changes the value field from the PickupXP event, there is no good way that I can think of to determine how to use the value after the event is fired.

I am not sure if Blood Magic is using the right event, there is the XpChange which would handle non experience orb, experience gain, such as when you eat Solidified Experience from Actually Additions.

Unfortunately, even that event will have issues with other mods such as Everlasting Abilities, which would let you reliably change your experience at will, which would cause a dupe glitch if Blood Magic is giving you X% more experience eeach event fire...

So the only way to resolve this issue would be for Blood Magic to implement my events, which I am happy to assist them on if they need it.

If you or anyone else has any ideas on how to resolve the issue, I would appreciate the help.