Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/lDEVinux/eaglercraft/llms.txt

Use this file to discover all available pages before exploring further.

EaglercraftBungee exposes the full BungeeCord plugin API plus Eaglercraft-specific events. Plugins are standard BungeeCord JAR files placed in the plugins/ directory — if you’ve developed BungeeCord plugins before, the process is identical.

Prerequisites

  • Java 8 or later
  • Any Java IDE (Eclipse, IntelliJ IDEA, etc.)
  • bungee-dist.jar added as a build dependency (see below)

Setting Up Your Project

1

Create a new Java project in your IDE

Open your IDE and create a new Java project. Name it anything you like.
2

Download bungee-dist.jar

Download bungee-dist.jar from stable-download/java/bungee_command/bungee-dist.jar inside the stable-download.zip. This JAR contains the full BungeeCord plugin API including Eaglercraft-specific classes.
3

Add bungee-dist.jar to your project's Build Path

In Eclipse: right-click your project → PropertiesJava Build PathLibrariesAdd External JARs… and select the downloaded bungee-dist.jar.In IntelliJ IDEA: open FileProject StructureModulesDependencies+JARs or Directories… and select the JAR.
4

Create your main plugin class

Create a Java class that extends BungeeCord’s Plugin class. See Basic Plugin Structure below for a minimal example.
5

Create plugin.yml

Create a plugin.yml file at the root of your project’s resources folder. This file tells EaglercraftBungee how to load your plugin. At minimum it needs name, main, and version.
A minimal plugin.yml looks like this:
plugin.yml
name: MyEaglerPlugin
main: com.example.myplugin.MyPlugin
version: 1.0
author: YourName
description: My Eaglercraft BungeeCord plugin

Basic Plugin Structure

Every EaglercraftBungee plugin has a main class that extends Plugin and overrides onEnable() and onDisable():
MyPlugin.java
package com.example.myplugin;

import net.md_5.bungee.api.plugin.Plugin;

public class MyPlugin extends Plugin {

    @Override
    public void onEnable() {
        getLogger().info("MyPlugin enabled!");
        // Register event listeners
        getProxy().getPluginManager().registerListener(this, new MyListener(this));
    }

    @Override
    public void onDisable() {
        getLogger().info("MyPlugin disabled!");
    }
}

Registering Event Handlers

Event handlers live in a class that implements Listener. Each handler method is annotated with @EventHandler:
MyListener.java
package com.example.myplugin;

import net.md_5.bungee.api.event.PostLoginEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;

public class MyListener implements Listener {

    private final MyPlugin plugin;

    public MyListener(MyPlugin plugin) {
        this.plugin = plugin;
    }

    @EventHandler
    public void onPostLogin(PostLoginEvent event) {
        plugin.getLogger().info(event.getPlayer().getName() + " joined!");
    }
}
Register the listener in onEnable() by calling getProxy().getPluginManager().registerListener(this, new MyListener(this)) as shown in the main plugin class above. For the full list of available events — including Eaglercraft-specific ones such as WebsocketMOTDEvent and WebsocketQueryEvent — see the Events Reference.

Testing Your Plugin

1

Export your plugin as a JAR

In Eclipse: FileExportJavaJAR file (or Runnable JAR file) and export to a convenient location.In IntelliJ IDEA: BuildBuild Artifacts → select your artifact → Build.
2

Copy the JAR to the plugins folder

Copy the exported JAR into java/bungee_command/plugins/ inside your EaglercraftBungee installation directory.
3

Run EaglercraftBungee

On Windows, double-click run.bat in java/bungee_command/. On macOS or Linux, run ./run_unix.sh from the same directory.
4

Check the console for output

Watch the EaglercraftBungee console window. You should see your plugin’s log lines (e.g. MyPlugin enabled!) confirming it was loaded successfully.

See Also

  • Events Reference — full reference for WebsocketMOTDEvent, WebsocketQueryEvent, and all standard BungeeCord events available in EaglercraftBungee
  • EaglerMOTD — a complete, real-world EaglercraftBungee plugin and the canonical reference implementation for plugin development

Build docs developers (and LLMs) love