The Bumblezone (Quilt/Fabric)

The Bumblezone (Quilt/Fabric)

12M Downloads

Incompatibility with c2me

AntonIXO opened this issue ยท 4 comments

commented

Bumblezone breaks c2me async chunk generation.

Crash log: https://pastebin.com/dckReKzK

commented

I am spawning my dungeon nbt files exactly just like how vanilla spawns their fossils. So if anything, it would be the reverse. Other mods are breaking vanilla behavior and causing spawner blocks spawned from nbt files in a feature to crash. The question I got is who is feeding the read only chunk to the feature instead of a world chunk. If it is C2me, then they are changing vanilla behavior as I have not see this crash at all while generating massive areas of bumblezone myself in many modpack. I will need to look into this more and ask around

java.lang.ClassCastException: class net.minecraft.world.chunk.ReadOnlyChunk cannot be cast to class net.minecraft.world.chunk.WorldChunk (net.minecraft.world.chunk.ReadOnlyChunk and net.minecraft.world.chunk.WorldChunk are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @3c09711b)
	at net.minecraft.world.World.getChunk(World.java:9078)
	at net.minecraft.world.World.getBlockState(World.java:9570)
	at net.minecraft.block.entity.MobSpawnerBlockEntity$1.setSpawnEntry(MobSpawnerBlockEntity.java:27)
	at net.minecraft.world.MobSpawnerLogic.readNbt(MobSpawnerLogic.java:207)
	at net.minecraft.MobSpawnerBlockEntity.readNbt(MobSpawnerBlockEntity.java:40)
	at net.minecraft.structure.StructureTemplate.place(StructureTemplate.java:263)
	at com.telepathicgrunt.the_bumblezone.world.features.NbtFeature.generate(NbtFeature.java:57)
	at com.telepathicgrunt.the_bumblezone.world.features.SpiderInfestedBeeDungeon.generate(SpiderInfestedBeeDungeon.java:28)
	at net.minecraft.world.gen.feature.ConfiguredFeature.generate(ConfiguredFeature.java:537)
	at net.minecraft.world.gen.feature.PlacedFeature.method_39646(PlacedFeature.java:56)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
	at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
	at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
	at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at net.minecraft.world.gen.feature.PlacedFeature.generate(PlacedFeature.java:55)
	at net.minecraft.world.gen.feature.PlacedFeature.generate(PlacedFeature.java:44)
	at net.minecraft.world.gen.chunk.ChunkGenerator.generateFeatures(ChunkGenerator.java:466)
	at net.minecraft.world.chunk.ChunkStatus.method_20613(ChunkStatus.java:145)
	at net.minecraft.world.chunk.ChunkStatus.md8f9000$lambda$runGenerationTask$0$6(ChunkStatus.java:2601)
	at com.ishland.c2me.threading.worldgen.common.ChunkStatusUtils$ChunkStatusThreadingType$2.lambda$runTask$0(ChunkStatusUtils.java:87)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1311)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1840)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1806)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
commented

How to you map my stacktrace?

commented

I used this site to remap it to read it easier https://shartte.github.io/minecraft-mapper/

But anyway, I was talking with C2ME dev and it turns out they did forget to wrap the chunk which caused a read only chunk to be given to my mod and crashed. You can wait till C2ME published an update to fix this or you can try disabling this config Ishland mentions

E7161DAB-BA8D-4EFA-8223-5D93612B0A20

commented

Ishland fixed this issue in the latest commit. Thanks for help!