Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for CraftersDevelopment

All-in-one staff toolkit with vanish, freeze, player notes, reports, and a full developer API.

Report CraftersStaff?

Updates
2.0

xUnknowns released CraftersStaff version 2.0 on Today 12:02 AM

CraftersStaff v2.0 β€” The Network & Developer Update

This is a massive update for CraftersStaff that brings full compatibility with proxy networks, a brand new public API for developers, and a rewritten web integration system!


✨ Changes & New Features

🌐 Proxy Network Compatibility (BungeeCord & Velocity)

  • CraftersStaff now fully supports BungeeCord and Velocity networks out of the box.
  • Interceptors have been added to properly handle network-wide placeholders.
  • The %cstaff_proxy_count% placeholder now accurately displays the total number of staff members online across the entire network.

❌ Web Panel Removal

  • The Web Panel integration (/stafflog) has been completely removed from the plugin.
  • Why? This decision was made because the backend services (such as Cloudflare KV databases) have strict rate limits on their free tiers and require a budget to maintain effectively at scale.
  • Since we do not currently have the budget to maintain this feature without our users running into these limits, we decided to remove it completely to ensure the plugin remains lightweight, error-free, and stable.

πŸ› οΈ Developer API

We are excited to introduce the CraftersStaff Public API! Developers can now easily hook into CraftersStaff to check player states and listen to events.

How to use the API

To use the API, simply add the CraftersStaff-v2.0.jar to your plugin's build path (or via your dependency manager) and add CraftersStaff to your plugin.yml depend or softdepend list.

πŸ“š Available Methods

You can access the API statically via the CraftersStaffAPI class:

// Check states
boolean isStaff = CraftersStaffAPI.isStaffMode(player);
boolean isVanished = CraftersStaffAPI.isVanished(player);
boolean isFrozen = CraftersStaffAPI.isFrozen(player);

// Modify states programmatically
CraftersStaffAPI.setStaffMode(player, true); // Enable staff mode
CraftersStaffAPI.setVanished(player, false); // Disable vanish
CraftersStaffAPI.setFrozen(target, admin, true); // Freeze a player

🎧 Available Events

All events are standard Bukkit events and can be listened to using @EventHandler.

  • StaffModeChangeEvent β€” Fired when a staff member toggles their staff mode.

    • getPlayer(): The player changing state.
    • isEntering(): True if they are turning staff mode ON.
    • isLeaving(): True if they are turning staff mode OFF.
  • StaffVanishEvent β€” Fired when a staff member toggles vanish.

    • getPlayer(): The player changing state.
    • isVanishing(): True if they are going invisible.
    • isUnvanishing(): True if they are becoming visible.
  • PlayerFreezeEvent β€” Fired when a player is frozen by a staff member.

    • getPlayer(): The player who was frozen.
    • getFreezer(): The staff member who issued the freeze.
  • PlayerUnfreezeEvent β€” Fired when a player is unfrozen.

    • getPlayer(): The player who was unfrozen.
    • getUnfreezer(): The staff member who removed the freeze.

πŸ’‘ Example Event Listener

import com.craftersstaff.api.events.StaffModeChangeEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;

public class MyStaffListener implements Listener {
    @EventHandler
    public void onStaffModeToggle(StaffModeChangeEvent event) {
        if (event.isEntering()) {
            event.getPlayer().sendMessage("Β§aOur custom plugin detects you are now in Staff Mode!");
        } else {
            event.getPlayer().sendMessage("Β§cYou have left Staff Mode.");
        }
    }
}

Thank you for supporting Crafters Development! Join our Discord if you need any help.

Information

Published onJuly 16, 2026
Downloads1

Platforms

Paper Paper (1.13-1.21.5)
Velocity Velocity (4.0.0)