Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
ViaVersion Recipe Fix
A server-side Fabric mod that prevents Fabric API's recipe sync packets from crashing clients connecting via ViaVersion/ViaBackwards with non-native protocol versions.
Problem
Since Minecraft 1.21.2, vanilla no longer syncs all recipes to clients. Fabric API added an opt-in recipe sync API (fabric-recipe-api-v1) for mods that need client-side recipe data (e.g. JEI). When a server uses this alongside ViaFabric and ViaBackwards, clients on older Minecraft versions crash with:
Failed to decode packet 'clientbound/minecraft:custom_payload'
Caused by: Tried to read NBT tag that was too big
Neither ViaVersion nor ViaBackwards translates Fabric API's custom RecipeSyncPayloadS2C packet, causing the client to misparse the data.
Solution
This mod intercepts recipe sync at the server level and skips sending the packet to players whose protocol version (detected via ViaVersion API) differs from the server's native protocol.
Native-version clients receive recipe sync as normal.
Requirements
- Minecraft 1.21.10+
- Fabric Loader >=0.18.0
- Fabric API (with
fabric-recipe-api-v1) - ViaFabric (optional) — the mod does nothing without it but won't crash
Building
./gradlew build
Output jar is in build/libs/.
License
MIT

