Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

In Minecraft 1.12 achievements were replaced by advancement. After 1.12 every block had advancement bound to it for recipes . So when i remove recipes it causes a console spam which becomes really annoying when trying to solve issues. For removing recipes i use the following code:

Spoiler

@SubscribeEvent
public static void removeRecipes(RegistryEvent.Register<IRecipe> event) {
    IForgeRegistryModifiable modRegistry = (IForgeRegistryModifiable) event.getRegistry();
    ResourceLocation oak = new ResourceLocation("minecraft:oak_stairs");
        modRegistry.remove(oak);
}

The log spam caused by:

Spoiler

[13:47:23] [Server thread/ERROR]: Parsing error loading built-in advancement minecraft:recipes/building_blocks/oak_stairs
com.google.gson.JsonSyntaxException: Unknown recipe 'minecraft:oak_stairs'
   at net.minecraft.advancements.AdvancementRewards$Deserializer.deserialize(AdvancementRewards.java:204) ~[AdvancementRewards$Deserializer.class:?]
   at net.minecraft.advancements.AdvancementRewards$Deserializer.deserialize(AdvancementRewards.java:180) ~[AdvancementRewards$Deserializer.class:?]
   at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[TreeTypeAdapter.class:?]
   at com.google.gson.Gson.fromJson(Gson.java:887) ~[Gson.class:?]
   at com.google.gson.Gson.fromJson(Gson.java:952) ~[Gson.class:?]
   at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162) ~[TreeTypeAdapter$GsonContextImpl.class:?]
   at net.minecraft.util.JsonUtils.deserializeClass(JsonUtils.java:359) ~[JsonUtils.class:?]
   at net.minecraft.util.JsonUtils.deserializeClass(JsonUtils.java:381) ~[JsonUtils.class:?]
   at net.minecraft.advancements.Advancement$Builder.deserialize(Advancement.java:295) ~[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.minecraft.advancements.AdvancementManager.loadBuiltInAdvancements(AdvancementManager.java:185) [AdvancementManager.class:?]
   at net.minecraft.advancements.AdvancementManager.reload(AdvancementManager.java:69) [AdvancementManager.class:?]
   at net.minecraft.advancements.AdvancementManager.<init>(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:550) [MinecraftServer.class:?]
   at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]

So how can i remove recipes without causing huge log spam like this

i think this is a known issue. While it is possible to remove advancements it takes a lot of work. If you remove the recipes you get the error. Instead of removing the recipe, many people replace it with a "dummy" recipe instead. That gets rid of the error, but brings up a different message (warning about "dangerous prefix"). If you're interested in trying this though I describe it my tips on recipes here: http://jabelarminecraft.blogspot.com/p/minecraft-modding-ore-dictionary.html

 

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

  • 4 weeks later...
  • Author

I may have found a solution for this problem other than just replacing it with a dummy recipe. 

Make a minecraft resource pack with the advacnements tab on it' and then when you do the advancement you want to change, you change the trigger to "minecraft:impossible" with an hidden tag @jabelar

Edited by StrikerRocker

4 hours ago, StrikerRocker said:

I may have found a solution for this problem other than just replacing it with a dummy recipe. 

Make a minecraft resource pack with the advacnements tab on it' and then when you do the advancement you want to change, you change the trigger to "minecraft:impossible" with an hidden tag @jabelar

 

Advancements and other server-side files aren't loaded from resource packs, which are client-only. 1.13 will allow loading of advancements from data packs.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.