{"id":14969523,"url":"https://github.com/wyzebb/playerviewdistancecontroller","last_synced_at":"2025-08-03T06:08:21.710Z","repository":{"id":246278118,"uuid":"820559043","full_name":"Wyzebb/PlayerViewDistanceController","owner":"Wyzebb","description":"This plugin makes the maximum view distance of each player highly customisable.","archived":false,"fork":false,"pushed_at":"2025-02-09T12:19:09.000Z","size":30185,"stargazers_count":5,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T13:24:10.917Z","etag":null,"topics":["minecraft","minecraft-admin","minecraft-plugin","paper-plugin","papermc","server-tool"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wyzebb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"wyzebb","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-06-26T17:59:13.000Z","updated_at":"2025-02-09T12:18:07.000Z","dependencies_parsed_at":"2024-07-21T09:42:23.068Z","dependency_job_id":"2aaf7bcf-9df2-46a5-86f3-27d09fecc37f","html_url":"https://github.com/Wyzebb/PlayerViewDistanceController","commit_stats":{"total_commits":106,"total_committers":3,"mean_commits":"35.333333333333336","dds":"0.10377358490566035","last_synced_commit":"471e49f16a97551a87ef6b83bae6fb9873b974cb"},"previous_names":["wyzebb/playerviewdistancecontroller"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wyzebb%2FPlayerViewDistanceController","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wyzebb%2FPlayerViewDistanceController/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wyzebb%2FPlayerViewDistanceController/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wyzebb%2FPlayerViewDistanceController/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wyzebb","download_url":"https://codeload.github.com/Wyzebb/PlayerViewDistanceController/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238301124,"owners_count":19449393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["minecraft","minecraft-admin","minecraft-plugin","paper-plugin","papermc","server-tool"],"created_at":"2024-09-24T13:41:59.193Z","updated_at":"2025-02-11T13:31:49.020Z","avatar_url":"https://github.com/Wyzebb.png","language":"Java","readme":"![Banner](https://i.ibb.co/p1fVk8s/Banner-min.webp)\n\u003cp\u003e\n  \u003ca href=\"https://github.com/Wyzebb/PlayerViewDistanceController\"\u003e\u003cimg alt=\"github\" height=\"56\"\n        src=\"https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/github_vector.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://ko-fi.com/wyzebb\"\u003e\u003cimg alt=\"kofi-singular\" height=\"56\" src=\"https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/donate/kofi-singular_vector.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/akbd8EPSgr\"\u003e\u003cimg alt=\"discord-plural\" height=\"56\" src=\"https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/social/discord-plural_vector.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nThis plugin makes the maximum view distance of each player highly customisable.\n\u003cbr/\u003e\u003cbr/\u003e\nThe customisability of the plugin can make it a little confusing, so please refer to the documentation and flow diagrams and join the Discord if you need help!\n\u003cbr/\u003e\u003cbr/\u003e\n\n## **Features**\n- **Per-player control**: Each player has their own max view distance, which can be set and saved individually by them or by another player (if they have the permissions to do so).\n- **Global control**: Easily set the max view distance of all online players.\n- **Saves data persistently**: Automatically restores player view distances when they connect to the server, even across restarts.\n- **LuckPerms integration**: Max view distances can be set for groups or individual players via Luckperms (LuckPerms is not required).\n- **AFK view restriction**: AFK players can have their views restricted until they next move to improve server performance. This can be completely customised or disabled in the config.\n- **Highly configurable**: Control most features and messages in the plugin (default configs at the bottom of this page!)\n- **Bedrock support**: Full bedrock support and bedrock players can have custom default values.\n- **Very lightweight**: The plugin does not use much CPU or RAM at all and can even greatly improve performance as the server may have to send less chunk data to players!)\n- **Update checker**: As of v2.0.0, an update checker is built-in.\n- **Multi-language support**: All messages are customisable and you can even add your own language by creating a file in the 'lang' folder and referencing that file in config.yml. If you wish, you could make a pull request with any more languages so the plugin can ship with them in the future. The plugin currently ships with English, Russian and Chinese.\n- **PlaceHolderAPI support**: Placeholders are now built in to see if players are AFK and to see a player's current max view distance.\n- **Full console support**: All commands can be executed from the console.\n\n\n\u003cbr/\u003e\n\n## **AFK System**\n- If a player goes AFK, after a certain amount of time, their view distance will be restricted to stop AFK players making the server lag.\n- Restriction distance and the time it takes to consider a player AFK are customisable.\n- There is a bypass permission to stop your view distance being restricted when AFK.\n- Spectator mode players can bypass AFK by default\n- All of the above is customisable in config.yml.\n\n\u003cbr /\u003e\n\n## Base Command: `/pvdc`\n- **Aliases:** `vd`, `viewdistance`\n### Subcommands\n#### - `set`\n- **Usage:** `/pvdc set \u003cchunks\u003e [player]`\n- Sets the maximum view distance of yourself or another online player\n- You can do `/pvdc \u003cchunks\u003e` as a shortcut as of v2.1.0\n\n#### - `setonline`\n- **Usage:** `/pvdc setonline \u003cchunks\u003e`\n- Sets the maximum view distance of all online players\n\n#### - `get`\n- **Usage:** `/pvdc get [player]`\n- Get your own max view distance or the max view distance of another player\n\n#### - `reset`\n- **Usage:** `/pvdc reset [player]`\n- Resets a player's max view distance to the max (or the max allowed by LuckPerms permissions if installed!)\n\n#### - `reload`\n- **Usage:** `/pvdc reload`\n- Reloads config.yml (restart server to apply changes to custom messages and the AFK system!)\n\n#### - `help`\n- **Usage:** `/pvdc help`\n- Displays the plugin help message\n\n\u003cbr/\u003e\n\n## **Permissions**\n- Set your own max view distance: `pvdc.set-self`\n- Set the max view distance of other players: `pvdc.set-others`\n- Permission-based max view distance via LuckPerms: `pvdc.maxdistance.\u003cchunks\u003e`\n- Global view distance: `pvdc.setonline`\n- Reload plugin config: `pvdc.reload`\n- Get the max view distance of another player: `pvdc.get-others`\n- Get your own max view distance: `pvdc.get-self`\n- Reset your max view distance to the max (or the max allowed by LuckPerms permissions if installed!): `pvdc.reset-self`\n- Reset a player's max view distance to the max (or the max allowed by LuckPerms permissions if installed!): `pvdc.reset-others`\n- Bypass any maxdistance permissions assigned to you: `pvdc.bypass-maxdistance`\n- Bypass afk checks: `pvdc.bypass-afk`\n\n\u003cbr /\u003e\n\n- All permissions are granted to ops by default\n- `pvdc.get-self` is granted to all players by default\n\n\u003cbr /\u003e\n\n## **How max view distance is calculated**\n\n![JOIN](https://i.ibb.co/hVx5hCk/Join-dec-tree.png)\n![COMMAND](https://i.ibb.co/gw0LnYc/Main-dec-tree.png)\n\n## **Default Configs**\n\n\u003cdetails style=\"font-size:1rem\"\u003e\n\u003csummary\u003econfig.yml\u003c/summary\u003e\n\n```yaml\nlanguage: en_US\ncolour: \"§e§l(!) §e\"\nerror-colour: \"§c§l(!) §c\"\nsuccess-colour: \"§a§l(!) §a\"\n\n# Default view distance for anyone who joins the server (Must be between 2 and 32)\ndefault-distance: 32\nbedrock-default-distance: 32\n\n# Maximum view distance for anyone (Cannot exceed 32)\nmax-distance: 32\n\n# Minimum view distance for anyone (Cannot be less than 2)\nmin-distance: 2\n\n# Display a message when a player joins telling them what their view distance is set to\ndisplay-msg-on-join: true\n\n# Display a message when a player joins telling them what their view distance is set to, when it is the default or maximum\ndisplay-max-join-msg: false\n\n# If chunks loaded will be limited for AFK players\nafk-chunk-limiter: true\n\n# After how many seconds the plugin will consider a player AFK\nafkTime: 20\n\n# The view distance of an AFK player\nafkChunks: 2\n\n# Whether players in spectator mode bypass AFK checks\nspectators-can-afk: true\n\nupdate-checker-enabled: true\n```\n\u003c/details\u003e\n\n\u003cbr /\u003e\n\n\u003cdetails style=\"font-size:1rem\"\u003e\n\u003csummary\u003een_US.yml\u003c/summary\u003e\n\n```yaml\nmessages:\n  join: \"Your maximum view distance is currently set to {chunks} chunks\"\n\n  player-offline: \"That player is not online!\"\n  no-permission: \"You do not have permission to execute this command!\"\n\n  # The message displayed when there are not enough arguments or the arguments are invalid\n  incorrect-args: \"Incorrect arguments - Use /pvdc help for help\"\n\n  afk: \"You're AFK, so your view distance has been restricted to {chunks} chunks!\"\n  afk-return: \"Your view distance has returned to normal!\"\n\n  chunks-too-high: \"You can only set your view distance to a value less than or equal to {chunks} chunks!\"\n\n  self-view-distance-change: \"You changed your maximum view distance to {chunks} chunks\"\n\n  # The message displayed for the command sender when they change someone else's maximum view distance\n  sender-view-distance-change: \"{target-player}'s maximum view distance was changed to {chunks} chunks\"\n\n  # The message displayed for a player when their maximum view distance has been changed\n  target-view-distance-change: \"Your maximum view distance has been changed to {chunks} chunks\"\n\n  reset: \"You reset {target-player}'s saved view distance!\"\n  self-reset: \"You reset your saved view distance!\"\n\n  reload-config: \"The PVDC config files have been successfully reloaded\"\n\n  all-online-change: \"The maximum view distance of all online players has been set to {chunks} chunks\"\n\n  view-distance-get: \"{target-player}'s maximum view distance is currently set to {chunks} chunks\"\n  self-view-distance-get: \"Your maximum view distance is currently set to {chunks} chunks\"\n\n\ncommands:\n  get: \"Displays a player's max view distance\"\n  help: \"Displays the plugin's help message\"\n  reload: \"Reload the plugin's config.yml\"\n  reset: \"Resets a player's max view distance\"\n  set: \"Set your own max view distance or the max view distance of another player\"\n  setonline: \"Sets the max view distance of all online players\"\n```\n\u003c/details\u003e\n","funding_links":["https://ko-fi.com/wyzebb"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyzebb%2Fplayerviewdistancecontroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwyzebb%2Fplayerviewdistancecontroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyzebb%2Fplayerviewdistancecontroller/lists"}