All Mods Resource Packs Data Packs Shaders Modpacks Plugins
J

JEIRecipeFix

by Orchiwi_ • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Makes recipe-viewer mods work again on Paper, Purpur and Folia servers.

Since Minecraft 1.21.2, servers no longer send recipe data to clients. On a plugin-based server (Paper / Purpur / Folia) this means JEI, REI and EMI show no recipes at all — the mods simply can't see what the server can craft. JEI's own recommendation is to install JEI on the server, but JEI is a mod and cannot run on a plugin server.

JEIRecipeFix fixes this from the server side. It sends your server's recipes to the recipe-viewer mods so recipe lookups work again — with no client mod to install and no mod loader on the server. Players just connect with JEI (or REI / EMI) and it works.

Features

  • Restores recipe lookups in JEI, REI and EMI.
  • Zero setup - install the plugin and players just connect; recipes are sent automatically on join.
  • Works with Fabric and NeoForge clients.
  • Covers vanilla, datapack and other plugins' recipes, and refreshes automatically after a datapack reload.
  • A single jar for the whole 1.21.2 → 26.2 range.
  • Lightweight and dependency-free; stays silent for vanilla clients.

How it works

The plugin reads the recipes your server already knows and delivers them to the client the same way a mod loader normally would. It does not change crafting, add content, or affect gameplay — it only restores the recipe information that recipe-viewer mods need in order to display it.

Requirements

  • A Paper, Purpur or Folia server on Minecraft 1.21.2–26.1.2.
  • Each player uses a Fabric or NeoForge client with JEI, REI or EMI installed (as they already would).

Commands

Command Description
/jrf info Show status: recipe count, online players, sync state.
/jrf resync [player|all] Re-send recipes (useful after datapack changes).
/jrf reload Reload the configuration.

/jeirecipefix is the full command; /jrf is the alias. All commands require the jeirecipefix.admin permission (operators by default).

Configuration

config.yml offers a few simple toggles:

  enabled: true
  sync-on-join: true
  sync-on-datapack-reload: true
  debug: false

Note

This is an unofficial, third-party plugin. It is not affiliated with, or made by, the authors of JEI, REI or EMI.


All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.2 26.1.x 1.21.x
Folia Paper Purpur
13h ago 1
26.2 26.1.x 1.21.x
Folia Paper Purpur
13h ago 1
26.2 26.1.x 1.21.x
Folia Paper Purpur
13h ago 1
26.2 26.1.x 1.21.x
Folia Paper Purpur
13h ago 1
26.1.x 1.21.x
Folia Paper Purpur
13h ago 1
[0.4.0] 0.4.0 by Orchiwi_ on Oct 15, 2026
Download
### Fixed
  • Players on a different Minecraft version than the server were kicked the moment they joined, on
servers running ViaVersion/ViaBackwards. The recipes carry the server's internal item numbers,
which shift with every release, and ViaVersion cannot translate the channel they travel on. The
plugin now checks each player's real version and holds the recipes back from anyone not on the
server's.

### Added
  • cross-version-sync (safe / off / force) sets what those players get. safe still sends the
recipe book, so REI works for them; JEI shows nothing and the player is told why.
  • cross-version-unknown-is-native, for servers whose ViaVersion runs on the proxy.
  • /jrf info reports the server protocol, whether ViaVersion was found, and how many players are on
another version.

### Changed
  • Recipe-book packets are batched at 128 KiB instead of 512 KiB. ViaBackwards rewrites them on the
way out and can only make them bigger.
  • recipe-book-sync: all no longer re-sends the recipe book on respawn to clients that never got it,
such as vanilla ones.
[0.3.0] 0.3.0 by Orchiwi_ on Oct 15, 2026
Download
### Added
  • REI support.** REI does not read the recipe sync JEI uses, it builds its list from the server's
recipe book, and a server only ever sends the recipes a player has already unlocked, which is why
REI showed nothing. The plugin now sends the full recipe book to clients that report REI, and REI
shows the server's recipes, datapack and plugin ones included.
  • recipe-book-sync in config.yml (auto / all / off) decides who receives it. auto limits
it to clients reporting REI, because it also fills the player's own vanilla recipe book.
  • New settings and messages are written into your existing config.yml and messages.yml on
startup, with their comments; anything you have already set is left untouched.

### Fixed
  • The confirmation in chat now reaches REI players too, not only JEI ones.
  • The re-read trigger and the recipe book are sent even when the client reports its recipe viewer a
moment after its recipes were delivered. Previously that decision was made once and never revisited,
so whether a player was served came down to the order of a set on their client.
  • Recipes are re-sent after respawn, where the server replaces the recipe book wholesale.
[0.2.0] 0.2.0 by Orchiwi_ on Oct 15, 2026
Download
### Fixed
  • JEI showed *"This server does not provide recipes to JEI"* and kept using your client's own
recipes. Since JEI 30.8.0.51 (26.2) and 29.14.0.43 (26.1), JEI builds its recipe list the moment
the server's own recipe packet arrives, which is before any plugin can send anything, so the
recipes this plugin sent a moment later were ignored for the rest of the session. The plugin now
asks the client to re-read its recipes right after sending them, so JEI reloads with the server's
recipes. JEI still prints its warning once at join; a silent JEI reload right after it means the
recipes arrived.
  • /jrf resync now reaches a running JEI on Fabric clients instead of quietly doing nothing.
  • Recipes whose serializer is not a vanilla one are left out of the Fabric payload instead of making
the client throw away every recipe.
  • An empty recipe set is no longer sent; it made recipe viewers report unusable recipes.
  • A recipe set too large for a single custom payload (over 1 MiB encoded) is no longer sent at all.
Sending it disconnected the player while their client decoded it; the server log now says so.
  • A message missing from an older messages.yml was sent to players as its own key
(jei-warning-notice) instead of the actual text.
  • /jrf info reported active even with enabled: false, which read as if everything was fine.

### Changed
  • Recipes are now sent once the client has announced its plugin channels, so the plugin only sends
what a given client can actually use.
  • A single send failure no longer silences every later error for the lifetime of the server.
  • The normal log now records the recipe count, payload size and whether the re-read trigger was sent.
  • /jrf info reports the trigger state and the number of send failures.
  • Removed 1.21.2 from the published version list: Paper never released a 1.21.2 build.

### Added
  • recipe-update-trigger option in config.yml to turn the re-read trigger off.
  • A one-line chat notice telling the player JEI's warning is out of date, sent only to clients that
just received the recipes and are known to run JEI. Wording in messages.yml
(jei-warning-notice), switch in config.yml (explain-jei-warning).
  • config.yml and messages.yml are brought up to date on startup: settings and messages added in
a newer version are written into your existing files, with their comments, and everything you have
already set is left exactly as it was. The server log lists what was added.
[0.1.0-beta.2] 0.1.0-beta.2 by Orchiwi_ on Oct 15, 2026
Download
### Added
  • Support for Minecraft 26.2.
First release.

  • Your server's recipes now show up again in JEI, REI and EMI on Paper, Purpur and Folia.
  • Works automatically for Fabric and NeoForge clients, no client mod needed.
  • Recipes update after a datapack reload.
  • Admin commands to re-send recipes, reload settings, and check status.

Download JEIRecipeFix
Select game version
Select platform