Open TheLoneWolfling opened 9 years ago
Interesting -- I think I know how to fix this -- will take a look soon.
Was this ever resolved? I am get the same error, forge 10.13.4.1448, it works fine as single player in the client but the server throws this exact error. I am using V0.85 Thanks!
I think I "somewhat" found the reason why this is happening, while tinkering around with the code. In 0.83 (or a bit before) the BlockDome was introduced, which copies each and every block in Minecraft to make it useable as Dome Block. To archive this, there are a lot of getters, that are called on the respective base block, to copy as many properties as possible. A few of them are actually annotated @SideOnly(Client) which is fine on Singleplayer with it's integrated Server, but (seems) to lead to a crash on a dedicated server, because, due to the annotation, said methods are just missing there. This issue is actually "somewhat" resolvable, when just commenting out all client-sided Methods and their calls. Now at least the startup of a Server with DEFAULT generator worked.
But than there was a new, (I think) independent problem, which occurred first in the commit merging the branch "BetterTerrainPopulation" by you, TheLoneWolfing (no accusations, I just want to name a rough point of time when the problem first occurred): While the internal Server works fine, the dedicated one crashes: On the Method call "populate"(BiosphereChunkProvider, line 475), the Method GetPhaseRandom (line 479) throws a NullPointerException, because seemingly one or more SphereChunks lost their masterSphere, which is required for this method. Out of curiosity I tried to catch the Exception (I just called return when the materSphere was null), and it stopped crashing. While still fine on Singleplayer, now a dedicated Server fed with the Biosphere World Generator just generates a completely void world... (I think it ironically voice COULD be that thats the reason why there are no mastherSpheres... )
Why this is happening, I've got no clue. Especially because integrated Server and dedicated Server should theoretically behave the same... BTW: Commenting out the in the first paragraph stated methods works fine in commits "Metadata fix" and below...
Phew, I think this is one of the most detailed bug reports I ever made :)
world.biome.getFloatRainfall() is also Client-Only, just been found out after around about 5 hours of bug fixing... dedicated to this...
Version 0.85 doesn't seem to work on a standalone server:
This is with just this mod and Minecraft Forge 10.13.2.1352. See here