Compatibility
Minecraft: Java Edition
1.21–1.21.8
Platforms
Creators
Details
Licensed ARR
Published 2 months ago
Updated 2 months ago
NoFullBright
NoFullBright is a small Paper/Spigot plugin that detects likely client-side "fullbright" use in configured worlds and runs a configurable command when a player exceeds the warning threshold.
Features
- Periodic server-side checks for low-light conditions where players should not be able to see clearly.
- Configurable list of worlds where the checks are active.
- Configurable command executed when a player is detected repeatedly in suspicious conditions (supports placeholders).
- Lightweight and minimal: no commands or extra listeners by default.
How it works
Every scheduled interval (default: 200 ticks initial delay and 200 ticks between runs) the plugin scans all players in the configured worlds and evaluates each player:
- The player is considered "in the dark" if the block light level at the player's feet is less than 2 and the player's Y is below 40.
- If the player does not have Night Vision or Glowing potion effects and is not holding a torch in either hand, the plugin increments a per-player internal warning counter.
Note: players are only checked when they are in Survival game mode. Players in Creative or Spectator mode are ignored by the checks.
- When the warning counter reaches the configured threshold (default 5), the plugin executes the configured
report-command(with the%player%and%world%placeholders) and resets that player's counter. - If the player moves back to a safe state, the warning counter is decremented over time until it reaches 0.
This approach attempts to reduce false positives by requiring repeated detections before taking action.
Configuration (config.yml)
Default config.yml created by the plugin:
# NoFullBright configuration
# worlds: list of world names where the anti-fullbright check runs
# report-command: command executed on violation. You can use %player% and %world% placeholders.
worlds:
- hardcore
report-command: 'report %player% utilizzo della fullbright in %world%'
worlds(list) — exact world names where checks will run. Modify this list to include all worlds where you want the anti-fullbright check active.report-command(string) — the command executed by the server console when a player reaches the warning threshold. The plugin replaces%player%and%world%with the player's name and world name respectively. Make sure the command exists on your server (for example a moderation/reporting plugin). If the command is not available, nothing fatal will happen but no useful action will be taken.
Placeholders
%player%— replaced with the player's name.%world%— replaced with the world name.
Recommendations & tuning
- If your world names vary (for example
hardcore_1,hardcore_2) updateworldsaccordingly. - If you want a different sensitivity, I can add configurable options for:
light-threshold(default 2)y-limit(default 40)warning-count(default 5)tick-interval(scheduler delay/period)
Troubleshooting
- No action occurs on violation: ensure the command set in
report-commandactually exists and is executable by the server console (e.g., areportcommand provided by another plugin). - Too many false positives: tell me in the issues page
- Plugin not shown in
/plugins: confirm the JAR filename is correct and server logs show it loaded; checkserver.logfor startup errors.
License
Use as you wish. No warranty provided.



