PacketAPI

PacketAPI

PacketAPI is designed to make networking easier in Minecraft.

Briefly:

  • No more handlers for each packet, keeping OOP style and processing synchronous
  • Registering packets without the need to specify descriminators and other things
  • Callbacks. Sending requests to the server and asynchronously waiting for a response, and then processing the result synchronously, all in one line of code
  • Control over packages. Suppression of spam with packets of one annotation
  • Rich functionality for sending packets in packs with filtering and black jack
  • Converting Object <-> byte[] without pain
  • Full BukkitAPI and Forge support
  • Lazy data sending without packets
  • The author's method of packing data, similar to serialization, but with optimization of the weight of objects up to 4.5 times

 

Usage examples

It looks like CurseForge doesn't support source code blocks. Therefore, examples are on Github.

Tools

- Forge client tools:
    PacketHandlerClient is a tool handling and sending packets from the client side
    Base packets:
        IPacketInClient is a base incoming packet
        IPacketOutClient is a base outgoing packet
        ICallbackOut is a base outgoing callback packet
- Forge server tools:
    PacketHandlerServer is a tool handling and sending packets from the server side
    Base packets:
        IPacketInServer is a base incoming packet
        IPacketOutServer is a base outgoing packet
        ICallbackInServer is a base incoming callback packet
- Bukkit tools:
    PacketHandlerBukkitServer is a tool handling and sending packets from the bukkit side
    Base packets:
        IPacketInBukkit is a base incoming packet
        IPacketOutBukkit is a base outgoing packet
        ICallbackInBukkit is a base incoming callback packet

- Misc tools:
    Composable is a type of objects that can be sent without packets. See examples and docs for more information
    Sender is a one of the main tools for sending outgoing packets, callbacks and Composable objects. See examples and docs for more information
    RequestController is a tool for filtering and scheduling packet execution. See examples and docs for more information
    Packet and PacketSubscriber are annotations to automatically register your packets. See examples and docs for more information

 

Install

Go to Files and download one of them.

ACHTUNG! PacketAPI was developed for Minecraft `v1.7.10` and `v1.12.2` and works correctly there. It does not mean that it will
definitely fail on other versions, but you should use it at your own peril and risk.

p.s. use a jar file called `packetapi-@VERSION@-no-reobf.jar` if you cannot run the game with this library from the IDE.
It's possible when working with `Minecraft v1.7.10`

 

License

See the License

The PacketAPI Team

profile avatar
  • 3
    Followers
  • 4
    Projects
  • 33.8K
    Downloads

More from kkashmir

  • Xlv's Locks project image

    Xlv's Locks

    • 1.9K
    • Mods

    Locks for every blocks!

    • 1.9K
    • February 28, 2019
    • Mods
    • +3
  • MCDayZ project image

    MCDayZ

    • 4.3K
    • Mods

    The big configurable survival system for starting your own server

    • 4.3K
    • September 12, 2018
    • Mods
    • +4
  • RegWelcomes project image

    RegWelcomes

    • 363
    • Bukkit Plugins

    Plugin for different messages when player moves between regions

    • 363
    • September 6, 2017
    • Bukkit Plugins
    • +1
  • Xlv's Locks project image

    Xlv's Locks

    • 1.9K
    • Mods

    Locks for every blocks!

    • 1.9K
    • February 28, 2019
    • Mods
    • +3
  • MCDayZ project image

    MCDayZ

    • 4.3K
    • Mods

    The big configurable survival system for starting your own server

    • 4.3K
    • September 12, 2018
    • Mods
    • +4
  • RegWelcomes project image

    RegWelcomes

    • 363
    • Bukkit Plugins

    Plugin for different messages when player moves between regions

    • 363
    • September 6, 2017
    • Bukkit Plugins
    • +1