Compatibility
Minecraft: Java Edition
1.21–1.21.8
Platforms
Creators
Details
Licensed ARR
Published last month
Updated last month
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
) updateworlds
accordingly. - 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-command
actually exists and is executable by the server console (e.g., areport
command 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.log
for startup errors.
License
Use as you wish. No warranty provided.