Ender IO Forestry

Ender IO Forestry

951k Downloads

Crash with experience obelisk

KusozakoAtama10k opened this issue · 12 comments

commented

Issue Description:

Using the experience obelisk when you have experience, minecraft will be crash.

What happens:

The experience obelisk is unusable because it crashes when used it.

What you expected to happen:

Steps to reproduce:

1.Gain any experience
2.Use the experience obelisk
3.Crash


Affected Versions (Do not use "latest"):

  • EnderIO: 5.2.64
  • EnderCore: 0.5.76
  • Minecraft: 1.12.2
  • Forge: 14.23.5.2854
  • SpongeForge no
  • Optifine no
  • Single Player

Your most recent log file where the issue was present:

Crash report https://pastebin.pl/view/07e11a22
Log https://pastebin.pl/view/5ad8ff4d

commented

Do you have more than 21862 XP levels?

commented

Yes. Sorry, I overlooked that a new version had been released.

commented

I had found this in 5.2.63, At that time it was crashing at about 500 levels.

commented

500? ok, I'll run a check with that. And add something to stop processing without stopping the whole game. With more than 21862 levels the amount of xp points becomes to big to be processed.

commented

release 5.2.65 should be able to handle everything without crashing. it is possible that a machine will deny the user service if they have to many levels. I was in the process to enable higher numbers (that's what caused the whole mess), but that'll take at least until the next release.

commented

Related: the store levels buttons do not work if I have over 500ish levels.

commented

That won't be an issue in the next version:

image

commented

Uuh nice, might try to put that nightly builds into my modpack. because It does not feel that great to run around with 500 levels you cannot store and would lose when dying (and its about 80% of all our (liquid) XP atm)

Did you switch from Integer to LongInt for the storage of the mB of XP?

commented

not quite. we don't actually store mB we store xp points. those are now long. (oops, we still limit the amount so the mB fit into a long, which probably is not needed as we have to produce a int value for those anyway when interacting with fluids. so the obelisk only stores 1/20 of what it in theory could. not that it matters at this point, I guess...)

And it would be really nice if you could test it (it's still only in the dev build, I did not include it in the hotfix release I made 10 minutes after what I wrote you yesterday), I could not reproduce any issue above 500 levels before I did the conversion. I think the conversion should have wiped out any potential issues as a side effect, but thinking and having confirmation are two things...

commented

And it would be really nice if you could test it (it's still only in the dev build, I did not include it in the hotfix release I made 10 minutes after what I wrote you yesterday), I could not reproduce any issue above 500 levels before I did the conversion. I think the conversion should have wiped out any potential issues as a side effect, but thinking and having confirmation are two things...

Can confirm that with this build (https://ci.tterrag.com/job/EnderIO-Modules/job/EnderIO-Hourly/1283/) the XP Obelisk works as intended (tested with 1508ish levels) All the buttons do what they are supposed to do.

commented

Thanks for testing. This one really puzzled me, there's nothing special about 500 levels...

One more thing (FYI): There is a config setting that can limit how any levels can be stored in the obelisk. It defaulted to a number that's much higher than what was technically possible, but that old value now is limiting. So to store more than about 21 thousand levels you need to reset that config value.

commented

Thanks for testing. This one really puzzled me, there's nothing special about 500 levels...

No Problem, it was not really related to 500 levels. It worked fine on version 5.*.62 (cant remember the middle version) and started acting up after that. The 500 level thing I possibly picked up from somebody else.

One more thing (FYI): There is a config setting that can limit how any levels can be stored in the obelisk. It defaulted to a number that's much higher than what was technically possible, but that old value now is limiting. So to store more than about 21 thousand levels you need to reset that config value.

Thanks for the info, will do that. Currently we are only at a bit over 500 levels, but I am certain we'll get up into the 5 digit numbers sometime in the future.