mojira.dev
MC-311222

NBT to SNBT data generators crash when attempting to convert old NBT files

Steps to reproduce:

  1. Download the below nbt file. (A simple iron door)

  2. Download the 26.3-snapshot-9 server jar.

  3. Put both of them in the same folder.

  4. Run the data generator using the below command:

java -DbundlerMainClass="net.minecraft.data.Main" -jar server.jar --dev --input <path>

...where <path> is the folder in which you placed the nbt file.

You should see the following crash in the log:


[15:23:22] [ServerMain/INFO]: Starting provider: vanilla/NBT -> SNBT
Exception in thread "ServerMain" [15:23:22] [ServerMain/INFO]: [STDERR]: java.util.concurrent.CompletionException: java.util.NoSuchElementException: No value present
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.concurrent.CompletableFuture.wrapInCompletionException(CompletableFuture.java:323)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:359)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:364)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1828)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.lang.Thread.run(Thread.java:1474)
[15:23:22] [ServerMain/INFO]: [STDERR]: Caused by: java.util.NoSuchElementException: No value present
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.Optional.orElseThrow(Optional.java:377)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at net.minecraft.nbt.NbtUtils.packBlockState(NbtUtils.java:472)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at net.minecraft.nbt.ListTag.lambda$compoundStream$0(ListTag.java:431)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:489)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:723)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at net.minecraft.nbt.NbtUtils.packStructureTemplate(NbtUtils.java:380)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at net.minecraft.nbt.NbtUtils.structureToSnbt(NbtUtils.java:360)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at net.minecraft.data.structures.NbtToSnbt.convertStructure(NbtToSnbt.java:81)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at net.minecraft.data.structures.NbtToSnbt.lambda$run$3(NbtToSnbt.java:51)
[15:23:22] [ServerMain/INFO]: [STDERR]:         at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1825)
[15:23:22] [ServerMain/INFO]: [STDERR]:         ... 3 more

This behavior originated in 26.3-snapshot-7, and I suspect it is due to the block state changes made in that snapshot.

Attachments

Comments 1

Thank you for helping us improve Minecraft! We saved your files:

[media]

CreeperMagnet_

b

Confirmed

Platform EC

Important

Crash

26.3 Snapshot 9

26.3 Pre-Release 1

Retrieved