TelepathicGrunt / Blame

make crashlogs more detailed for certain crashes
GNU Lesser General Public License v3.0
11 stars 1 forks source link

Crashes unable to explain certain areas, not useful on others - Fabric #32

Closed amusingimpala75 closed 3 years ago

amusingimpala75 commented 3 years ago

When registering json, I came across and issue, there was much useless logspam about features in biomes "not being a json object", so I was recommended to try this. When installed, some of the new crash info was helpful, but a lot of it was not. When the feature was flagged, it would also decide it needed to list out all of the other issues, even when going on later to explain them. Here's part of the crash log (which was originally 14000 lines long), and Here's the code repo for it

TelepathicGrunt commented 3 years ago

when the codec explodes, it propagates the error through all the other codecs while still trying to parse the biome which leads to this.

however, you said "When registering json" and my first question is, "why?" lol. The json configuredfeatures will automatically register themselves so you shouldn't be doing any manual registering.

Edit: it would also be more helpful to have the entire log instead of a snippet too lol.

amusingimpala75 commented 3 years ago

Registering json was probably the wrong way to put it, I meant having the jsons in the data/ dir. If you want the entire log, I will try to get it up, just that it is large latest.log

TelepathicGrunt commented 3 years ago

Looking at the very first error in the log, it seems the issue stems mostly from this https://github.com/amusingimpala75/TerraFirmaCraft/blob/1.16.x-fabric/src/main/resources/data/tfc/worldgen/configured_surface_builder/volcanic_canyons.json#L4-L6

The custom codec for this may be incorrect or that this is being registered before the canyon is being made. tbh, i would not do reference like this and would opt for duplicating the surfacebuilder itself and give it different blockstates

amusingimpala75 commented 3 years ago

Yup, lazy loading and caching the idea for registry lookup later fixed the issue