/PluginMessageAPI-Plus

An extension to the existing Plugin Message API on Bukkit, BungeeCord and soon The Minecraft Client

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

PluginMessageAPI+

An extension of the Plugin Message API for Bukkit, BungeeCord

Links

Upcoming Features

  • Forward packet for BungeeCord

Example Usage

A lot of these examples are written for Bukkit but they aren't too hard to translate to BungeeCord

Initializing Example (Bukkit)

public PacketManager packetManager;

public void onEnable(){
    packetManager = new BukkitPacketManager(this, "MyChannelName");
    packetManager.registerPacket(PacketPlayerUpdatePoints.class);
    packetManager.registerListener(new IncomingPacketHandler());
}

Initializing Example (BungeeCord)

public PacketManager packetManager;

public void onEnable(){
    packetManager = new BungeeCordPacketManager(this, "MyChannelName");
    packetManager.registerPacket(PacketPlayerUpdatePoints.class);
    packetManager.registerListener(new IncomingPacketHandler());
}

Packet Class Example

public class PacketPlayerUpdatePoints extends StandardPacket {

    public int points;

    public PacketPlayerUpdatePoints(){}

    public PacketPlayerUpdatePoints(int point){
        this.change = change;
    }

    public void handle(DataInputStream dataInputStream) throws IOException {
        this.point = dataInputStream.readInt();
    }

    public PacketWriter write() throws IOException {
        PacketWriter packetWriter = new PacketWriter(this);
        packetWriter.writeInt(points);
        return packetWriter;
    }
}

Sending Example (Bukkit)

packetManager.sendPacket(new PacketPlayer(Bukkit.getOnlinePlayers()[0], new PacketPlayerUpdatePoints(50)));

Listener Example (Bukkit)

public class IncomingPacketHandler implements PacketListener {
    @PacketHandler
    public void onPointsUpdate(PacketPlayerUpdatePoints packet){
        Player player = packet.getSender().getBukkitPlayer();
        int points = packet.points;

        // do something to update points
    }
}

Plugins/Mods/Addons/Servers using this API