[Bug] Client crashes during network recipe sync due to unbound tag menderman:carrot_on_a_stick_materials in JEI integration #6

Open
opened 2026-06-12 09:22:21 -04:00 by Khoi-Nguyen-1 · 0 comments

Description: The game crashes on the client-side during the ClientRecipeSynchronizedEvent packet handling when Just Enough Items (JEI) attempts to register anvil repair recipes. The crash occurs because MendermanRecipeViewerHelper.getRepairStacks tries to access and stream the contents of the item tag menderman:carrot_on_a_stick_materials before it is formally bound/loaded in the registry during the early network sync stage.

Environment:
Minecraft Version: 26.1.2
Fabric Loader: 0.19.3
Mod Version: Menderman 1.1.1+26.1.x
Incompatible Mod: JEI (Just Enough Items) 29.6.2.31

Stacktrace Excerpt:

java.lang.IllegalStateException: Trying to access unbound tag 'TagKey[minecraft:item / menderman:carrot_on_a_stick_materials]' from registry Registry[ResourceKey[minecraft:root / minecraft:item] (Stable)]
	at knot//net.minecraft.core.HolderSet$Named.contents(HolderSet.java:158)
	at knot//net.minecraft.core.HolderSet$ListBacked.stream(HolderSet.java:58)
	at knot//lgbt.greenhouse.menderman.integration.MendermanRecipeViewerHelper.getRepairStacks(MendermanRecipeViewerHelper.java:55)
	at knot//lgbt.greenhouse.menderman.integration.jei.MendermanJeiHelper.getMendermanRepairRecipes(MendermanJeiHelper.java:45)
	at knot//mezz.jei.library.plugins.vanilla.anvil.AnvilRecipeMaker.modifyReturnValue$eak000$menderman$replaceAnvilRecipes(AnvilRecipeMaker.java:520)

Temporary Workaround:

What I've Tried & Workaround:

1. Creating a Datapack to bind the tag (Failed):
I tried creating a datapack to formally bind the missing tag, but the game still crashes because the registry accesses it too early during the network sync stage.

  • Structure:
  📁 [pack_name]/
  ├── 📄 pack.mcmeta (pack_format: 61)
  └── 📁 data/
      └── 📁 menderman/
          └── 📁 tags/
              └── 📁 item/
                  └── 📄 carrot_on_a_stick_materials.json

carrot_on_a_stick_materials.json content:

{
    "values": ["minecraft:carrot_on_a_stick"]
  }

2. Disabling JEI Mixins (Successful Workaround):
Disabling the JEI-related mixins inside menderman.mixins.json successfully prevents the crash, allowing the game to boot and run perfectly while retaining in-game anvil repair mechanics:

// Removed from menderman.mixins.json
"integration.jei.Mixin_AnvilRecipeCategory",
"integration.jei.Mixin_AnvilRecipeMaker",
"integration.jei.Mixin_IRecipeCategory"
**Description:** The game crashes on the client-side during the ClientRecipeSynchronizedEvent packet handling when Just Enough Items (JEI) attempts to register anvil repair recipes. The crash occurs because MendermanRecipeViewerHelper.getRepairStacks tries to access and stream the contents of the item tag menderman:carrot_on_a_stick_materials before it is formally bound/loaded in the registry during the early network sync stage. **Environment:** Minecraft Version: 26.1.2 Fabric Loader: 0.19.3 Mod Version: Menderman 1.1.1+26.1.x Incompatible Mod: JEI (Just Enough Items) 29.6.2.31 **Stacktrace Excerpt:** ```java java.lang.IllegalStateException: Trying to access unbound tag 'TagKey[minecraft:item / menderman:carrot_on_a_stick_materials]' from registry Registry[ResourceKey[minecraft:root / minecraft:item] (Stable)] at knot//net.minecraft.core.HolderSet$Named.contents(HolderSet.java:158) at knot//net.minecraft.core.HolderSet$ListBacked.stream(HolderSet.java:58) at knot//lgbt.greenhouse.menderman.integration.MendermanRecipeViewerHelper.getRepairStacks(MendermanRecipeViewerHelper.java:55) at knot//lgbt.greenhouse.menderman.integration.jei.MendermanJeiHelper.getMendermanRepairRecipes(MendermanJeiHelper.java:45) at knot//mezz.jei.library.plugins.vanilla.anvil.AnvilRecipeMaker.modifyReturnValue$eak000$menderman$replaceAnvilRecipes(AnvilRecipeMaker.java:520) ``` **Temporary Workaround:** ### What I've Tried & Workaround: **1. Creating a Datapack to bind the tag (Failed):** I tried creating a datapack to formally bind the missing tag, but the game still crashes because the registry accesses it too early during the network sync stage. * **Structure:** ```text 📁 [pack_name]/ ├── 📄 pack.mcmeta (pack_format: 61) └── 📁 data/ └── 📁 menderman/ └── 📁 tags/ └── 📁 item/ └── 📄 carrot_on_a_stick_materials.json ``` carrot_on_a_stick_materials.json content: ```json { "values": ["minecraft:carrot_on_a_stick"] } ``` **2. Disabling JEI Mixins (Successful Workaround):** Disabling the JEI-related mixins inside menderman.mixins.json successfully prevents the crash, allowing the game to boot and run perfectly while retaining in-game anvil repair mechanics: ```json // Removed from menderman.mixins.json "integration.jei.Mixin_AnvilRecipeCategory", "integration.jei.Mixin_AnvilRecipeMaker", "integration.jei.Mixin_IRecipeCategory"
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Modding/menderman#6
No description provided.