mojira.dev

i509VCB

Assigned

No issues.

Reported

No issues.

Comments

Given 21w19a now has a dependency on Java 16, I'd recommend a fix for this issue before release.

I've checked with someone who has such a case in a modded environment. Simply we loaded the world, then put a breakpoint on the Biome class' constructor and replicated it like telepathic grunt did above.

 

What I noticed looking through the debugger is that when structures are loaded, what yarn calls `RegistryOps` will attempt to load the biome from json and decode the biome. This occurs somewhere in the call site of `RegistryOps.of(...)`. This occurs in the constructor of `PoolStructurePiece` which occurs as a result of loading structure starts.

 

Yarn names of course, cannot recall what mojang's official names call these.

This isn't a great fix, but the solution I have made for now is to remove any structure references keyed by "null" in the returned of structure reference map. After that, what I do is then force the chunk to save as soon if a null key was present in order to prevent as much future log spam. I have included this fix into Fabric API. This is in yarn mappings but the general description should apply no matter what flavor you use to understand the Minecraft codebase.

 

The link:

https://github.com/FabricMC/fabric/blob/ca1847586890987adb16658e1f14f5661909a39e/fabric-structure-api-v1/src/main/java/net/fabricmc/fabric/mixin/structure/ChunkSerializerMixin.java

Discovered this issue when using the debug world generator. If you get within I think about block entity rendering distance it will crash

Can confirm issue in 19w44a. Easier to reproduce issue by using this command:

/summon minecraft:pillager ~ ~ ~ {}