asiekierka / FoamFix

Minecraft memory usage optimization mod. Please note that code contained herein is not a suggestion for Minecraft unless explicitly declared elsewhere, in writing, by the rightsholder(s).
http://asie.pl/foamfix
148 stars 23 forks source link

-> SPONGEFORGE USERS GO HERE <- Server crash when startup #166

Open avescarelo opened 6 years ago

avescarelo commented 6 years ago

Mod version: 0.10.1-1.12.2 Minecraft version: 1.12.2

The server has crashing, after installing FoamFix

Error: Exception generating new chunk

Crash log: https://gist.github.com/pingvikin/0fc777a9448202a16ceb3431aa32602f

AsuraTakun commented 6 years ago

Yeah, this is totally a foamfix bug. I just had this issue too. Took me like an hour to realize it is the latest curse release of Foamfix, if you go back to the one released earlier this month it will work fine. So go back to 0.10.0 and it will be fine.

asiekierka commented 6 years ago

Sponge compatibility is not promised. Disable general.patchChunkContainer, as it conflicts with a FoamFix fix.

@Aaron1011, how do I best detect Sponge in this situation?

ghost commented 6 years ago

@asiekierka I can't find where you mean Disable general.patchChunkContainer as I look both in sponge cfg and Foamfixs config and did not see anything called that

gabizou commented 6 years ago

@asiekierka I don't know of a way without potentially causing a class load on a sponge core class (like SpongeCoreMod you could query for, but it might be a little expensive at coremod build time since there's no guarantee about coremod initialization. Perhaps @Mumfrey could provide an idea? In short, sponge applies a redirect on BlockStateContainer and because asie already modifies the target of the redirect, the mixin fails. I'd doubt it would be possible for you to make that path use Mixins, right?

asiekierka commented 6 years ago

@gabizou I am most likely going to be moving to MIxins in 1.13; however, at this time, adding in the Mixin library would inflate FoamFix's size about five to six times, which is not desirable.

notfood commented 6 years ago

There is no general.patchChunkContainer option, right now the only way to avoid the crash is to revert to 0.10.0.

asiekierka commented 6 years ago

general.patchChunkSerialization. Remembered the name wrong.

Aaron1011 commented 5 years ago

@asiekierka: You should be able to detect if Sponge is installed by using LaunchClassloader.getClassBytes - https://github.com/DimensionalDevelopment/VanillaFix/blob/b6992dc220c65b92f0ad2313ea776271a0b04d45/src/main/java/org/dimdev/vanillafix/ModCompatibilityMixinPlugin.java#L18

asiekierka commented 5 years ago

Oke. Good to know!