Skip to content

Permissions

PermissionDefaultGrants
daisyfilter.adminopParent for admin actions; includes status, gui, export, inspect, notes, monitor.
daisyfilter.statusopstatus, version.
daisyfilter.guiopOpening the moderation GUI.
daisyfilter.testoptest.
daisyfilter.inspectopviolations, inspect, player.
daisyfilter.notesopStaff notes and the watchlist (note, notes, watch, unwatch, watchlist).
daisyfilter.exportopexport (metadata).
daisyfilter.monitoropmonitor toggle.
daisyfilter.alertsopReceiving and toggling staff alerts.
daisyfilter.view.rawfalseDecrypting and exporting raw content. Not granted to operators by default.
daisyfilter.appealtrueUsing /appeal to contest an active mute (granted to everyone).
daisyfilter.punish.warnopDispatching configured warning profiles.
daisyfilter.punish.muteopDispatching configured mute profiles.
daisyfilter.punish.kickopDispatching configured kick profiles.
daisyfilter.punish.banfalseDispatching configured ban profiles.
daisyfilter.punish.customfalseDispatching custom profiles that use this permission.

All bypass permissions default to false, including for operators, so filtering is never silently skipped by accident.

PermissionSkips filtering on
daisyfilter.bypassevery surface and spam
daisyfilter.bypass.chatchat
daisyfilter.bypass.commandscommunication commands
daisyfilter.bypass.signssigns
daisyfilter.bypass.booksbooks
daisyfilter.bypass.anvilanvil renames
daisyfilter.bypass.nicknamenickname changes
daisyfilter.bypass.customcustom API surfaces
daisyfilter.bypass.spamspam/abuse heuristics

Bypass is evaluated from a thread-safe snapshot refreshed on join and in batches, so chat-thread checks never touch the permission system directly. A LuckPerms refresh hook is added only when LuckPerms is installed.

If you grant yourself * in LuckPerms you also receive every daisyfilter.bypass.* node, so filtering is skipped for you. To keep * but still be filtered while testing, negate both the global node and the wildcard:

/lp user <you> permission set daisyfilter.bypass false
/lp user <you> permission set daisyfilter.bypass.* false

daisyfilter.bypass.* covers the per-surface and spam children; daisyfilter.bypass is a separate node and must be negated on its own.