Cant use Forge or Mod in tag namespace

Started by Nightmare_Gryphon on

Topic category: Troubleshooting, bugs, and solutions

Joined Sep 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Cant use Forge or Mod in tag namespace

I followed through the tutorial video on how to use tags and done it exactly like the video says except I tried to use Forge because i want to share tag group with my other mods im making and other peoples mods.  Whenever I try to use Forge or Mod as a namespace when creating a tag group ( im very sure i made names match correctly ) the console throws up the following error and recipe fails to work. I only worked when I use minecraft as a namespace.  Looking at the console I found that the namespace is ALWAYS "minecraft" even after selecting Forge or Mod. Here is the error the console is showing:

1;31:41.15 [Server thread/ERROR] [minecraft/RecipeManager]: Parsing error loading recipe meatcromancer:soulnecklacerecipe
com.google.gson.JsonSyntaxException: Unknown item tag 'minecraft:soulgroup'
   at net.minecraft.item.crafting.Ingredient.deserializeItemList(Ingredient.java:221) ~[?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.item.crafting.Ingredient.deserializeItemList(Ingredient.java:221) ~[?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraftforge.common.crafting.VanillaIngredientSerializer.parse(VanillaIngredientSerializer.java:41) ~[?:?] {re:classloading}
   at net.minecraftforge.common.crafting.VanillaIngredientSerializer.parse(VanillaIngredientSerializer.java:41) ~[?:?] {re:classloading}
   at net.minecraftforge.common.crafting.CraftingHelper.getIngredient(CraftingHelper.java:155) ~[?:?] {re:classloading}
   at net.minecraftforge.common.crafting.CraftingHelper.getIngredient(CraftingHelper.java:155) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.Ingredient.deserialize(Ingredient.java:187) ~[?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.item.crafting.Ingredient.deserialize(Ingredient.java:187) ~[?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.item.crafting.ShapedRecipe.deserializeKey(ShapedRecipe.java:270) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.ShapedRecipe.deserializeKey(ShapedRecipe.java:270) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.ShapedRecipe.access$000(ShapedRecipe.java:24) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.ShapedRecipe.access$000(ShapedRecipe.java:24) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.ShapedRecipe$Serializer.read(ShapedRecipe.java:294) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.ShapedRecipe$Serializer.read(ShapedRecipe.java:294) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.ShapedRecipe$Serializer.read(ShapedRecipe.java:290) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.ShapedRecipe$Serializer.read(ShapedRecipe.java:290) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.RecipeManager.deserializeRecipe(RecipeManager.java:140) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.RecipeManager.deserializeRecipe(RecipeManager.java:140) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.RecipeManager.apply(RecipeManager.java:60) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.RecipeManager.apply(RecipeManager.java:60) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.RecipeManager.apply(RecipeManager.java:37) ~[?:?] {re:classloading}
   at net.minecraft.item.crafting.RecipeManager.apply(RecipeManager.java:37) ~[?:?] {re:classloading}
   at net.minecraft.client.resources.ReloadListener.lambda$reload$1(ReloadListener.java:14) ~[?:?] {re:classloading}
   at net.minecraft.client.resources.ReloadListener.lambda$reload$1(ReloadListener.java:14) ~[?:?] {re:classloading}
   at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:670) ~[?:1.8.0_232] {}
   at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:670) ~[?:1.8.0_232] {}
   at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_232] {}
   at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_232] {}
   at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_232] {}
   at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_232] {}
   at net.minecraft.resources.AsyncReloader.lambda$null$3(AsyncReloader.java:66) ~[?:?] {re:classloading}
   at net.minecraft.resources.AsyncReloader.lambda$null$3(AsyncReloader.java:66) ~[?:?] {re:classloading}
   at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:20) [?:?] {re:classloading}
   at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:20) [?:?] {re:classloading}
   at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) [?:?] {re:classloading}
   at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) [?:?] {re:classloading}
   at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:726) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:726) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:720) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:720) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.util.concurrent.ThreadTaskExecutor.driveUntil(ThreadTaskExecutor.java:123) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.util.concurrent.ThreadTaskExecutor.driveUntil(ThreadTaskExecutor.java:123) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.loadDataPacks(MinecraftServer.java:1550) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.loadDataPacks(MinecraftServer.java:1550) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.loadDataPacks(MinecraftServer.java:442) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.loadDataPacks(MinecraftServer.java:442) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:75) [?:?] {re:classloading,pl:runtimedistcleaner:A}
   at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:75) [?:?] {re:classloading,pl:runtimedistcleaner:A}
   at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:97) [?:?] {re:classloading,pl:runtimedistcleaner:A}
   at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:97) [?:?] {re:classloading,pl:runtimedistcleaner:A}
   at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:622) [?:?] {re:classloading,pl:accesstransformer:B}
   at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:622) [?:?] {re:classloading,pl:accesstransformer:B}
   at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232] {}
   at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232] {}

I have tested making forge…
Tue, 04/07/2020 - 07:11

I have tested making forge tag in 1.14.4 and it was forge tag, it did not switch to Minecraft namespace as you suggested.

Parsing error loading recipe meatcromancer:soulnecklacerecipe
com.google.gson.JsonSyntaxException: Unknown item tag 'minecraft:soulgroup'

This indicates recipe uses tag from minecraft:soulgroup, is this tag in fact defined?

Avoid adding new tags to the minecraft namespace, this namespace is meant for overriding, not adding.

Joined Sep 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
yes the soulgroup was…
Tue, 04/07/2020 - 12:41

yes the soulgroup was defined already by default, also im I forgot to mention that im using the latest version of 2020.2  1.14.4

Joined Sep 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Also the namespace was…
Tue, 04/07/2020 - 12:52

Also the namespace was supposed to be forge:soulgroup when selecting Forge so the tag could be used between mods.

Joined Sep 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
I think i found the culprit…
Tue, 04/07/2020 - 13:47

I think i found the culprit. I tried to use Forge as a namespace again and took a look at the code of the recipe mcreator generated and found that it did not add the namespace at all.  so i played around with the code in the recipe by changing "soulgroup" to "forge:soulgroup" and the error went away and the recipe works. 

 

before edit:

 

  },
    "7": {
      "tag": "soulgroup"
    }

 

after edit and it works:

 

  },
    "7": {
      "tag": "forge:soulgroup"
    }

 

This is code for recipes,…
Wed, 04/08/2020 - 09:35

This is code for recipes, did you add the namespace in the tag when adding to the recipe?

When you add a tag, you need to enter it in namespace:name format

Joined Sep 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
I tried it again like you…
Wed, 04/08/2020 - 13:04

I tried it again like you suggested and it worked.  Somehow I thought it would do that automatically.  Maybe in future can  there be an option to pull up a list of tags, select, and automatically enter the namespace tag?  Anyways, thanks for helping me on resolving that problem.