EntityPacketBridge
Reusable packet bridge for Bukkit, Paper and Folia plugins
Reusable packet bridge for Bukkit, Paper and Folia plugins
EntityPacketBridge is a lightweight companion plugin for Minecraft server plugins that need to listen to client entity interaction packets without depending on PacketEvents.
It is especially useful for fake-player NPC systems, custom combat systems, packet-aware mechanics and Folia-compatible plugins that need a small local API for packet callbacks.
Features
- Lightweight Netty packet listener
- Bukkit, Paper and Folia support
- Folia-compatible injection scheduling
- Entity interaction packet detection
- Fake-player NPC click support
- Attack and interact action detection
- Generic incoming client packet listener API
- Outgoing server packet listener API
- Movement packet snapshot API
- Block action snapshot API
- Inventory action snapshot API
- Packet snapshot classification
- No PacketEvents dependency required
- Safe listener cleanup on plugin shutdown
Version
Code (Text):
1.2.0
- Java 17 or newer
- Spigot, Paper or Folia
- Minecraft 1.20+
- A plugin that integrates with the EntityPacketBridge API
Installation
- Download EntityPacketBridge.jar.
- Put it in your server plugins folder.
- Install any plugin that supports EntityPacketBridge, such as an NPC plugin.
- Start or restart the server.
Commands
EntityPacketBridge has no player or admin commands.
It is a developer/companion plugin used by other plugins through its API.
Why use it?
Some plugins need to detect packets before normal server handling. For example, fake-player NPCs do not always behave like normal Bukkit entities, so normal Bukkit interaction events are not enough.
EntityPacketBridge solves that by injecting a small listener into player connections and dispatching packet information to registered plugins.
Threading Notice
Packet callbacks run on the player's Netty connection thread.
Consumer plugins should not directly access mutable Bukkit or Folia world/entity state inside the callback. Schedule Bukkit/Folia work onto the correct player/entity scheduler.
API Example
Code (Text):
EntityPacketBridgeApi.Registration registration =
EntityPacketBridgeApi.register((player, entityId, action) -> {
if (action == InteractAction.ATTACK) {
// Handle left click / attack
} else {
// Handle right click / interact
}
return true; // true = packet handled/suppressed
});
// Later, on plugin disable:
registration.close();
Code (Text):
EntityInteractListener
ClientPacketListener
ServerPacketListener
PacketSnapshotListener
MovementPacketListener
BlockActionListener
InventoryActionListener
- Spigot 1.20+
- Paper 1.20+
- Folia 1.20+
Notes
EntityPacketBridge is not an NPC plugin by itself. It is a bridge used by other plugins that need packet-level interaction support.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.20, 1.20.6, 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
EntityPacketBridge is a free Minecraft Java mod. Compatible with Minecraft 1.20, 1.20.6, 1.21, 26.1 and newer. Downloaded 42 times (via Spigot). Download it and open it directly in the game.