Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for MaxXLive

A Paper plugin that implements the server side of the Just Enough Items (JEI) mod's network protocol.

Report JEIPaperBridge?

JEIPaperBridge

A Paper plugin that implements the server side of the Just Enough Items (JEI) mod's network protocol.

JEI is a client mod for browsing items and recipes. Some of its features need JEI on the server too: moving a recipe's ingredients into the crafting grid with the + button, cheat mode (giving items, deleting items), and showing the server's recipes. On a Paper server JEI shows "The server must have JEI installed", cheat mode only works in creative mode, and JEI shows the default recipes built into the client with a chat warning.

JEIPaperBridge answers JEI from a Paper server. JEI clients connect as usual and get the same features they would get from a modded server. Players don't need to install anything extra, and players without JEI aren't affected.

Unofficial. This project is not affiliated with or endorsed by mezz or the JEI project. Please don't report problems with this plugin to the JEI issue tracker.

Requirements

  • Server: Paper 26.3 (or a fork such as Purpur), Java 25. Spigot/CraftBukkit is not supported, Folia is untested.
  • Client: JEI for Fabric 26.3 (tested with 31.16.0) with Fabric API. NeoForge clients should get recipe transfer and cheat mode too (untested), server recipes are only sent to Fabric clients.

Supported features

JEI feature Without the plugin With the plugin
Recipe transfer (+ button, shift for the maximum) "The server must have JEI installed" Works in the player inventory, crafting table, crafter, furnace, smoker, blast furnace, brewing stand, anvil and smithing table
Cheat mode: give items (one or a stack, to the cursor or the inventory) Creative mode only Works for players that are allowed to cheat
Cheat mode: set hotbar items with number keys Not available Works for players that are allowed to cheat
Delete the item on the cursor Not available Works for players that are allowed to cheat
"No permission" message and turning cheat mode off – Same as with JEI on the server
Server recipes (datapacks, plugin recipes) Default recipes from the client, chat warning The server's recipes, no warning (Fabric clients)

Not supported

  • Recipe transfer for modded menus. Only the vanilla menus JEI has transfer handlers for are accepted.
  • JEI's server config screen. The settings live in the plugin's config.yml instead of JEI's jei-server.ini.
  • Items that only exist through components (for example a renamed item from a datapack recipe) don't appear in JEI's item list. That's how JEI works on any server: recipe results are only shown in their recipes.
  • Paper's exact-choice ingredients (RecipeChoice.ExactChoice from plugins) are sent as their plain items.

Configuration

plugins/JEIPaperBridge/config.yml:

features:
  recipe-transfer: true   # JEI's "+" button
  cheat-mode: true        # give items, set hotbar items, delete the item on the cursor
  recipe-sync: true       # send the server's recipes to Fabric clients

# Who may use cheat mode, same as JEI's jei-server.ini. A player additionally needs the
# permission "jeipaperbridge.cheat" (default: op).
cheat-mode:
  enable-for-op: true        # operators (permission level 2, like /give)
  enable-for-creative: true  # players in creative mode
  enable-for-give: false     # players who can use the /give command

recipe-transfer:
  # Fire a Bukkit InventoryClickEvent before moving items, so protection and GUI plugins can cancel the transfer.
  fire-inventory-click-event: true

# Packets a single player may send per second, further packets are ignored.
max-packets-per-second: 20

# Log rejected packets and recipe sync details.
debug: false

Run /jeipb reload after editing. The recipes are sent again to all Fabric clients.

Commands and permissions

Command Description
/jeipaperbridge reload Reload config.yml and resend the recipes
/jeipaperbridge status List online players that use JEI, show the enabled features and the size of the recipe data

Alias: /jeipb.

Permission Default Description
jeipaperbridge.admin op Use /jeipaperbridge
jeipaperbridge.cheat op Use JEI's cheat mode. JEI's own rules from cheat-mode apply as well

Players in creative mode who are not operators need jeipaperbridge.cheat explicitly (for example from a permissions plugin) to use cheat mode.

Security

JEI trusts the client more than a plugin should, so the plugin adds some checks on top of JEI's:

  • Cheat mode requires JEI's own rules (operator, creative mode or /give permission, as configured) and the jeipaperbridge.cheat permission. Given items must be valid, enabled in the world and not larger than their maximum stack size. Like /give, every give is announced to operators and logged to the console.
  • Recipe transfer only works in the menu the player has open, and only in menus JEI has vanilla transfer handlers for. All of JEI's slot checks are kept, ingredients may only come from the player's own inventory, and an InventoryClickEvent is fired first so protection and GUI plugins can cancel it. Items are only moved, never created.
  • Packets are rate-limited per player, lists are limited in size, and unknown or malformed packets are ignored instead of kicking the player.

How it works

The plugin registers JEI's network channels, decodes JEI's packets with Minecraft's own codecs and runs the server logic ported from JEI. For Fabric clients it also sends the server's recipes in Fabric API's recipe sync format right before each recipe update, which is where JEI on Fabric reads them. Details: How it works.

Credits and license

JEI is made by mezz and contributors and is licensed under the MIT License. This plugin contains code ported from JEI (the packet formats, cheat mode and recipe transfer logic) and is distributed under the MIT License as well, with JEI's copyright notice included. See LICENSE.md.

The recipe sync format follows Fabric API (Apache License 2.0). No Fabric API code is included.

Information

Category
Admin Tools
Published
October 21, 2026
License
0Downloads
0Stars

Pinned Versions

Requires on the client

Members

1