Unofficial site, not affiliated with modrinth.com.What is this?
Плагины/Zenith-Mod
Zenith-Mod

Zenith-Mod

Advanced moderation plugin with ban/mute systems, escalation templates, offline support, and Web-API integration for professional server management.

354
2
Все версииZenith-Mod 1.2.3

Zenith-Mod 1.2.3

Release6 мес. назад

Список изменений

Zenith-Mod v1.2.3 Update

⚠️ Beta Notice

This update includes significant API additions that are currently in Beta. While we've thoroughly tested all features, please be aware that:

  • In very rare cases, API methods may behave unexpectedly
  • In very rare cases, events may not fire or fire incorrectly
  • API structure may undergo changes in future versions
  • We do not provide any warranty or guarantee regarding the API's functionality

Use of the new API features is at your own risk. However, all core plugin functionality (commands, moderation, etc.) remains stable and fully supported.

🚨 CRITICAL: Database Fix

⚠️ THIS UPDATE IS HIGHLY RECOMMENDED - CRITICAL DATABASE ISSUE FIXED

This version fixes a critical database problem that could cause data inconsistency issues. We strongly recommend updating immediately, especially if you're using MySQL or MariaDB databases.

What Was Fixed?

  • Fixed: Critical database transaction issue that could cause history entries to be incomplete
  • Fixed: Potential race condition in database operations that could lead to missing case IDs
  • Improved: Database connection handling and error recovery
  • Result: More reliable database operations and complete history tracking

Note: If you experience any issues after updating, please check your database logs and ensure all migrations completed successfully.

🎯 New API System (Beta)

Zenith-Mod now includes a comprehensive Java API for developers to integrate with other plugins and extend functionality!

📦 New API Modules

FreezeAPI (me.kzlyth.api.freeze)

  • freeze(UUID, UUID, String) - Freeze a player with reason
  • unfreeze(UUID, UUID, String) - Unfreeze a player
  • isFrozen(UUID) - Check if player is frozen
  • getFrozenPlayers() - Get list of all frozen players
  • Automatic history logging with case IDs
  • Staff notifications for all freeze actions

ChatFreezeAPI (me.kzlyth.api.chatfreeze)

  • freezeChat(UUID, String) - Freeze the server chat
  • unfreezeChat(UUID, String) - Unfreeze the server chat
  • isChatFrozen() - Check if chat is currently frozen
  • Server-wide chat control with history tracking
  • Automatic staff notifications

EssentialsAPI (me.kzlyth.api.essentials)

  • God Mode: setGodMode(UUID, UUID, boolean), isGodMode(UUID)
  • Fly Mode: setFlyMode(UUID, UUID, boolean), isFlying(UUID)
  • Heal: heal(UUID, UUID) - Restore player health
  • Feed: feed(UUID, UUID) - Restore player hunger
  • Clear Inventory: clearInventory(UUID, UUID) - Clear player inventory
  • Teleport: teleport(UUID, UUID), teleportHere(UUID, UUID) - Teleport players
  • All methods include staff notifications

VanishAPI (me.kzlyth.api.vanish)

  • vanish(UUID) - Make player invisible
  • unvanish(UUID) - Make player visible
  • toggleVanish(UUID) - Toggle vanish status
  • isVanished(UUID) - Check if player is vanished
  • getVanishedPlayers() - Get list of all vanished players
  • Automatic staff notifications

🎪 Event System (Beta)

A powerful event bus system for listening to moderation actions in real-time!

Available Events

  • Ban Events: PlayerBanEvent, PlayerUnbanEvent
  • Mute Events: PlayerMuteEvent, PlayerUnmuteEvent
  • Warn Events: PlayerWarnEvent
  • Kick Events: PlayerKickEvent

Event Packages

  • me.kzlyth.api.events.ban.* - Ban and unban events
  • me.kzlyth.api.events.mute.* - Mute and unmute events
  • me.kzlyth.api.events.warn.* - Warn events
  • me.kzlyth.api.events.kick.* - Kick events

Features

  • Events fired after actions complete (for integrations and logging)
  • Complete event data (player info, staff info, reason, case ID, duration, etc.)
  • Automatic main-thread handling for safe Bukkit API access
  • Simple subscription/unsubscription system
  • Perfect for Discord webhooks, external databases, analytics, and plugin integrations

📚 API Integration

All new APIs are accessible through the main ZenithAPI class:

