
[1.20.1 Forge] Config crashes game on launch after being parsed by official Json5 Javascript lib
Rimevel opened this issue · 3 comments
So I am now working on making some external parsing tools, using Node.js, to automate many processes in my modpack making. However, when I parse the item-obliterator.json5
file, make changes to the config object, and then write it back again, I get the error below when launching Minecraft.
Failure message: Item Obliterator (item_obliterator) encountered an error during the common_setup event phase
java.lang.RuntimeException: Failed to initialize config field: INSTANCE
This is the resulting config file after parsing using the official JSON5 library (https://github.com/json5/json5)
{
configVersion: 2,
blacklisted_items: [
'farmersdelight:rope',
'quark:rope',
'twigs:oak_table',
'twigs:spruce_table',
'twigs:birch_table',
'twigs:jungle_table',
'twigs:acacia_table',
'twigs:dark_oak_table',
'twigs:mangrove_table',
'twigs:cherry_table',
'twigs:bamboo_table',
'twigs:crimson_table',
'twigs:warped_table',
'everycomp:tw/quark/azalea_table',
'everycomp:tw/quark/ancient_table',
'everycomp:tw/quark/blossom_table',
'moreminecarts:parallel_rail',
'moreminecarts:projector_rail',
'moreminecarts:wooden_rail_turn',
'moreminecarts:wooden_parallel_rail',
'moreminecarts:wooden_projector_rail',
'moreminecarts:maglev_rail',
'moreminecarts:maglev_rail_turn',
'moreminecarts:maglev_parallel_rail',
'moreminecarts:maglev_cross_rail',
'moreminecarts:maglev_projector_rail',
'moreminecarts:maglev_powered_rail',
'moreminecarts:minecart_with_net',
'moreminecarts:pearl_stasis_minecart',
'moreminecarts:flag_cart',
'moreminecarts:campfire_cart',
'moreminecarts:soulfire_cart',
'moreminecarts:wooden_pushcart',
'moreminecarts:iron_pushcart',
'moreminecarts:piston_pushcart',
'moreminecarts:sticky_piston_pushcart',
'moreminecarts:tank_cart',
'moreminecarts:battery_cart',
'moreminecarts:silica_steel_block',
'moreminecarts:chunkrodite_block',
'moreminecarts:corrugated_silica_steel',
'moreminecarts:silica_steel_pillar',
'moreminecarts:organic_glass',
'moreminecarts:organic_glass_pane',
'moreminecarts:chiseled_organic_glass',
'moreminecarts:chiseled_organic_glass_pane',
'moreminecarts:glass_cactus',
'moreminecarts:holo_scaffold_generator',
'moreminecarts:minecart_loader',
'moreminecarts:minecart_unloader',
'moreminecarts:filter_unloader',
'moreminecarts:pearl_stasis_chamber',
'moreminecarts:coupler',
'moreminecarts:high_speed_upgrade',
'moreminecarts:holo_remote',
'moreminecarts:backwards_holo_remote',
'moreminecarts:simple_holo_remote',
'moreminecarts:broken_holo_remote',
'moreminecarts:levitation_powder',
'moreminecarts:silica_steel_mix',
'moreminecarts:silica_steel',
'moreminecarts:chunkrodite',
'moreminecarts:hard_light_lens',
'moreminecarts:glass_spines',
'moreminecarts:transport_tank',
'moreminecarts:transport_battery',
'moreminecarts:lightspeed_rail',
'moreminecarts:lightspeed_cross_rail',
'moreminecarts:bioluminescent_rail',
'moreminecarts:piston_lifter_rail',
'twigs:quartz_column',
'twigs:stone_column',
'twigs:deepslate_column',
'twigs:blackstone_column',
'twigs:cobblestone_bricks',
'twigs:cobblestone_brick_stairs',
'twigs:cobblestone_brick_slab',
'twigs:cobblestone_brick_wall',
'twigs:cracked_cobblestone_bricks',
'twigs:mossy_cobblestone_bricks',
'twigs:mossy_cobblestone_brick_stairs',
'twigs:mossy_cobblestone_brick_slab',
'twigs:mossy_cobblestone_brick_wall',
'twigs:tuff_stairs',
'twigs:tuff_slab',
'twigs:tuff_wall',
'twigs:polished_tuff',
'twigs:polished_tuff_stairs',
'twigs:polished_tuff_slab',
'twigs:polished_tuff_bricks',
'twigs:cracked_polished_tuff_bricks',
'twigs:polished_tuff_brick_stairs',
'twigs:polished_tuff_brick_slab',
'twigs:polished_tuff_brick_wall',
'twigs:calcite_stairs',
'twigs:calcite_slab',
'twigs:calcite_wall',
'twigs:polished_calcite',
'twigs:polished_calcite_stairs',
'twigs:polished_calcite_slab',
'twigs:polished_calcite_bricks',
'twigs:cracked_polished_calcite_bricks',
'twigs:polished_calcite_brick_stairs',
'twigs:polished_calcite_brick_slab',
'twigs:polished_calcite_brick_wall',
'twigs:schist',
'twigs:schist_stairs',
'twigs:schist_slab',
'twigs:schist_wall',
'twigs:polished_schist',
'twigs:polished_schist_stairs',
'twigs:polished_schist_slab',
'twigs:polished_schist_bricks',
'twigs:cracked_polished_schist_bricks',
'twigs:polished_schist_brick_stairs',
'twigs:polished_schist_brick_slab',
'twigs:polished_schist_brick_wall',
'twigs:rhyolite',
'twigs:rhyolite_stairs',
'twigs:rhyolite_slab',
'twigs:rhyolite_wall',
'twigs:polished_rhyolite',
'twigs:polished_rhyolite_stairs',
'twigs:polished_rhyolite_slab',
'twigs:polished_rhyolite_bricks',
'twigs:cracked_polished_rhyolite_bricks',
'twigs:polished_rhyolite_brick_stairs',
'twigs:polished_rhyolite_brick_slab',
'twigs:polished_rhyolite_brick_wall',
'twigs:silt',
'twigs:silt_ball',
'twigs:silt_brick',
'twigs:silt_bricks',
'twigs:cracked_silt_bricks',
'twigs:silt_brick_stairs',
'twigs:silt_brick_slab',
'twigs:silt_brick_wall',
'twigs:chiseled_silt_bricks',
'twigs:mixed_silt_bricks',
'twigs:packed_silt',
'twigs:silt_pot',
'twigs:silt_shingles',
'twigs:silt_shingle_stairs',
'twigs:silt_shingle_slab',
'twigs:silt_shingle_wall',
'twigs:white_packed_silt',
'twigs:white_silt_pot',
'twigs:white_silt_shingles',
'twigs:white_silt_shingle_stairs',
'twigs:white_silt_shingle_slab',
'twigs:white_silt_shingle_wall',
'twigs:light_gray_packed_silt',
'twigs:light_gray_silt_pot',
'twigs:light_gray_silt_shingles',
'twigs:light_gray_silt_shingle_stairs',
'twigs:light_gray_silt_shingle_slab',
'twigs:light_gray_silt_shingle_wall',
'twigs:gray_packed_silt',
'twigs:gray_silt_pot',
'twigs:gray_silt_shingles',
'twigs:gray_silt_shingle_stairs',
'twigs:gray_silt_shingle_slab',
'twigs:gray_silt_shingle_wall',
'twigs:black_packed_silt',
'twigs:black_silt_pot',
'twigs:black_silt_shingles',
'twigs:black_silt_shingle_stairs',
'twigs:black_silt_shingle_slab',
'twigs:black_silt_shingle_wall',
'twigs:brown_packed_silt',
'twigs:brown_silt_pot',
'twigs:brown_silt_shingles',
'twigs:brown_silt_shingle_stairs',
'twigs:brown_silt_shingle_slab',
'twigs:brown_silt_shingle_wall',
'twigs:red_packed_silt',
'twigs:red_silt_pot',
'twigs:red_silt_shingles',
'twigs:red_silt_shingle_stairs',
'twigs:red_silt_shingle_slab',
'twigs:red_silt_shingle_wall',
'twigs:orange_packed_silt',
'twigs:orange_silt_pot',
'twigs:orange_silt_shingles',
'twigs:orange_silt_shingle_stairs',
'twigs:orange_silt_shingle_slab',
'twigs:orange_silt_shingle_wall',
'twigs:yellow_packed_silt',
'twigs:yellow_silt_pot',
'twigs:yellow_silt_shingles',
'twigs:yellow_silt_shingle_stairs',
'twigs:yellow_silt_shingle_slab',
'twigs:yellow_silt_shingle_wall',
'twigs:lime_packed_silt',
'twigs:lime_silt_pot',
'twigs:lime_silt_shingles',
'twigs:lime_silt_shingle_stairs',
'twigs:lime_silt_shingle_slab',
'twigs:lime_silt_shingle_wall',
'twigs:green_packed_silt',
'twigs:green_silt_pot',
'twigs:green_silt_shingles',
'twigs:green_silt_shingle_stairs',
'twigs:green_silt_shingle_slab',
'twigs:green_silt_shingle_wall',
'twigs:cyan_packed_silt',
'twigs:cyan_silt_pot',
'twigs:cyan_silt_shingles',
'twigs:cyan_silt_shingle_stairs',
'twigs:cyan_silt_shingle_slab',
'twigs:cyan_silt_shingle_wall',
'twigs:light_blue_packed_silt',
'twigs:light_blue_silt_pot',
'twigs:light_blue_silt_shingles',
'twigs:light_blue_silt_shingle_stairs',
'twigs:light_blue_silt_shingle_slab',
'twigs:light_blue_silt_shingle_wall',
'twigs:blue_packed_silt',
'twigs:blue_silt_pot',
'twigs:blue_silt_shingles',
'twigs:blue_silt_shingle_stairs',
'twigs:blue_silt_shingle_slab',
'twigs:blue_silt_shingle_wall',
'twigs:purple_packed_silt',
'twigs:purple_silt_pot',
'twigs:purple_silt_shingles',
'twigs:purple_silt_shingle_stairs',
'twigs:purple_silt_shingle_slab',
'twigs:purple_silt_shingle_wall',
'twigs:magenta_packed_silt',
'twigs:magenta_silt_pot',
'twigs:magenta_silt_shingles',
'twigs:magenta_silt_shingle_stairs',
'twigs:magenta_silt_shingle_slab',
'twigs:magenta_silt_shingle_wall',
'twigs:pink_packed_silt',
'twigs:pink_silt_pot',
'twigs:pink_silt_shingles',
'twigs:pink_silt_shingle_stairs',
'twigs:pink_silt_shingle_slab',
'twigs:pink_silt_shingle_wall',
'twigs:lamp',
'twigs:soul_lamp',
'twigs:crimson_shroomlamp',
'twigs:warped_shroomlamp',
'twigs:bamboo_mat',
'quark:paper_lantern',
'quark:paper_lantern_sakura',
'sullysmod:item_stand',
'functionalstorage:framed_1',
'functionalstorage:framed_2',
'functionalstorage:framed_4',
'functionalstorage:fluid_1',
'functionalstorage:fluid_2',
'functionalstorage:fluid_4',
'functionalstorage:compacting_drawer',
'functionalstorage:compacting_framed_drawer',
'functionalstorage:storage_controller',
'functionalstorage:framed_storage_controller',
'functionalstorage:controller_extension',
'functionalstorage:framed_controller_extension',
'functionalstorage:linking_tool',
'functionalstorage:configuration_tool',
'functionalstorage:copper_upgrade',
'functionalstorage:gold_upgrade',
'functionalstorage:diamond_upgrade',
'functionalstorage:netherite_upgrade',
'functionalstorage:iron_downgrade',
'functionalstorage:max_storage_upgrade',
'functionalstorage:simple_compacting_drawer',
'functionalstorage:framed_simple_compacting_drawer',
'functionalstorage:collector_upgrade',
'functionalstorage:puller_upgrade',
'functionalstorage:pusher_upgrade',
'functionalstorage:void_upgrade',
'functionalstorage:armory_cabinet',
'functionalstorage:ender_drawer',
'functionalstorage:redstone_upgrade',
'functionalstorage:creative_vending_upgrade',
'functionalstorage:linking_tool',
'functionalstorage:redstone_upgrade',
],
blacklisted_nbt: [],
only_disable_interactions: [
'examplemod:example_item',
],
only_disable_attacks: [
'examplemod:example_item',
],
only_disable_recipes: [
'examplemod:example_item',
],
use_hashmap_optimizations: false,
}
Is it the lack of comments after parsing? The official lib do not allow me to preserve comments, but comments are just comments so the config should still work right? 🤔
Here is the stack trace from the crash log:
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Render thread
Suspected Mods: NONE
Stacktrace:
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1657) ~[gson-2.10.jar%23100!/:?] {}
-- MOD item_obliterator --
Details:
Caused by 0: java.lang.RuntimeException: Failed to initialize config field: INSTANCE
at elocindev.necronomicon.config.ConfigBuilder.initializeConfigs(ConfigBuilder.java:88) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.necronomicon.api.config.v1.NecConfigAPI.registerConfig(NecConfigAPI.java:40) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.item_obliterator.forge.ItemObliterator.commonSetup(ItemObliterator.java:46) ~[Item-Obliterator-NeoForge-MC1.20.1-2.3.1.jar%23318!/:2.3.0] {re:classloading,re:mixin}
at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:114) ~[javafmllanguage-1.20.1-47.3.0.jar%23376!/:?] {}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:125) ~[fmlcore-1.20.1-47.3.0.jar%23375!/:?] {re:mixin}
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {re:mixin,re:computing_frames}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {re:mixin,re:computing_frames}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {re:mixin}
Caused by 1: java.lang.RuntimeException: item_obliterator.json5 - Failed to register config, it is likely that you added invalid entries in your config, or that the formatting isn't valid.
at elocindev.necronomicon.config.ConfigBuilder.registerConfig(ConfigBuilder.java:68) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.necronomicon.config.ConfigBuilder.initializeConfigs(ConfigBuilder.java:83) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.necronomicon.api.config.v1.NecConfigAPI.registerConfig(NecConfigAPI.java:40) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.item_obliterator.forge.ItemObliterator.commonSetup(ItemObliterator.java:46) ~[Item-Obliterator-NeoForge-MC1.20.1-2.3.1.jar%23318!/:2.3.0] {re:classloading,re:mixin}
at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:114) ~[javafmllanguage-1.20.1-47.3.0.jar%23376!/:?] {}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:125) ~[fmlcore-1.20.1-47.3.0.jar%23375!/:?] {re:mixin}
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {re:mixin,re:computing_frames}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {re:mixin,re:computing_frames}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {re:mixin}
Caused by 2: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected name at line 297 column 2 path $.use_hashmap_optimizations
at com.google.gson.Gson.fromJson(Gson.java:1229) ~[gson-2.10.jar%23100!/:?] {re:mixin}
at com.google.gson.Gson.fromJson(Gson.java:1124) ~[gson-2.10.jar%23100!/:?] {re:mixin}
at com.google.gson.Gson.fromJson(Gson.java:1034) ~[gson-2.10.jar%23100!/:?] {re:mixin}
at com.google.gson.Gson.fromJson(Gson.java:969) ~[gson-2.10.jar%23100!/:?] {re:mixin}
at elocindev.necronomicon.config.ConfigBuilder.registerConfig(ConfigBuilder.java:62) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.necronomicon.config.ConfigBuilder.initializeConfigs(ConfigBuilder.java:83) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.necronomicon.api.config.v1.NecConfigAPI.registerConfig(NecConfigAPI.java:40) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.item_obliterator.forge.ItemObliterator.commonSetup(ItemObliterator.java:46) ~[Item-Obliterator-NeoForge-MC1.20.1-2.3.1.jar%23318!/:2.3.0] {re:classloading,re:mixin}
at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:114) ~[javafmllanguage-1.20.1-47.3.0.jar%23376!/:?] {}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:125) ~[fmlcore-1.20.1-47.3.0.jar%23375!/:?] {re:mixin}
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {re:mixin,re:computing_frames}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {re:mixin,re:computing_frames}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {re:mixin}
Mod File: /D:/PrismLauncher/instances/CozyCraft/.minecraft/mods/Item-Obliterator-NeoForge-MC1.20.1-2.3.1.jar
Failure message: Item Obliterator (item_obliterator) encountered an error during the common_setup event phase
java.lang.RuntimeException: Failed to initialize config field: INSTANCE
Mod Version: 2.3.0
Mod Issue URL: NOT PROVIDED
Exception message: com.google.gson.stream.MalformedJsonException: Expected name at line 297 column 2 path $.use_hashmap_optimizations
Stacktrace:
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1657) ~[gson-2.10.jar%23100!/:?] {}
at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:514) ~[gson-2.10.jar%23100!/:?] {}
at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:422) ~[gson-2.10.jar%23100!/:?] {}
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:385) ~[gson-2.10.jar%23100!/:?] {}
at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar%23100!/:?] {re:mixin}
at com.google.gson.Gson.fromJson(Gson.java:1124) ~[gson-2.10.jar%23100!/:?] {re:mixin}
at com.google.gson.Gson.fromJson(Gson.java:1034) ~[gson-2.10.jar%23100!/:?] {re:mixin}
at com.google.gson.Gson.fromJson(Gson.java:969) ~[gson-2.10.jar%23100!/:?] {re:mixin}
at elocindev.necronomicon.config.ConfigBuilder.registerConfig(ConfigBuilder.java:62) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.necronomicon.config.ConfigBuilder.initializeConfigs(ConfigBuilder.java:83) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.necronomicon.api.config.v1.NecConfigAPI.registerConfig(NecConfigAPI.java:40) ~[Necronomicon-Forge-1.6.0+1.20.1.jar%23335!/:?] {re:classloading}
at elocindev.item_obliterator.forge.ItemObliterator.commonSetup(ItemObliterator.java:46) ~[Item-Obliterator-NeoForge-MC1.20.1-2.3.1.jar%23318!/:2.3.0] {re:classloading,re:mixin}
at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:260) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:252) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%23137!/:?] {}
at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:114) ~[javafmllanguage-1.20.1-47.3.0.jar%23376!/:?] {}
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:125) ~[fmlcore-1.20.1-47.3.0.jar%23375!/:?] {re:mixin}
at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {re:mixin,re:computing_frames}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {re:mixin,re:computing_frames}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {re:mixin}
I just realized that the config parsing done in obliterator do not seem to like the JS Object-like formatting that is in the Json5 spec.
So I changed to using the standard JSON parser when writing the config file, and now it works!
I just realized that the config parsing done in obliterator do not seem to like the JS Object-like formatting that is in the Json5 spec. So I changed to using the standard JSON parser when writing the config file, and now it works!
Wait you're not the dev are you, how did you fix this? Do I just rename the file .json instead of .json5?