Source-checkedLibraries & compatibility

[API] PacketListenerAPI

by inventivetalent · for Minecraft

Simple API to manipulate sent and received packets | compatible with all versions

161KDownloads
5 yr agoLast updated
Spigot · PaperLoaders
1.17Latest game version

About [API] PacketListenerAPI

From SpigotMC

Simple API to manipulate sent and received packets | compatible with all versions

This API provides an easy way to listen for when a Packet is sent or received and includes functions to modify Fields of the Packet.

Versions after 3.8 require Java 11+

Code (Text):

PacketListenerAPI.addPacketHandler(new PacketHandler() {

            @Override
            public void onSend(SentPacket packet) {
            }

            @Override
            public void onReceive(ReceivedPacket packet) {
            }

        });
 
The processed packets can also be limited by adding the @PacketOptions annotation.

If you are interested in manipulating packets directly on your BungeeCord server, check out the BungeeCord version of this API.

Examples

Checking a Packet

<button type="button" class="button bbCodeSpoilerButton ToggleTrigger Tooltip JsOnly" title="Click to reveal or hide spoiler" data-target="> .SpoilerTarget">Spoiler: Checking packet for Entity spawn</button>
1.) Not version save
Code (Java):

&nbsp; &nbsp; &nbsp; &nbsp; PacketListenerAPI. addPacketHandler ( new PacketHandler ( ) {

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void onSend (SentPacket packet ) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (packet. getPacket ( ) instanceof PacketPlayOutSpawnEntity ) { // instanceof requires an import of the Packet, therefore not Version save
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Currently spawning an entity.
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void onReceive (ReceivedPacket packet ) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }

&nbsp; &nbsp; &nbsp; &nbsp; } ) ;
&nbsp;

2.) version save (recommended)
Code (Java):

&nbsp; &nbsp; PacketListenerAPI. addPacketHandler ( new PacketHandler ( ) {

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void onSend (SentPacket packet ) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (packet. getPacketName ( ). equals ( "PacketPlayOutSpawnEntity" ) ) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Currently spawning an entity.
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void onReceive (ReceivedPacket packet ) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }

&nbsp; &nbsp; &nbsp; &nbsp; } ) ;
&nbsp;

<button type="button" class="button bbCodeSpoilerButton ToggleTrigger Tooltip JsOnly" title="Click to reveal or hide spoiler" data-target="> .SpoilerTarget">Spoiler: Old version</button>
1.) Not version save
Code (Text):
&nbsp; &nbsp; @EventHandler
&nbsp; &nbsp; public void onPacketSend(PacketSendEvent e) {
&nbsp; &nbsp; &nbsp; &nbsp; if (e.getPacket() instanceof PacketPlayOutSpawnEntity) {// instanceof requires an import of the Packet, therefore not Version save
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Currently spawning an entity.
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; }
2.) version save (recommended)
Code (Text):
@EventHandler
&nbsp; &nbsp; public void onPacketSend(PacketSendEvent e) {
&nbsp; &nbsp; &nbsp; &nbsp; if(e.getPacketName().equals("PacketPlayOutSpawnEntity")) {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Currently spawning an entity.
&nbsp; &nbsp; &nbsp; &nbsp; }
&nbsp; &nbsp; }
&nbsp;

Modifying Field values

<button type="button" class="button bbCodeSpoilerButton ToggleTrigger Tooltip JsOnly" title="Click to reveal or hide spoiler" data-target="> .SpoilerTarget">Spoiler: Modify the Entity-Type of an Entity-spawn packet</button>

Read the full description on SpigotMC →

Highlights

From source data

Game versions

Supports 2 Minecraft versions, the newest being 1.17.

Loaders

Runs on Spigot and Paper.

Footprint

Rated a light load on a server.

[API] PacketListenerAPI on Nxeon

From our catalogue
One-click install
Supported on Nxeon Minecraft servers, for Paper servers. We download it from SpigotMC, place it, and restart the server.
Server side
Required on the server
Server type needed
Spigot, Paper
Server load
light
Smallest plan we suggest
Minecraft — 2 GB (2 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
3.9.10-SNAPSHOT, released 2022-03-27

Game versions by loader

LoaderGame versionsNewest
Paper1.16 to 1.17 (2 versions)1.17
Spigot1.16 to 1.17 (2 versions)1.17

From 10 recorded builds of [API] PacketListenerAPI.

Recent builds

BuildReleasedGame versionsLoaders
3.9.10-SNAPSHOT2022-03-271.16 to 1.17 (2 versions)Spigot, Paper
3.9.9-SNAPSHOT2021-12-27n/aSpigot, Paper
3.9.8-SNAPSHOT2021-08-15n/aSpigot, Paper
3.9.3-SNAPSHOT2021-06-20n/aSpigot, Paper
3.9.2-SNAPSHOT2021-06-07n/aSpigot, Paper
3.9.1-SNAPSHOT2021-05-28n/aSpigot, Paper

Run [API] PacketListenerAPI on a Minecraft server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on SpigotMC as “Core”

Libraries & compatibility

Foundations and fixes other mods build on. Usually installed because something else needs it.

Runs on your server

From source side support

SpigotMC lists [API] PacketListenerAPI as required on the server. Check its SpigotMC page to see whether players need it too.

Compatibility

Game
Minecraft
Loaders
SpigotPaper
Runs on
Serverrequired on the server
Game versions
1.17 and 1 earlier
Requires
One-click install needs a Paper server.

Verified at the source

  • ✓SpigotMCOfficial listing, checked 2026-10-01Open ↗
  • ✓Authorinventivetalent, as published on SpigotMC
  • ✓LicenseNot published by the sourceFree

[API] PacketListenerAPI, answered

Generated from the mod’s own source data.

Do my players need to install [API] PacketListenerAPI?

SpigotMC lists [API] PacketListenerAPI as required on the server. Check its SpigotMC page to see whether players need it too.

Which loaders does it support?

Spigot and Paper.

Is it free?

Yes. [API] PacketListenerAPI is free to download from SpigotMC.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run [API] PacketListenerAPI on a Minecraft server.

Deploy in about a minute from $4.99 a month, then add [API] PacketListenerAPI in one click.