ViaVersion Recipe Fix

Server-side Fabric mod that prevents Fabric API recipe sync packets from crashing clients connecting via ViaVersion/ViaBackwards with older protocol versions.

1 139 downloads 5 followers

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

No gallery available for this project.

Version Minecraft Loader Download

ViaVersion Recipe Fix 1.0.1

1.0.1

1.21.10, 1.21.11, 26.1
fabric
Download

ViaVersion Recipe Fix 1.0.0

1.0.0

1.21.10, 1.21.11, 26.1
fabric
Download