Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
LightVision
Night vision as a toggle. Players switch it on and off for themselves with /lv,
staff can set it for others, block anyone who abuses it, and let the plugin turn
it on automatically whenever someone walks into the dark.
The state survives restarts, blacklisted worlds stay dark no matter what, and the plugin never touches a night vision effect it did not hand out itself - a potion or a beacon keeps working exactly as the player expects.
Requirements
- Paper (or a fork) on Minecraft 1.21+
- Java 21
Commands
/lv and /lightvision are the same command.
| Command | Description | Permission |
|---|---|---|
/lv |
Toggle your own night vision | lv.use |
/lv <player> [on|off] |
Toggle or set night vision for someone else | lv.admin |
/lv block <player> |
Block a player from using night vision | lv.admin |
/lv unblock <player> |
Lift the block again | lv.admin |
/lv reload |
Reload config.yml and apply it to everyone online |
lv.admin |
lv.use defaults to true, lv.admin to op. lv.bypass.block (op) protects a
player from being blocked by other staff members.
/lv unblock also works on offline players, as long as the server has seen them
before. A raw UUID works too.
Configuration
config.yml holds two sections, both documented inline:
settings- remember state across restarts, actionbar instead of chat, titles, the blindness flash when night vision goes off, the darkness trigger, and the world blacklistmessages- every player-facing text, in MiniMessage format
Darkness trigger
Off by default. Once enabled, players below light-level get night vision
automatically and lose it again when it gets bright. Automatic night vision is
kept apart from what a player toggled themselves: it is never written to
data.yml, it gives way the moment someone uses /lv, and switching the trigger
off and running /lv reload takes it away from everyone who currently has it.
Light is checked on movement (at most twice a second per player) and by a
background task every check-interval-ticks.
Data
data.yml stores the UUIDs of players whose night vision is on, plus the
blocklist. Players who are off are simply absent, so the file stays small. It is
written off the main thread, once a minute at most, and on shutdown.
Building
mvn clean package
The shaded jar lands in target/lightvision-1.1-RELEASE.jar. bStats is shaded and
relocated into de.empireblocks.lightVision.libs.bstats; paper-api is provided
and stays out of the jar.
License
GNU General Public License v3.0. See LICENSE.


