PersonTheCat / OreStoneVariants

A powerful utility for generating new blocks when given a foreground and background.
GNU General Public License v3.0
7 stars 8 forks source link

Crash on world gen #169

Closed Artembelov closed 1 year ago

Artembelov commented 1 year ago

---- Minecraft Crash Report ---- // There are four lights!

Time: 11/26/22, 3:42 PM Description: Exception in server tick loop

personthecat.catlib.exception.JsonFormatException: Writing object: OreSettings(variant=VariantSettings(original=minecraft:iron_ore, xp=null, translationKey=null, copyTags=true, canBeDense=true, bgImitation=true, bgDuplication=true), block=BlockSettings(material=null, hasCollision=null, soundType=null, explosionResistance=null, destroyTime=null, requiresCorrectToolForDrops=null, isRandomlyTicking=null, friction=null, speedFactor=null, jumpFactor=null, canOcclude=null, isAir=null, dynamicShape=null), state=StateSettings(materialColor=null, lightEmission=null, isValidSpawn=null, isRedstoneConductor=null, isSuffocating=null, isViewBlocking=null, hasPostProcess=null, emissiveRendering=null), item=ItemSettings(isFireResistant=false, maxStackSize=null, rarity=null, craftRemainingItem=null, eatingSound=null, foodProperties=null, variants=null, formatters=null), loot=DropSettings(value=null), gen=GenerationSettings(features=[PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=9), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@16c6b350, height=personthecat.osv.world.providers.SimpleHeightProvider@3937e69c, modifiers=[]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@9455f1f, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=9), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@5f9d6b69, height=personthecat.osv.world.providers.SimpleHeightProvider@59186500, modifiers=[]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@7a86649b, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=4), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@16d4ee66, height=OffsetHeight[0,136], modifiers=[]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@22a609f6, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=10), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@388c48c7, height=OffsetHeight[0,128], modifiers=[net.minecraft.world.level.levelgen.placement.HeightmapPlacement@5c4cbbf4]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@499cb659, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=8), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@71e741f1, height=62 absolute, modifiers=[net.minecraft.world.level.levelgen.placement.EnvironmentScanPlacement@6233639c]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@af7479c0, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=10), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@40f13675, height=58 absolute, modifiers=[net.minecraft.world.level.levelgen.placement.EnvironmentScanPlacement@1f51ece4]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@5c0c1c66, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=8), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@528a7e24, height=OffsetHeight[0,128], modifiers=[net.minecraft.world.level.levelgen.placement.HeightmapPlacement@3ac77d51, net.minecraft.world.level.levelgen.placement.BlockPredicateFilter@69b85748]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@78225ddd, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=8), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@89acec2, height=62 absolute, modifiers=[net.minecraft.world.level.levelgen.placement.EnvironmentScanPlacement@eff786b]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@c0b4cb49, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=9), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@4339fee9, height=OffsetHeight[0,127], modifiers=[]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@782b0713, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null)]), recipe=RecipeSettings(result=minecraft:iron_ingot, group=iron_ingot, time=200, xp=0.7, count=1), texture=TextureSettings(shade=true, threshold=null, background=minecraft:block/stone, original==[minecraft:block/iron_ore], overlay==[osv:block/minecraft/iron_ore], modifiers=null), model=ModelSettings(type=SINGLE, shade=true), nested=[]) at personthecat.catlib.serialization.json.XjsUtils.lambda$writeThrowing$11(XjsUtils.java:186) ~[CatLib-Forge-2.5.jar%2398!/:2.5] {re:classloading} at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?] {re:mixin} at personthecat.catlib.serialization.json.XjsUtils.writeThrowing(XjsUtils.java:186) ~[CatLib-Forge-2.5.jar%2398!/:2.5] {re:classloading} at personthecat.osv.preset.writer.PresetWriter.updateContents(PresetWriter.java:71) ~[OSV-Forge-7.8-BETA+1.18.2.jar%23245!/:7.8-BETA] {re:classloading} at personthecat.osv.preset.writer.PresetWriter.savePresets(PresetWriter.java:54) ~[OSV-Forge-7.8-BETA+1.18.2.jar%23245!/:7.8-BETA] {re:classloading} at personthecat.osv.forge.OSV.serverStarting(OSV.java:119) ~[OSV-Forge-7.8-BETA+1.18.2.jar%23245!/:7.8-BETA] {re:classloading} at personthecat.osv.forge.OSV.lambda$new$0(OSV.java:72) ~[OSV-Forge-7.8-BETA+1.18.2.jar%23245!/:7.8-BETA] {re:classloading} at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) ~[eventbus-5.0.3.jar%232!/:?] {} at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) ~[eventbus-5.0.3.jar%232!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-5.0.3.jar%232!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-5.0.3.jar%232!/:?] {} at net.minecraftforge.server.ServerLifecycleHooks.handleServerStarting(ServerLifecycleHooks.java:98) ~[forge-1.18.2-40.1.85-universal.jar%23363!/:?] {re:classloading} at net.minecraft.client.server.IntegratedServer.m7038(IntegratedServer.java:66) ~[client-1.18.2-20220404.173914-srg.jar%23358!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.m130011(MinecraftServer.java:661) ~[client-1.18.2-20220404.173914-srg.jar%23358!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A} at net.minecraft.server.MinecraftServer.m177918(MinecraftServer.java:261) ~[client-1.18.2-20220404.173914-srg.jar%23358!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A} at java.lang.Thread.run(Thread.java:833) [?:?] {re:mixin}

A detailed walkthrough of the error, its code path and all known details is as follows:

Artembelov commented 1 year ago

The game crashed whilst exception in server tick loop Error: personthecat.catlib.exception.JsonFormatException: Writing object: OreSettings(variant=VariantSettings(original=minecraft:iron_ore, xp=null, translationKey=null, copyTags=true, canBeDense=true, bgImitation=true, bgDuplication=true), block=BlockSettings(material=null, hasCollision=null, soundType=null, explosionResistance=null, destroyTime=null, requiresCorrectToolForDrops=null, isRandomlyTicking=null, friction=null, speedFactor=null, jumpFactor=null, canOcclude=null, isAir=null, dynamicShape=null), state=StateSettings(materialColor=null, lightEmission=null, isValidSpawn=null, isRedstoneConductor=null, isSuffocating=null, isViewBlocking=null, hasPostProcess=null, emissiveRendering=null), item=ItemSettings(isFireResistant=false, maxStackSize=null, rarity=null, craftRemainingItem=null, eatingSound=null, foodProperties=null, variants=null, formatters=null), loot=DropSettings(value=null), gen=GenerationSettings(features=[PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=9), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@16c6b350, height=personthecat.osv.world.providers.SimpleHeightProvider@3937e69c, modifiers=[]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@9455f1f, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=9), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@5f9d6b69, height=personthecat.osv.world.providers.SimpleHeightProvider@59186500, modifiers=[]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@7a86649b, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=4), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@16d4ee66, height=OffsetHeight[0,136], modifiers=[]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@22a609f6, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=10), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@388c48c7, height=OffsetHeight[0,128], modifiers=[net.minecraft.world.level.levelgen.placement.HeightmapPlacement@5c4cbbf4]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@499cb659, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=8), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@71e741f1, height=62 absolute, modifiers=[net.minecraft.world.level.levelgen.placement.EnvironmentScanPlacement@6233639c]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@af7479c0, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=10), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@40f13675, height=58 absolute, modifiers=[net.minecraft.world.level.levelgen.placement.EnvironmentScanPlacement@1f51ece4]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@5c0c1c66, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=8), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@528a7e24, height=OffsetHeight[0,128], modifiers=[net.minecraft.world.level.levelgen.placement.HeightmapPlacement@3ac77d51, net.minecraft.world.level.levelgen.placement.BlockPredicateFilter@69b85748]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@78225ddd, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=8), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@89acec2, height=62 absolute, modifiers=[net.minecraft.world.level.levelgen.placement.EnvironmentScanPlacement@eff786b]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@c0b4cb49, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null), PlacedFeatureSettings(type=CLUSTER, config=ClusterSettings(size=9), placement=FlexiblePlacementSettings(spread=0, chance=1.0, bias=0, count=personthecat.osv.world.providers.SimpleCountProvider@4339fee9, height=OffsetHeight[0,127], modifiers=[]), denseRatio=0.09, biomes=personthecat.catlib.data.BiomePredicate@782b0713, dimensions=personthecat.catlib.data.DimensionPredicate@5d9bab63, nested=null)]), recipe=RecipeSettings(result=minecraft:iron_ingot, group=iron_ingot, time=200, xp=0.7, count=1), texture=TextureSettings(shade=true, threshold=null, background=minecraft:block/stone, original==[minecraft:block/iron_ore], overlay==[osv:block/minecraft/iron_ore], modifiers=null), model=ModelSettings(type=SINGLE, shade=true), nested=[])

PersonTheCat commented 1 year ago

Hello. This crash should not happen, but does appear to be the result of user error. Give me a few hours to take a look and I'll update here. In the meantime (and in the future) please paste crash reports and look technical debug output in code blocks, e.g. ``` paste your text here so it's easier to read ```

PersonTheCat commented 1 year ago

@Artembelov if you're still around, please share any updated configs you used to produce this error. I was not able to reproduce it

lcurse commented 1 year ago

From what i could test, this appears to be a compability issue with Tectonic, it happens even on default configs and disappeared upon removing Tectonic

PersonTheCat commented 1 year ago

@lcurse thanks! That helps. I'm still recovering from surgery, but I should be able to look at this pretty soon. Will update here when i get that running

PersonTheCat commented 1 year ago

This was caused by PresetWriter not supporting registry data from datapacks. I fixed this and also removed the crash (previously intentional because I didn't expect it) if it still happens anyway for some other reason. Will release that in a few hours.