Home›Java›Mods›JEIPaperBridge
JEIPaperBridge
ModsJava

JEIPaperBridge

Java mod listed for Minecraft 26.x. Downloads from the MC Java Mods app on Android.

by MaxXLive · on Hangar

⬇ Download on Hangar
# JEIPaperBridge A Paper plugin that implements the server side of the [Just Enough Items (JEI)](https://github.com/mezz/JustEnoughItems) 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](https://modrinth.com/mod/jei) 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`: ```yaml 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](https://github.com/MaxXLive/jei-paper-bridge#how-it-works). ## Links - Source and documentation: https://github.com/MaxXLive/jei-paper-bridge - Issues: https://github.com/MaxXLive/jei-paper-bridge/issues ## Credits and license JEI is made by [mezz](https://github.com/mezz) and contributors and is licensed under the [MIT License](https://github.com/mezz/JustEnoughItems/blob/HEAD/LICENSE.txt). 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](https://github.com/MaxXLive/jei-paper-bridge/blob/main/LICENSE.md). The recipe sync format follows [Fabric API](https://github.com/FabricMC/fabric) (Apache License 2.0). No Fabric API code is included.
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

JEIPaperBridge is a free Minecraft Java mod. Compatible with Minecraft 26.3. Downloaded 18 times (via Hangar). Download it and open it directly in the game.

Explore more