delvr / Farseek

A Scala API for Minecraft mods.
https://minecraft.curseforge.com/projects/farseek
20 stars 4 forks source link

Crash with latest SpongeForge #49

Closed bluelightning32 closed 4 years ago

bluelightning32 commented 4 years ago

I tried Farseek-1.12-2.3.2.jar against spongeforge-1.12.2-2838-7.1.7-RC3854.jar.

java.lang.RuntimeException: java.lang.NoSuchMethodException: net.minecraft.world.WorldServer.updateWorldGenerator()
    at net.minecraftforge.fml.common.eventhandler.EventBus.forgeBridge$post(EventBus.java:761)
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:702)
    at org.spongepowered.mod.world.gen.SpongeChunkGeneratorForge.replaceBiomeBlocks(SpongeChunkGeneratorForge.java:150)
    at org.spongepowered.common.world.gen.SpongeChunkGenerator.generateChunk(SpongeChunkGenerator.java:253)
    at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:143)
    at net.minecraft.server.management.PlayerChunkMapEntry.redirect$forgeImpl$UpdateLoadedChunk$bal000(PlayerChunkMapEntry.java:1576)
    at net.minecraft.server.management.PlayerChunkMapEntry.providePlayerChunk(PlayerChunkMapEntry.java:126)
    at net.minecraft.server.management.PlayerChunkMap.tick(SourceFile:147)
    at net.minecraft.world.WorldServer.tick(WorldServer.java:227)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:756)
    at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:397)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodException: net.minecraft.world.WorldServer.updateWorldGenerator()
    at java.lang.Class.getMethod(Class.java:1786)
    at farseek.world.gen.structure.StructureGenerationChunkProvider$.createSpongeGenerator$lzycompute(StructureGenerationChunkProvider.scala:81)
    at farseek.world.gen.structure.StructureGenerationChunkProvider$.createSpongeGenerator(StructureGenerationChunkProvider.scala:81)
    at farseek.world.gen.structure.StructureGenerationChunkProvider.createSpongeGenerators(StructureGenerationChunkProvider.scala:43)
    at farseek.world.gen.structure.StructureGenerationChunkProvider.<init>(StructureGenerationChunkProvider.scala:34)
    at farseek.world.gen.structure.StructureGenerationChunkProvider$$anonfun$apply$2.apply(StructureGenerationChunkProvider.scala:85)
    at farseek.world.gen.structure.StructureGenerationChunkProvider$$anonfun$apply$2.apply(StructureGenerationChunkProvider.scala:85)
    at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:188)
    at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:80)
    at farseek.world.gen.structure.StructureGenerationChunkProvider$.apply(StructureGenerationChunkProvider.scala:85)
    at farseek.world.gen.structure.StructureGenerator.onChunkGeneration(StructureGenerator.scala:42)
    at farseek.world.gen.structure.StructureGenerator.onChunkGeneration(StructureGenerator.scala:37)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_1947_StructureGenerator_onChunkGeneration_ReplaceBiomeBlocks.invoke(.dynamic)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
    at net.minecraftforge.fml.common.eventhandler.EventBus.forgeBridge$post(EventBus.java:752)
    ... 13 more
bluelightning32 commented 4 years ago

No crash with spongeforge-1.12.2-2825-7.1.6.jar.

Crashes with spongeforge-1.12.2-2838-7.1.7-RC3835.jar

bluelightning32 commented 4 years ago

Crashes with spongeforge-1.12.2-2838-7.1.7-RC3822.jar.

bluelightning32 commented 4 years ago

Crashes with spongeforge-1.12.2-2838-7.1.7-RC3799.jar.

bluelightning32 commented 4 years ago

No crash with spongeforge-1.12.2-2838-7.1.7-RC3782.jar.

bluelightning32 commented 4 years ago

Crashes with spongeforge-1.12.2-2838-7.1.7-RC3790.jar.

bluelightning32 commented 4 years ago

No crash with spongeforge-1.12.2-2838-7.1.7-RC3785.jar.

pyscho974 commented 4 years ago

this ever get solved ? just checking.

bluelightning32 commented 4 years ago

Nope, it still fails. I've hit it in multiple modpacks that include this mod. In later spongeforge versions, it will start up, then crash with a different exception when it tries to generate a chunk.

I ended up removing this mod and the streams mod (which depends on it). The clients can connect to the server even though the clients have it installed but not the server.

pyscho974 commented 4 years ago

1.12.2-2838-7.1.7-RC3902 with farseek in the new dungeons dragons and space shuttles crashed.. disabled farseek and streams loads alright. https://gist.github.com/pyscho974/476c46c88e98455ac2d9838bd144c043

delvr commented 4 years ago

Sorry for the delay here, I've been away for a bit.

Seems like Sponge changed their internal method for initializing their world chunk generator, which Farseek needs to access to create Stream's copy. If the method was simply renamed it should be an easy fix, otherwise it'll take some more time. I'll take a look this weekend.

bluelightning32 commented 4 years ago

Any update? Is it a simple rename?

delvr commented 4 years ago

I tried using the new name (impl$updateWorldGenerator instead of updateWorldGenerator) but got the same crash, so there seems to be something else changed along with the rename. On some Sponge versions I instead get the crash described by pyscho974 instead, so there's two different problems to tackle here.

I'll work on a fix but I'm not sure how long I'll be able to support Sponge compatibility in 1.12, as their continued development might risk breaking more things where Farseek/Streams has to rely on their internals. The more restrictive coremod system in 1.13+ should make these sorts of incompatibilities a lesser concern (or at least, easier to fix when they happen).

delvr commented 4 years ago

Sorry for the long delay; this should be fixed in the new Farseek 2.4. Please give it a try and let me know.

bluelightning32 commented 4 years ago

Sorry, the modpack already removed the mod.

TimTinkers commented 4 years ago

Using Forge 2487 and the newest (as of January 27th, 2020) SpongeForge-1.12.2-2838-7.19 build, Farseek 2.4 causes a crash on my server. Downgrading Farseek to 2.3 causes things to work correctly.