Class MagicSenderAdapters

java.lang.Object
dev.ua.theroer.magicutils.commands.MagicSenderAdapters

public final class MagicSenderAdapters extends Object
Registry for MagicSenderAdapter instances.
  • Method Details

    • register

      public static void register(String id, MagicSenderAdapter adapter)
      Registers an adapter under a stable identifier.
      Parameters:
      id - adapter id
      adapter - adapter instance
    • unregister

      public static boolean unregister(String id)
      Unregisters an adapter by identifier.
      Parameters:
      id - adapter id
      Returns:
      true if an adapter was removed
    • clear

      public static void clear()
      Clears all registered adapters.
    • wrap

      @Nullable public static @Nullable MagicSender wrap(Object sender)
      Attempts to wrap a raw sender using registered adapters.
      Parameters:
      sender - raw sender instance
      Returns:
      wrapped sender or null if unsupported
    • hasPermission

      public static boolean hasPermission(Object sender, String permission)
      Checks permission for a raw sender using registered adapters.
      Parameters:
      sender - raw sender instance
      permission - permission node
      Returns:
      true if granted
    • hasPermission

      public static boolean hasPermission(Object sender, String permission, int fallbackOpLevel)
      Checks permission for a raw sender using registered adapters and a custom op-level fallback.
      Parameters:
      sender - raw sender instance
      permission - permission node
      fallbackOpLevel - op level to treat as granted when no permission backend answers
      Returns:
      true if granted