During the configuring of my next version of the mod, I had added a "test" advancement to see if I could add it during the crafting of certain blocks. I later removed it since I want the base minecraft to control the advancements and it works fine. So I removed the references, but everytime I started the server and then connect to a new world, I'd get the below exceptions.
[09:40:09] [Server thread/ERROR] [FML]: Parsing error loading built-in advancement testenvironmentmod:test
com.google.gson.JsonSyntaxException: Expected item to be an item, was unknown string 'testenvironmentmod:arsenicneurotoxinantidote'
at net.minecraft.util.JsonUtils.getItem(JsonUtils.java:133) ~[JsonUtils.class:?]
at net.minecraft.util.JsonUtils.getItem(JsonUtils.java:150) ~[JsonUtils.class:?]
at net.minecraft.advancements.DisplayInfo.deserializeIcon(DisplayInfo.java:133) ~[DisplayInfo.class:?]
at net.minecraft.advancements.DisplayInfo.deserialize(DisplayInfo.java:111) ~[DisplayInfo.class:?]
at net.minecraft.advancements.Advancement$Builder.deserialize(Advancement.java:294) ~[Advancement$Builder.class:?]
at net.minecraft.advancements.AdvancementManager$1.deserialize(AdvancementManager.java:50) ~[AdvancementManager$1.class:?]
at net.minecraft.advancements.AdvancementManager$1.deserialize(AdvancementManager.java:46) ~[AdvancementManager$1.class:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[TreeTypeAdapter.class:?]
at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:435) ~[JsonUtils.class:?]
at net.minecraft.util.JsonUtils.fromJson(JsonUtils.java:485) ~[JsonUtils.class:?]
at net.minecraftforge.common.ForgeHooks.lambda$loadAdvancements$0(ForgeHooks.java:1356) ~[ForgeHooks.class:?]
at net.minecraftforge.common.crafting.CraftingHelper.findFiles(CraftingHelper.java:822) [CraftingHelper.class:?]
at net.minecraftforge.common.ForgeHooks.loadAdvancements(ForgeHooks.java:1338) [ForgeHooks.class:?]
at net.minecraftforge.common.ForgeHooks.loadAdvancements(ForgeHooks.java:1312) [ForgeHooks.class:?]
at net.minecraft.advancements.AdvancementManager.reload(AdvancementManager.java:70) [AdvancementManager.class:?]
at net.minecraft.advancements.AdvancementManager. (AdvancementManager.java:61) [AdvancementManager.class:?]
at net.minecraft.world.WorldServer.init(WorldServer.java:162) [WorldServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:123) [IntegratedServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:160) [IntegratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:552) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_172]
[09:40:09] [Server thread/ERROR] [FML]: Parsing error loading built-in advancement testenvironmentmod:cinnabarpowdermaker
com.google.gson.JsonSyntaxException: Invalid criterion trigger: minecraft:cinnabarpowdermaker
at net.minecraft.advancements.Criterion.criterionFromJson(Criterion.java:52) ~[Criterion.class:?]
at net.minecraft.advancements.Criterion.criteriaFromJson(Criterion.java:82) ~[Criterion.class:?]
at net.minecraft.advancements.Advancement$Builder.deserialize(Advancement.java:296) ~[Advancement$Builder.class:?]
at net.minecraft.advancements.AdvancementManager$1.deserialize(AdvancementManager.java:50) ~[AdvancementManager$1.class:?]
at net.minecraft.advancements.AdvancementManager$1.deserialize(AdvancementManager.java:46) ~[AdvancementManager$1.class:?]
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[TreeTypeAdapter.class:?]
at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:435) ~[JsonUtils.class:?]
at net.minecraft.util.JsonUtils.fromJson(JsonUtils.java:485) ~[JsonUtils.class:?]
at net.minecraftforge.common.ForgeHooks.lambda$loadAdvancements$0(ForgeHooks.java:1356) ~[ForgeHooks.class:?]
at net.minecraftforge.common.crafting.CraftingHelper.findFiles(CraftingHelper.java:822) [CraftingHelper.class:?]
at net.minecraftforge.common.ForgeHooks.loadAdvancements(ForgeHooks.java:1338) [ForgeHooks.class:?]
at net.minecraftforge.common.ForgeHooks.loadAdvancements(ForgeHooks.java:1312) [ForgeHooks.class:?]
at net.minecraft.advancements.AdvancementManager.reload(AdvancementManager.java:70) [AdvancementManager.class:?]
at net.minecraft.advancements.AdvancementManager. (AdvancementManager.java:61) [AdvancementManager.class:?]
at net.minecraft.world.WorldServer.init(WorldServer.java:162) [WorldServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:123) [IntegratedServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:160) [IntegratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:552) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_172]
So I went through each of the Java files and reformatted/saved them one-by-one. Still, I got the same error when connecting to the world. Since it had JSON in the error I thought, well maybe the app isn't cleaning up the older files and sure enough the two files still resided in the json folder and being picked by MCreator. Once I removed them, the issue stopped. So this bug is to make sure that if advancements are added and later removed, we also remove the files from the developers workstation. If you need the JSON files, I have them saved.
Issue comments
MCreator 1.8.3 will properly remove all associated files. It will keep textures and models however as they can be used by other elements and can be manually removed too. But advancement JSON files, block, and item JSON files and all these files will be properly removed.
I am closing this ticket now.
I can confirm this is happening. Some other files of some mod elements are not properly removed too. We will fix this bug.