XDiscordUltimate Developer Documentation
Technical documentation for developers integrating with XDiscordUltimate, querying verified accounts, listening to the event bus, or writing custom modules.What You Can Do
Architecture
How the core, module system, data layer, and event bus fit together.
Building from Source
Clone, compile with Gradle, and locate the shaded JAR.
Writing Modules
Extend the
Module abstraction to add your own Discord features.API Overview
The public API surface: database, events, managers, and placeholders.
Entry Point
XDiscordUltimate is a standard Bukkit plugin. The main class is a singleton accessed statically:getConfigManager(), getMessageManager(), getAdminUtils(), getEmbedUtils(), getDatabaseManager(), getModuleManager(), getDiscordManager(), getHelpGUI(), plus the optional hooks getLuckPerms(), isLuckPermsEnabled(), isPlaceholderAPIEnabled(), parsePlaceholders(String, Player), and getStartTime().
Hello, Developer
The smallest useful integration looks up the Discord ID linked to a Minecraft player. TheDatabaseManager returns a CompletableFuture for every read/write, so never block the main thread waiting for it.
Depending on the Plugin
XDiscordUltimate is not yet published to Maven Central. Depend on it through JitPack against the GitHub repository.The coordinates below point at the GitHub
main branch. Pin to a released tag (v1.2.0) or a specific commit for reproducible builds../gradlew publishToMavenLocal, then depend on com.xreatlabs.xdiscordultimate:XDiscordUltimate:1.2.0.
Next Steps
Architecture
Understand the core, module system, data layer, and event bus.
Writing Modules
Build a feature on the
Module abstraction.API Overview
Explore the database, event, and manager APIs.