ZenithAPI api = ZenithAPI.getInstance();
if (api != null && api.isAvailable()) {
    FreezeAPI freezeAPI = api.getFreezeAPI();
    ChatFreezeAPI chatFreezeAPI = api.getChatFreezeAPI();
    EssentialsAPI essentialsAPI = api.getEssentialsAPI();
    VanishAPI vanishAPI = api.getVanishAPI();
    
    ZenithEventBus eventBus = ZenithEventBus.getInstance();
    eventBus.subscribe(PlayerBanEvent.class, event -> {
        // Handle ban event
    });
}

📖 Complete API Documentation

For detailed API documentation, method signatures, parameters, and usage examples, visit:

http://javadocs.zenith-studios.org/

The Javadoc includes:

  • Complete class and method documentation
  • Parameter descriptions and return types
  • Usage examples and best practices
  • Exception handling guides
  • Event system documentation

✅ Enhanced Existing APIs

BanAPI Improvements

  • Fixed: Players are now automatically kicked when banned via API
  • Added: Staff notifications for all ban API calls
  • Improved: Better error handling and validation

MuteAPI Improvements

  • Added: Staff notifications for all mute API calls
  • Improved: Better offline player handling

WarnAPI Improvements

  • Added: Staff notifications for all warn API calls
  • Fixed: Auto-escalation now works correctly with API calls

KickAPI Improvements

  • Added: Staff notifications for all kick API calls
  • Improved: Better integration with history system

📊 Analytics Integration

bStats Integration

  • Added: Integrated bStats metrics system for plugin analytics
  • Anonymous usage statistics to help us improve the plugin
  • Respects server privacy settings
  • Can be disabled via bStats configuration

🔧 Technical Details

API Architecture

  • Asynchronous Operations: All API methods use CompletableFuture for non-blocking operations
  • Thread Safety: Event bus automatically handles thread synchronization
  • Error Handling: Comprehensive exception handling with APIUnavailableException
  • History Integration: All API actions automatically create history entries with case IDs
  • Notification System: Automatic staff notifications for all moderation actions

Database Improvements

  • Fixed critical transaction issues
  • Improved connection handling
  • Better error recovery mechanisms
  • Enhanced history entry consistency

Performance

  • Asynchronous API calls prevent server lag
  • Event system optimized for high-throughput scenarios
  • Efficient database operations

📋 Setup Instructions

For Plugin Developers

  1. Add Zenith-Mod as a dependency in your plugin.yml:
depend: [Zenith-Mod]
  1. Get the API instance:
ZenithAPI api = ZenithAPI.getInstance();
if (api != null && api.isAvailable()) {
    // Use API...
}
  1. Subscribe to events:
ZenithEventBus bus = ZenithEventBus.getInstance();
bus.subscribe(PlayerBanEvent.class, event -> {
    // Handle event...
});

For complete setup instructions and examples, see the API Documentation.

⚠️ Breaking Changes

None - This update is fully backward compatible. All existing commands and functionality work exactly as before.

🔄 Migration Notes

  • No configuration changes required
  • No database migrations needed (automatic)
  • All existing bans, mutes, warns, and history entries remain intact
  • API is opt-in - existing plugins continue to work without changes

📝 Files Changed

New API Classes

  • me.kzlyth.api.freeze.FreezeAPI
  • me.kzlyth.api.chatfreeze.ChatFreezeAPI
  • me.kzlyth.api.essentials.EssentialsAPI
  • me.kzlyth.api.vanish.VanishAPI
  • me.kzlyth.api.events.ZenithEvent
  • me.kzlyth.api.events.ZenithEventBus
  • Event classes in me.kzlyth.api.events.* packages

Enhanced Existing Classes

  • ZenithAPI - Added getters for new APIs
  • BanAPI - Added notifications and auto-kick
  • MuteAPI - Added notifications
  • WarnAPI - Added notifications
  • KickAPI - Added notifications

Database Fixes

  • Enhanced transaction handling in all repository classes
  • Improved connection pool management
  • Better error recovery mechanisms

🔗 Full API Documentation: http://javadocs.zenith-studios.org/

⚠️ Remember: The API system is in Beta. While core plugin functionality is stable, please test API integrations thoroughly in a development environment before using in production.

📢 Important: This update fixes a critical database issue. We highly recommend updating as soon as possible.


Developed by Zenith-Studios

Файлы

Zenith-Mod-1.2.3.jar(828.86 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.2.3

Загрузчики

Paper
Purpur

Версии игры

1.19.3–1.21.10

Загрузок

105

Дата публикации

6 мес. назад

Загрузил

ID версии

Главная