Per-player view and simulation distance control for Minecraft 1.21+
Overview
PerPlayerDistance allows server administrators to set individual view and simulation distances for players, with support for group-based defaults and personal overrides. Perfect for optimizing server performance while giving VIPs or staff members increased render distances.
Features
-
Per-Player Distance – Set custom view/simulation distances for individual players
-
Group-Based Defaults – Configure distances per LuckPerms group
-
H2 Database – Lightweight, file-based storage (no external database required)
-
Instant Application – Changes apply immediately, no restart needed
-
LuckPerms Integration – Automatically updates when a player's group changes
-
PlaceholderAPI Support – Use %ppd_view%, %ppd_sim%, and %ppd_group% placeholders
-
MiniMessage Formatting – Fully customizable, gradient-supporting messages
Commands
/ppd set <player> <view> [sim] – Set personal distances (permission: ppd.set)
/ppd reset <player> – Reset player to defaults (permission: ppd.reset)
/ppd group <group> set <view> [sim] – Set group distances (permission: ppd.group)
/ppd group <group> reset – Reset group distances (permission: ppd.group)
/ppd reload – Reload configuration (permission: ppd.reload)
Placeholders
%ppd_view% – Player's current view distance
%ppd_sim% – Player's current simulation distance
%ppd_group% – Player's primary LuckPerms group
%ppd_group_view% – Player's group view distance
%ppd_group_sim% – Player's group simulation distance
Permissions
ppd.use – Access to all commands (default: OP)
ppd.set – Set personal distances (default: OP)
ppd.reset – Reset personal distances (default: OP)
ppd.group – Manage group distances (default: OP)
ppd.reload – Reload configuration (default: OP)
Priority System
The plugin applies distances in this order:
1. Personal override (/ppd set)
2. Group database entry (/ppd group set)
3. Config group default (config.yml groups section)
4. Server default (current server.properties values)
Installation
1. Download PerPlayerDistance.jar
2. Place it in your server's plugins/ folder
3. Restart your server
4. Edit config.yml and messages.yml to your liking
5. Set permissions as needed