
View Distance Control
PaperMC plugin for per-player view distance control via LuckPerms permission nodes.
ViewDistanceControl 0.0.6
release4 мая 2026 г.overview
Compatibility update for Paper 26.1.2, the first stable release under Minecraft's new year-based versioning scheme (formerly 1.21.x). No behaviour changes.
Changed
- Built and tested against Paper 26.1.2 (requires Java 25 server runtime).
ViewDistanceControl 0.0.5
release1 мая 2026 г.overview
This release improves robustness around view distance clamping and fixes two bugs in the LuckPerms listener. A new debug config option makes it easier to diagnose when and why listeners fire without having to add temporary logging.
Added
- New
debugconfig option (default:false) logs when each listener fires, so misfiring or missing events can be diagnosed without touching the code.
Changed
- Config defaults (
default-view-distance,default-afk-view-distance) and permission-node-granted distances are now clamped to the server'sview-distancesetting, with a warning logged when clamping occurs.
Fixed
- Race condition in
LuckPermsListenerdebounce logic: concurrent asyncUserDataRecalculateEventfirings could both see an empty pending map and schedule duplicate tasks. The remove→cancel→schedule→put sequence is now synchronized. LuckPermsListenerno longer applies view distance if the player disconnects between when the event fires and when the scheduled task runs.
ViewDistanceControl 0.0.4
release30 апреля 2026 г.Added
- New
afk-distance-delayconfig option (default:5) delays AFK view distance reduction by a configurable number of seconds after a player goes AFK. Set to0for the previous immediate behaviour. - New
console-logconfig option (default:false) logs view distance changes to the server console. - New
/vdc listcommand shows every online player's current view distance at once.
Changed
/vdc check <player>renamed to/vdc get <player>; the associated permission node is renamed fromviewdistancecontrol.checktoviewdistancecontrol.get./vdc get(and/vdc list) now show(pending AFK)while the AFK delay is counting down, so the real AFK state is visible immediately even before the view distance switches.- View distance is now only set on the player when the value actually changes; notifications and console logs are suppressed for no-op updates.
ViewDistanceControl 0.0.3
release29 апреля 2026 г.What's new
Bug fix: view distance applied multiple times per permission change
LuckPerms fires UserDataRecalculateEvent several times for a single permission mutation (due to internal cache invalidation steps). This caused the view distance notification message to appear multiple times simultaneously. The handler is now debounced so only the final event in each burst takes effect.
View distance cap (viewdistancecontrol.max.<N>)
You can now cap a player's view distance from above without touching their existing group permissions.
Assign viewdistancecontrol.max.<N> to a group and the resolved distance (from default.<N> / afk.<N> nodes and config defaults) will be clamped to at most N. If a player has multiple max nodes the lowest value wins (most restrictive). The cap applies in both normal and AFK states.
Example — limit a restricted group to at most 6 chunks regardless of other groups:
lp group restricted permission set viewdistancecontrol.max.6 true
ViewDistanceControl 0.0.2
release24 апреля 2026 г.Uses setSendViewDistance instead of setViewDistance, so AFK view distance reduction no longer unloads chunks on the server side.
