Creating Plugins
Build plugins that integrate with the Blueth ecosystem using Blueth Core as a dependency.
Setting Up Blueth Core
Add Blueth Core as a dependency in your build.gradle file:
repositories {
maven {
name = "blueth"
url = "https://repo.blueth.online/releases"
}
}
dependencies {
compileOnly("online.blueth:core:1.0.0")
}Add Blueth Core as a dependency in your plugin.yml:
depend: [BluethCore]Basic Plugin Structure
package com.example.myplugin;
import online.blueth.core.BluethPlugin;
import online.blueth.core.config.ConfigManager;
import online.blueth.core.util.MessageUtil;
public class MyPlugin extends BluethPlugin {
@Override
public void onPluginEnable() {
ConfigManager config = getConfigManager();
getLogger().info("MyPlugin enabled!");
}
@Override
public void onPluginDisable() {
getLogger().info("MyPlugin disabled!");
}
}Available Utilities from Core
| Class | Description |
|---|---|
ConfigManager | YAML configuration with auto-reload |
MessageUtil | MiniMessage and legacy color formatting |
GuiBuilder | Inventory GUI creation with click handlers |
CommandFramework | Annotation-based command registration |
ItemBuilder | Fluent API for creating ItemStacks |
TaskScheduler | Async and sync task scheduling |
DatabaseManager | SQLite and MySQL connection pooling |
CooldownManager | Per-player cooldown tracking |
ScoreboardUtil | Scoreboard and sidebar management |
PlayerDataStore | Persistent per-player data storage |
EventBus | Custom event system for inter-plugin communication |
UpdateChecker | Automatic version checking and notifications |