Documentation Index
Fetch the complete documentation index at: https://mintlify.com/kennytv/Maintenance/llms.txt
Use this file to discover all available pages before exploring further.
The MaintenanceChangedEvent is fired whenever the maintenance mode status changes, either from enabled to disabled or vice versa.
Event Details
Package: eu.kennytv.maintenance.api.event
Type: Notification event (read-only)
Fired when:
- Maintenance mode is enabled via command, API, or scheduled timer
- Maintenance mode is disabled via command, API, or scheduled timer
Class Definition
public record MaintenanceChangedEvent(boolean isMaintenance) implements MaintenanceEvent {
}
This event is implemented as a Java record, providing an immutable data structure with automatic getter methods.
Methods
isMaintenance()
Returns whether maintenance mode has been enabled or disabled.
Returns: true if maintenance mode has been enabled, false if it has been disabled
Usage Example
Basic Example
import eu.kennytv.maintenance.api.Maintenance;
import eu.kennytv.maintenance.api.MaintenanceProvider;
import eu.kennytv.maintenance.api.event.MaintenanceChangedEvent;
import eu.kennytv.maintenance.api.event.manager.EventListener;
import eu.kennytv.maintenance.api.event.manager.EventManager;
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {
Maintenance api = MaintenanceProvider.get();
EventManager eventManager = api.getEventManager();
eventManager.registerListener(new EventListener<MaintenanceChangedEvent>() {
@Override
public void onEvent(MaintenanceChangedEvent event) {
if (event.isMaintenance()) {
getLogger().info("Maintenance mode enabled!");
} else {
getLogger().info("Maintenance mode disabled!");
}
}
}, MaintenanceChangedEvent.class);
}
}
Advanced Example: Integration with Discord
import eu.kennytv.maintenance.api.event.MaintenanceChangedEvent;
import eu.kennytv.maintenance.api.event.manager.EventListener;
public class DiscordIntegration {
private final DiscordBot bot;
public DiscordIntegration(DiscordBot bot) {
this.bot = bot;
}
public void registerListeners(EventManager eventManager) {
eventManager.registerListener(new EventListener<MaintenanceChangedEvent>() {
@Override
public void onEvent(MaintenanceChangedEvent event) {
if (event.isMaintenance()) {
bot.sendMessage("🔧 Server is now in maintenance mode!");
bot.updateStatus("Under Maintenance");
} else {
bot.sendMessage("✅ Server maintenance complete! Server is now online.");
bot.updateStatus("Online");
}
}
}, MaintenanceChangedEvent.class);
}
}
Example: Kicking Custom Players
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import eu.kennytv.maintenance.api.event.MaintenanceChangedEvent;
import eu.kennytv.maintenance.api.event.manager.EventListener;
public class CustomKickHandler {
public void register(EventManager eventManager) {
eventManager.registerListener(new EventListener<MaintenanceChangedEvent>() {
@Override
public void onEvent(MaintenanceChangedEvent event) {
if (event.isMaintenance()) {
// Kick players without maintenance permission
for (Player player : Bukkit.getOnlinePlayers()) {
if (!player.hasPermission("maintenance.bypass")) {
player.kickPlayer("Server is entering maintenance mode!");
}
}
}
}
}, MaintenanceChangedEvent.class);
}
}
See Also