BlueDuckYT / The-Outer-End

Other
14 stars 7 forks source link

Jigsaw and structure blocks placed by the player aren't able to generate structures on Superflat worlds when Outer End is installed #41

Open NJL5390 opened 3 years ago

NJL5390 commented 3 years ago

Outer End version: 0.2.11 Forge Version: 36.1.24 Minecraft Version: 1.16.5 Abnormals Core Version: 3.1.1

Hi,

I've been learning how to use Jigsaw blocks recently in order to make a custom structures pack for use in my modpack. However, I've noticed that when I attempt to generate a structure piece to test it it doesn't work and nothing happens in game.

After looking through my latest log it seemed to be caused by a null pointer exception which pointed to something in Outer End. Sure enough when I removed Outer End the Jigsaws generated structures correctly and everything worked.

This is the part of the log that I am on about:

[23:05:29] [Server thread/FATAL]: Error executing task on Server java.lang.NullPointerException: null at net.minecraft.world.gen.feature.template.TemplateManager.handler$zkl000$OUTER_END_loadTemplate(SourceFile:1021) ~[?:?] at net.minecraft.world.gen.feature.template.TemplateManager.func_227458a(SourceFile) ~[?:?] at net.minecraft.world.gen.feature.template.TemplateManager.func_209205_a(SourceFile:108) ~[?:?] at net.minecraft.world.gen.feature.template.TemplateManager.func_195428_d(SourceFile:97) ~[?:?] at net.minecraft.world.gen.feature.template.TemplateManager.func_209204_g(SourceFile:65) ~[?:?] at net.minecraft.world.gen.feature.template.TemplateManager$$Lambda$16618/0x0000000000000000.apply(Unknown Source) ~[?:?] at java.util.HashMap.computeIfAbsent(HashMap.java:1127) ~[?:1.8.0_292] at java.util.Collections$SynchronizedMap.computeIfAbsent(Collections.java:2674) ~[?:1.8.0_292] at net.minecraft.world.gen.feature.template.TemplateManager.func_200219_b(SourceFile:64) ~[?:?] at net.minecraft.world.gen.feature.template.TemplateManager.func_200220_a(SourceFile:54) ~[?:?] at net.minecraft.world.gen.feature.jigsaw.SingleJigsawPiece$$Lambda$16617/0x0000000000000000.apply(Unknown Source) ~[?:?] at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?] at net.minecraft.world.gen.feature.jigsaw.SingleJigsawPiece.func_236843a(SingleJigsawPiece.java:71) ~[?:?] at net.minecraft.world.gen.feature.jigsaw.SingleJigsawPiece.func_214849_a(SingleJigsawPiece.java:92) ~[?:?] at net.minecraft.world.gen.feature.jigsaw.JigsawManager$Assembler.func_236831a(SourceFile:141) ~[?:?] at net.minecraft.world.gen.feature.jigsaw.JigsawManager$Assembler.func_236830a(SourceFile:54) ~[?:?] at net.minecraft.world.gen.feature.jigsaw.JigsawManager.func_242838_a(SourceFile:317) ~[?:?] at net.minecraft.tileentity.JigsawTileEntity.func_235665a(SourceFile:165) ~[?:?] at net.minecraft.network.play.ServerPlayNetHandler.func_230549a(ServerPlayNetHandler.java:658) ~[?:?] at net.minecraft.network.play.client.CJigsawBlockGeneratePacket.func_148833_a(SourceFile:39) ~[?:?] at net.minecraft.network.play.client.CJigsawBlockGeneratePacket.func_148833_a(SourceFile:9) ~[?:?] at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?] at net.minecraft.network.PacketThreadUtil$$Lambda$17539/0x0000000000000000.run(Unknown Source) ~[?:?] at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) [?:?] at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) [?:?] at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:734) [?:?] at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:159) [?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) [?:?] at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:717) [?:?] at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:711) [?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(SourceFile:127) [?:?] at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:697) [?:?] at net.minecraft.server.MinecraftServer.func_240802v(MinecraftServer.java:646) [?:?] at net.minecraft.server.MinecraftServer.func_240783a(MinecraftServer.java:232) [?:?] at net.minecraft.server.MinecraftServer$$Lambda$16396/0x0000000000000000.run(Unknown Source) [?:?] at java.lang.Thread.run(Thread.java:823) [?:1.8.0_292]

The full latest log can be found here: https://gist.github.com/NJL5390/7646fec34451066d7c1155fecb331bad

Modded structures that use Jigsaw blocks such as Quark's big dungeons don't seem to be affected by this error, it only seems to be those that the player has placed and tried to manually activate for testing purposes. Although I have no idea if there are any other adverse effects that this error may be having.

NJL5390 commented 3 years ago

So, After looking into the issue again, I found that this issue only seems to occur on Superflat world types (which is what I was testing structure generation in). If I use a default world type the jigsaw blocks works just fine.

Also in a recent update this issue seems to have expanded to structure blocks as well, which is annoying, but at least this issue seems to be restricted to a certain world type, so I can get around it for now. Although it is much more convenient to build custom structures and save them using superflat worlds, so it would be nice if this could get addressed but it's not essential.